拉取主分支

ywj_dev
CTP 2 years ago
commit 6f47023516

@ -13,12 +13,21 @@ export function getBasicHospType(query) {
export function getListMenu(query) {
return axios({
url: "/udiwms/basic/hosp/type/menuList",
method: "post",
data: query
});
}
export function getOneName(query) {
return axios({
url: "/udiwms/basic/hosp/type/getOneName",
method: "get",
params: query
});
}
export function saveBasicHospType(query) {
return axios({
url: "/udiwms/basic/hosp/type/save",

@ -505,3 +505,11 @@ export function updateOrderDetailBiz(params) {
});
}
export function orderDetailAdd(params) {
return axios({
url: "/inv/inner/order/orderDetailAdd",
method: "post",
data: params
});
}

@ -43,3 +43,12 @@ export function updateConfig(query) {
});
}
export function infoByStatus(query) {
return axios({
url: "/spssync/basic/udiinfo/infoByStatus",
method: "post",
data: query,
responseType: 'blob'
});
}

@ -86,7 +86,7 @@ service.interceptors.response.use(res => {
if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
return res.data
}
if (code === 401) {
if (code === 2) {
if (!isRelogin.show) {
isRelogin.show = true;
MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {

@ -152,7 +152,7 @@
</el-table-column>
<el-table-column label="价格" prop="price"></el-table-column>
<el-table-column label="生产企业" prop="ylqxzcrbarmc"></el-table-column>
<el-table-column label="注册/备案号" prop="zczbhhzbapzbh"></el-table-column>
<el-table-column label="注册/备案号" prop="certCode"></el-table-column>
</el-table>
<pagination

@ -0,0 +1,546 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" label-width="100px" v-show="showSearch">
<el-row style="width: 100%">
<el-col :span="8">
<el-form-item label="单号:">
<el-input v-model="query.billNo" style="width: 90%" placeholder="请输入单号" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="打印状态:" prop="inCodeStatus" clearable>
<el-select v-model="query.inCodeStatus" style="width: 90%">
<el-option label="未打印" :value="0"></el-option>
<el-option label="已打印" :value="1"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="8">-->
<!-- <el-form-item label="送货单位:">-->
<!-- <el-input v-model="query.corpName" style="width: 90%" placeholder="请输入送货单位" clearable></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-form-item class="query-form-item" label="单据类型:">
<el-select v-model="query.action" placeholder="请选择单据类型"
style="width: 90%"
clearable>
<el-option
v-for="item in busTypes"
:key="item.name"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="单据状态:">
<el-select v-model="query.status" placeholder="请选择单据状态" style="width: 90%">
<el-option label="草稿" :value=1>草稿</el-option>
<el-option label="待校验" :value=3>待校验</el-option>
<el-option label="待核对" :value=5>待核对</el-option>
<el-option label="待审核" :value=10>待审核</el-option>
<el-option label="已审核" :value=7>已审核</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="创建时间:">
<el-date-picker
:picker-options="pickerOptions"
v-model="actDateRange"
type="daterange"
format="yyyy 年 MM 月 dd 日"
style="width: 90%"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="top-right-btn">
<el-button-group style="display:flex;">
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"></el-button>
<el-button type="primary" icon="el-icon-search" @click="combine"></el-button>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%;" border highlight-current-row
@row-click="getStockOrderDetailList" ref="multipleTable">
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="单据号" prop="billNo" width="140" show-overflow-tooltip></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="120">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" width="150"></el-table-column>
<el-table-column label="打印状态" width="100" prop="inCodeStatus">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.inCodeStatus] }}</span>
</template>
</el-table-column>
<el-table-column label="采购部门" prop="deptName" width="120">
</el-table-column>
<el-table-column label="收货仓库" prop="invName" width="150">
</el-table-column>
<el-table-column label="单据来源" prop="fromType" width="120">
<template slot-scope="scope">
<span>{{ sourceMap[scope.row.fromType] }}</span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:limit.sync="query.limit"
:page.sync="query.page"
@pagination="handleCurrentChange"
></pagination>
</el-card>
<el-card class="el-card">
<el-table v-loading="detailLoading" :data="detailList" style="width: 100%" border>
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="物资名称" prop="coName"></el-table-column>
<el-table-column label="规格型号" prop="spec"></el-table-column>
<el-table-column label="批次号" prop="batchNo"></el-table-column>
<el-table-column label="单据数量" prop="count"></el-table-column>
<!-- <el-table-column label="实际数量" prop="scanCount"></el-table-column>-->
<el-table-column label="生产日期" prop="productDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.productDate) }}</span>
</template>
</el-table-column>
<el-table-column label="失效日期" prop="expireDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.expireDate) }}</span>
</template>
</el-table-column>
<el-table-column label="价格" prop="price"></el-table-column>
<el-table-column label="生产企业" prop="ylqxzcrbarmc"></el-table-column>
<el-table-column label="注册/备案号" prop="zczbhhzbapzbh"></el-table-column>
</el-table>
<pagination
v-show="detailTotal>0"
:total="detailTotal"
:limit.sync="detailQuery.limit"
:page.sync="detailQuery.page"
@pagination="detailHandleCurrentChange"
></pagination>
</el-card>
<!-- <el-dialog-->
<!-- title="内部码管理"-->
<!-- :visible.sync="qrcodeDetailVisible"-->
<!-- :close-on-click-modal="false"-->
<!-- :close-on-press-escape="false"-->
<!-- width="70%"-->
<!-- append-to-body-->
<!-- v-if="qrcodeDetailVisible"-->
<!-- @close='closeQRCodeDetailDialog'-->
<!-- >-->
<!-- <stockOrderQRCodeDetail-->
<!-- :closeDialog="closeQRCodeDetailDialog"-->
<!-- :idQuery="idQuery"-->
<!-- ></stockOrderQRCodeDetail>-->
<!-- </el-dialog>-->
</div>
</template>
<script>
import {
stockorderQuery, stockOrderDetail, deleteStockOrderById, deleteStockOrderDetailById,
copyStockOrderDetail, submitStockOrder,
uploadStockOrderDetail, uploadStockOrderDetailCount,
generateStockOrderQRCodeText
} from "@/api/inout/stockOrder";
import stockOrderDistribution from "./stockOrderDistribution";
import stockOrderQRCodeDetail from "./stockOrderQRCodeDetail";
import stockQRCodeExport from "./stockQRCodeExport";
import draggable from "vuedraggable";
import {inspectionStockOrderPDFFromTemplateFile, stockOrderPDFFromTemplateFile} from "@/api/itextpdf/itextpdf";
import store from "@/store";
import {getLocalJoinBusType} from "@/api/basic/busLocalType";
import {filterAll, filterAllByUser} from "@/api/system/invWarehouse";
import {filterSubByInv, findInvByUser} from '@/api/system/invSubWarehouse'
import {convertDate} from "@/utils/date"
import { filterOrder, orderDetailAdd } from '@/api/inout/order'
import {getLocalJoinByUser} from "@/api/basic/busType";
export default {
name: "stockOrder",
props: {
data: {
type: Object,
required: true,
},
closeDialog: {
type: Function,
required: true,
},
purType: {
type: Object,
required: true,
},
pId: {
type: Object,
required: true,
},
billNo: {
type: Object,
required: true,
},
},
data() {
return {
showSearch: true,
convertDateFun: convertDate,
query: {
billType: null,
corpName: null,
locStorageCode: this.$store.getters.locInvCode,
invWarehouseCode: this.$store.getters.locSubInvCode,
billNo: "",
status: "",
action: null,
statusType: "supInCode",
page: 1,
limit: 10,
startTime: "",
endTime: "",
inCodeStatus: 1,
},
detailQuery: {
orderIdFk: "",
page: 1,
limit: 20
},
isSp: store.getters.customerId,
storageList: [],
subInvList: [],
busTypes: [],
list: [],
orderQuery:[],
detailList: [],
total: 0,
detailTotal: 0,
loading: false,
detailLoading: false,
enableMap: {
1: "已打印",
0: "未打印",
},
sourceMap: {
"1": "UDIMS平台",
"2": "网页新增",
"3": "pda已校验",
"4": "pda未校验",
"5": "pc端扫码精灵",
"6": "单据流转",
"7": "供应商平台",
"8": "平衡补单",
"9": "单据验收直接补单",
"10": "单据复制",
"11": "盘点单据转单",
"12": "申购计划转单",
"13": "领用单据转单",
"14": "第三方单据转单",
},
idQuery: {
id: "",
filterUDIType: null,
},
distributionVisible: false,
detailFormRules: {
batchNo: [
{required: true, message: "请输入批次号", trigger: "blur"}
],
productDate: [
{required: true, message: "请输入生产日期", trigger: "blur"}
],
expireDate: [
{required: true, message: "请输入失效日期", trigger: "blur"}
],
sweepCount: [
{required: true, message: "请输入扫码数量", trigger: "blur"}
]
},
detailFormVisible: false,
detailFormData: {},
detailFormLoading: false,
haveDistributionVisible: true,
qrcodeDetailVisible: false,
qrcodeExportVisible: false,
filterUDIType: true,
actDateRange: [],
auditDateRange: [],
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
}
},
methods: {
onReset() {
this.$router.push({
path: ""
});
this.query = {
billType: null,
corpName: null,
locStorageCode: this.$store.getters.locInvCode,
invWarehouseCode: this.$store.getters.locSubInvCode,
billNo: "",
status: "",
action: null,
statusType: "supInCode",
page: 1,
limit: 10,
startTime: "",
endTime: "",
inCodeStatus: 1,
};
this.getList();
this.haveDistributionVisible = true;
this.actDateRange = [];
},
hideSearch() {
this.showSearch = !this.showSearch;
},
onSubmit() {
this.query.page = 1;
if (this.actDateRange !== null) {
this.query.startTime = this.actDateRange[0];
this.query.endTime = this.actDateRange[1];
} else {
this.query.startTime = null;
this.query.endTime = null;
}
if (this.auditDateRange !== null) {
this.query.startAduditTime = this.auditDateRange[0];
this.query.endAduditTime = this.auditDateRange[1];
} else {
this.query.startAduditTime = null;
this.query.endAduditTime = null;
}
this.getList();
this.haveDistributionVisible = true;
},
handleCurrentChange(val) {
this.query.page = val.page;
this.getList();
},
detailHandleCurrentChange(val) {
this.detailQuery.page = val.page;
this.getStockOrderDetailList();
},
//
resetForm() {
if (this.$refs["dataForm"]) {
//
this.$refs["dataForm"].clearValidate();
//
this.$refs["dataForm"].resetFields();
this.getList();
}
},
getList() {
this.loading = true;
this.orderQuery=[];
this.query.corpId = store.getters.customerId;
if (this.actDateRange !== null) {
this.query.startTime = this.actDateRange[0];
this.query.endTime = this.actDateRange[1];
} else {
this.query.startTime = null;
this.query.endTime = null;
}
this.query.vueType = "supDelivery";
filterOrder(this.query)
.then(response => {
this.loading = false;
if (response.code == 20000) {
this.list = response.data.list || [];
this.total = response.data.total || 0;
this.detailList = [];
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.list = [];
this.detailList = [];
this.total = 0;
});
},
combine(){
if(this.orderQuery==null && this.orderQuery.length==0){
this.$message.error("请先选择单据!")
return;
}
var query={
orderIdFk:this.billNo,
billNo:this.orderQuery.billNo
}
orderDetailAdd(query).then(response =>{
if (response.code == 20000) {
this.closeDialog();
}
})
},
qrcodeDetail(row) {
this.idQuery.id = '';
if (this.$isNotBlank(row.id)) {
this.idQuery.id = row.id;
this.idQuery.formData = row;
this.idQuery.filterUDIType = this.filterUDIType;
this.qrcodeDetailVisible = true;
}
},
closeQRCodeDetailDialog() {
this.qrcodeDetailVisible = false;
this.getList();
},
getStockOrderDetailList(row) {
if (this.$isNotBlank(row)) {
this.detailQuery.orderIdFk = row.billNo;
this.orderQuery=row;
}
this.detailLoading = true;
stockOrderDetail(this.detailQuery)
.then((response) => {
this.detailLoading = false;
this.detailList = response.data.list || [];
this.detailTotal = response.data.total;
})
.catch(() => {
this.detailLoading = false;
this.detailList = [];
});
},
getBusType() {
let query = {
enabled: true,
vueType: "supDelivery",
};
getLocalJoinByUser(query)
.then((response) => {
this.busTypes = response.data.list || [];
this.filterQuery.action = this.busTypes[0].action;
// this.getList();
})
.catch(() => {
});
},
getSubInvList() {
findInvByUser()
.then((response) => {
this.subInvList = response.data || [];
})
.catch(() => {
});
},
subInvChange() {
this.getBusType();
},
},
components: {
draggable,
stockOrderDistribution,
stockOrderQRCodeDetail,
stockQRCodeExport,
},
filters: {
statusFilterType(status) {
const statusMap = {
0: "gray",
1: "success"
};
return statusMap[status];
},
statusFilterName(status) {
const statusMap = {
"1": "草稿",
"2": "未配货",
"3": "待校验",
};
return statusMap[status];
},
typeFilterName(type) {
const typeMap = {
1: "预入库",
2: "普通采购",
};
return typeMap[type];
}
},
created() {
//
this.getSubInvList();
this.getBusType();
this.getList();
}
}
</script>
<style scoped>
</style>

@ -113,6 +113,12 @@
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="创建时间"
prop="createTime"
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="生产日期"
prop="produceDate"
@ -331,7 +337,7 @@ export default {
return !row.check;
},
handleCurrentChange(val) {
this.unionQuery.page = val;
this.unionQuery.page = val.page;
this.getList();
},
tableRowClassName({row, rowIndex}) {

@ -140,7 +140,7 @@
<el-table-column label="物资名称" prop="cpmctymc" width="160" show-overflow-tooltip></el-table-column>
<el-table-column label="规格型号" prop="ggxh" width="160" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案号" prop="zczbhhzbapzbh" width="160" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="ylqxzcrbarmc" width="180" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案人" prop="ylqxzcrbarmc" width="180" show-overflow-tooltip></el-table-column>
<el-table-column label="集采状态" prop="groupBuy" width="120" show-overflow-tooltip>
<template slot-scope="scope">
<el-tag :type="(scope.row.groupBuy) | statusFilterType">

@ -578,7 +578,7 @@ import ProductSingleEdit from "@/views/basic/product/productSingleEdit";
import selectErp from "./udiInfoselectErpUdi";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import Treeselect from "@riophae/vue-treeselect";
import {getListMenu} from "@/api/basic/basicHospType";
import { getListMenu, getOneName } from '@/api/basic/basicHospType'
export default {
@ -849,12 +849,15 @@ export default {
}
},
getTreeselect() {
getListMenu().then(response => {
this.fromDeptOptions = [];
const menu = {id: 0, name: '主类目', children: []};
menu.children = this.handleTree(response.data, "code", "parentCode");
this.fromDeptOptions.push(menu);
});
getOneName().then(res =>{
const menu = {id: res.data.id,code:res.data.code, name: res.data.name, children: []};
getListMenu({}).then(response => {
this.fromDeptOptions = [];
menu.children = this.handleTree(response.data,"code", "parentCode");
console.log(menu)
this.fromDeptOptions.push(menu);
});
})
},
/** 转换菜单数据结构 */
normalizer(node) {

@ -32,7 +32,7 @@
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="text" @click="handleSubForm( scope.row, 'add')">新增</el-button>
<el-button type="text" v-if="scope.row.code!=10000" @click.native.stop="handleSubForm( scope.row, 'edit')"></el-button>
<el-button type="text" @click.native.stop="handleSubForm( scope.row, 'edit')">编辑</el-button>
<el-button type="text" v-if="scope.row.code!=10000" @click.native.stop="handleDelInv(scope.row)"></el-button>
<el-button type="text" v-if="scope.row.code!=10000" @click.native.stop="addHospProduct( scope.row)"></el-button>
<el-button type="text" v-if="scope.row.code!=10000" @click.native.stop="removeHospProduct(scope.row)"></el-button>
@ -54,10 +54,11 @@
<el-col :span="12" class="el-col">
<el-form-item label="上级菜单" prop="parentCode">
<treeselect
:disabled="formName=='add'"
:disabled="formName=='add' || subData.code==10000"
v-model="subData.parentCode"
:options="fromDeptOptions"
:normalizer="normalizer"
:clearable = "false"
:show-count="true"
placeholder="选择上级菜单"
/>
@ -133,7 +134,7 @@
<script>
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import Treeselect from "@riophae/vue-treeselect";
import {getBasicHospType, getListMenu, saveBasicHospType,uodateBasicHospType,deleteBasicHospType} from "@/api/basic/basicHospType";
import {getBasicHospType, getListMenu, saveBasicHospType,uodateBasicHospType,deleteBasicHospType,getOneName} from "@/api/basic/basicHospType";
import selectHospProduct from "@/views/basic/product/bindHospProduct";
import selectUnBindHospProduct from "@/views/basic/product/unbindHospProduct";
@ -226,7 +227,7 @@ export default {
parentCode:JSON.parse(JSON.stringify(data)).code
};
}
this.getTreeselect();
this.getTreeselect(data);
this.subFormVisible = true;
},
@ -248,7 +249,7 @@ export default {
},
forInvSubmit() { // ---
if(this.subData.parentCode==null){
if(this.subData.code!=10000 && this.subData.parentCode==null){
this.$message.error("上级菜单不能为空");
return
}
@ -282,13 +283,23 @@ export default {
},
/** 查询菜单下拉树结构 */
getTreeselect() {
getListMenu().then(response => {
this.fromDeptOptions = [];
const menu = {id: 0, name: '主类目', children: []};
menu.children = this.handleTree(response.data,"code", "parentCode");
this.fromDeptOptions.push(menu);
});
getTreeselect(row) {
debugger
if(row!=null){
var data={
code:row.code,
type:1
}
}
getOneName().then(res =>{
const menu = {id: res.data.id,code:res.data.code, name: res.data.name, children: []};
getListMenu(data).then(response => {
this.fromDeptOptions = [];
menu.children = this.handleTree(response.data,"code", "parentCode");
console.log(menu)
this.fromDeptOptions.push(menu);
});
})
},
/** 转换菜单数据结构 */
normalizer(node) {

@ -690,7 +690,6 @@ export default {
}
this.filterQuery.page = 1;
this.filterQuery.supInoivceSearch=null;
this.getList();
},
hideSearch() {
@ -738,7 +737,7 @@ export default {
getBusType() {
let query = {
code: this.filterQuery.invCode,
enabled: true,
enable: true,
vueType: "supInvoice",
};
getLocalJoinByUser(query)

@ -3,7 +3,7 @@
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-row>
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="送货单号:">
<el-input v-model="filterQuery.billNo" placeholder="请输入送货单号"
style="width: 90%"
@ -11,17 +11,8 @@
</el-form-item>
</el-col>
<!-- <el-col :span="6">-->
<!-- <el-form-item class="query-form-item" label="出入库类型:">-->
<!-- <el-select v-model="filterQuery.mainAction" placeholder="请选择出入库类型" style="width: 90%">-->
<!-- <el-option label="全部" value=""></el-option>-->
<!-- <el-option label="入库" value="WareHouseIn"></el-option>-->
<!-- <el-option label="出库" value="WareHouseOut"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="收货仓库:">
<el-select v-model="filterQuery.invCode" placeholder="请选择收货仓库" clearable="true"
style="width: 90%"
@ -37,9 +28,17 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="出入库类型:">
<el-select v-model="filterQuery.mainAction" placeholder="请选择出入库类型" style="width: 90%">
<el-option label="全部" value=""></el-option>
<el-option label="入库" value="WareHouseIn"></el-option>
<el-option label="出库" value="WareHouseOut"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="单据类型:">
<el-select v-model="filterQuery.action" placeholder="请选择单据类型"
style="width: 90%"
@ -56,8 +55,16 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="单据来源:">
<el-select v-model="filterQuery.sourceLocalType" placeholder="请选择单据来源" style="width: 90%">
<el-option label="全部" value=""></el-option>
<el-option label="手工建单" value="1"></el-option>
<el-option label="自动建单" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="往来单位:">
<el-select
v-model="filterQuery.fromCorp"
@ -92,7 +99,7 @@
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="创建时间:">
<el-date-picker
:picker-options="pickerOptions"
@ -109,7 +116,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="审核时间:">
<el-date-picker
:picker-options="pickerOptions"
@ -564,6 +571,7 @@ export default {
startTime: null,
endTime: null,
invCode: this.$store.getters.locInvCode,
sourceLocalType: "1",
},
corpLoading: false,
@ -700,6 +708,7 @@ export default {
status: null,
limit: 10,
startTime: null,
sourceLocalType: "1",
endTime: null,
invCode: this.$store.getters.locInvCode,
};

@ -3,7 +3,7 @@
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-row>
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="单号:">
<el-input v-model="filterQuery.billNo" placeholder="单号"
style="width: 90%"
@ -25,7 +25,7 @@
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="收货仓库:">
<el-select v-model="filterQuery.invCode" placeholder="请选择收货仓库" clearable="true"
style="width: 90%"
@ -41,7 +41,16 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="出入库类型:">
<el-select v-model="filterQuery.mainAction" placeholder="请选择出入库类型" style="width: 90%">
<el-option label="全部" value=""></el-option>
<el-option label="入库" value="WareHouseIn"></el-option>
<el-option label="出库" value="WareHouseOut"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="单据类型:">
<el-select v-model="filterQuery.action" placeholder="请选择单据类型"
style="width: 90%"
@ -58,7 +67,16 @@
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="单据来源:">
<el-select v-model="filterQuery.sourceLocalType" placeholder="请选择单据来源" style="width: 90%">
<el-option label="全部" value=""></el-option>
<el-option label="手工建单" value="1"></el-option>
<el-option label="自动建单" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="创建时间:">
<el-date-picker
:picker-options="pickerOptions"
@ -74,7 +92,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item class="query-form-item" label="审核时间:">
<el-date-picker
:picker-options="pickerOptions"
@ -430,6 +448,7 @@ export default {
startTime: null,
endTime: null,
invCode: this.$store.getters.locInvCode,
sourceLocalType: "1",
},
reviceStatus: {
@ -561,9 +580,11 @@ export default {
startTime: null,
endTime: null,
invCode: this.$store.getters.locInvCode,
sourceLocalType: "1",
};
this.actDateRange=[];
this.auditDateRange=[];
this.actDateRange = [];
this.auditDateRange = [];
this.getList();
},
onSubmit() {
@ -603,7 +624,7 @@ export default {
});
},
handleSelectionChange(val) {
this.currentRow.billNo=val.billNo;
this.currentRow.billNo = val.billNo;
this.getOrderDetails();
},
//

@ -58,7 +58,7 @@
</el-button-group>
</el-form-item>
</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="UDI码"

@ -142,10 +142,10 @@
<el-table-column label="物资名称" prop="cpmctymc" width="180"></el-table-column>
<el-table-column label="规格型号" prop="ggxh" width="180" show-overflow-tooltip></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="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"></el-table-column>
<el-table-column label="生产企业" prop="ylqxzcrbarmc" v-if="showSup" show-overflow-tooltip
width="180"></el-table-column>

@ -40,7 +40,7 @@
</el-descriptions-item>
</el-descriptions>
<el-form :inline="true" :model="invPreProductDetailQuery" style="margin-top: 10px;" size="mini">
<el-form :inline="true" :model="invPreProductDetailQuery" style="margin-top: 10px;" size="mini" border>
<el-form-item class="query-form-item" label="UDI码:">
<el-input v-model="invPreProductDetailQuery.code"
placeholder="请输入UDI码查询"

@ -73,6 +73,34 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="供应商名称:" v-if="showSup">
<el-select
v-model="filterQuery.supId"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请选择供应商名称"
:remote-method="findMethod"
size="mini"
:loading="corpLoading"
@change="corpChange"
style="width: 90%"
>
<el-option
v-for="item in fromOptions"
:key="item.name"
:label="item.name"
:value="item.erpId"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="top-right-btn">
@ -158,7 +186,7 @@ import {getInvListByUser} from "@/api/system/invWarehouse";
import {getInvPreInProduct, deleteInvPreInProduct} from "@/api/inventory/invPreInSearch";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {isBlank} from "@/utils/strUtil";
import invPreProductsDetail from "@/views/inventory/InvPreProductsDetail.vue";
import invPreProductsDetail from "@/views/inventory/InvPreInProductsDetail.vue";
export default {
name: "InvPreProducts",
@ -173,7 +201,7 @@ export default {
supId: null,
zczbhhzbapzbh: null,
ylqxzcrbarmc: null,
invCode: this.$store.getters.locInvCode,
invCode: null,
page: 1,
limit: 10,
},
@ -217,9 +245,9 @@ export default {
supId: null,
zczbhhzbapzbh: null,
ylqxzcrbarmc: null,
invCode: this.$store.getters.locInvCode,
page: 1,
limit: 10,
invCode: null,
};
this.getList();
},
@ -246,7 +274,7 @@ export default {
getList() {
this.loading = true;
this.filterQuery.supId = this.$store.getters.customerId;
// this.filterQuery.supId = this.$store.getters.customerId;
getInvPreInProduct(this.filterQuery).then((res) => {
this.loading = false;
if (res.code === 20000) {
@ -266,7 +294,7 @@ export default {
},
getInvList() {
let query = {
advanceType: true,
advanceType: 2,
};
getInvListByUser(query)
.then((response) => {

@ -73,6 +73,33 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="供应商名称:" v-if="showSup">
<el-select
v-model="filterQuery.supId"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请选择供应商名称"
:remote-method="findMethod"
size="mini"
:loading="corpLoading"
@change="corpChange"
style="width: 90%"
>
<el-option
v-for="item in fromOptions"
:key="item.name"
:label="item.name"
:value="item.erpId"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="top-right-btn">
@ -217,7 +244,7 @@ export default {
supId: null,
zczbhhzbapzbh: null,
ylqxzcrbarmc: null,
invCode: this.$store.getters.locInvCode,
invCode: null,
page: 1,
limit: 10,
};
@ -246,7 +273,7 @@ export default {
getList() {
this.loading = true;
this.filterQuery.supId = this.$store.getters.customerId;
// this.filterQuery.supId = this.$store.getters.customerId;
getInvPreProduct(this.filterQuery).then((res) => {
this.loading = false;
if (res.code === 20000) {
@ -266,7 +293,7 @@ export default {
},
getInvList() {
let query = {
advanceType: true,
advanceType: 3, //123
};
getInvListByUser(query)
.then((response) => {

@ -74,7 +74,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="供应商名称:">
<el-form-item class="query-form-item" label="供应商名称:" v-if="showSup">
<el-select
v-model="filterQuery.supId"
filterable

@ -273,7 +273,7 @@ export default {
getOrderQRCodeTextList() {
this.loading = true;
filterPrint({sOrderId :this.query.orderIdFk}) //
filterPrint({sOrderId :this.query.sOrderId}) //
.then((response) => {
console.log(response)
this.codeArray = response.data.list || [];
@ -378,7 +378,7 @@ export default {
type: "warning",
}).then(() => {
this.loading = true;
generateInnerQRCodeText({orderIdFk: this.formData.id})
generateInnerQRCodeText({orderIdFk: this.formData.recordKey})
.then(response => {
this.loading = false;
if (response.code === 20000) {
@ -427,8 +427,9 @@ export default {
if (this.$isNotBlank(this.inQuery.id)) {
this.formData = this.inQuery.formData;
this.query.orderId = this.inQuery.id;
this.query.orderIdFk = this.formData.id;
this.query.orderIdFk = this.formData.recordKey;
this.query.sOrderId = this.inQuery.id;
console.log(this.query)
this.getOrderQRCodeTextList();
}
},

@ -41,19 +41,19 @@
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="创建人" prop="createUser"></el-table-column>
<el-table-column label="创建人" prop="createByName"></el-table-column>
<el-table-column label="备注说明" prop="remark"></el-table-column>
<el-table-column label="打印状态" prop="printStatus">
<template slot-scope="scope">
<el-tag :type="(scope.row.status) | statusFilterType">
{{ statusPrintMap[scope.row.status] }}
<el-tag :type="(scope.row.genStatus) | statusFilterType">
{{ statusPrintMap[scope.row.genStatus] }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click.native="newDistributionForm(scope.$index, scope.row)">编辑
<el-button type="text" size="small" @click.native.stop="newDistributionForm(scope.$index, scope.row)">编辑
</el-button>
<el-button type="text" size="small" @click.native="printQRCodeText(scope.row)">打印</el-button>
<el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)">删除</el-button>
@ -239,7 +239,7 @@ export default {
});
},
handleDetail(row) {
let query = {orderIdFk: row.id};
let query = {orderIdFk: row.recordKey};
this.loading = true;
listInnerOrderDetail(query) //
.then((response) => {

@ -108,6 +108,7 @@
:closeDialog="closeDialogC2"
:data="thisData"
:pId="pId"
:billNo="billNo"
:filterType="2"
></stockOrderNewSelectProduct>
</el-dialog>
@ -123,6 +124,11 @@
:append-to-body='true'
>
<stockOrder
:closeDialog="closeDialogC2"
:data="thisData"
:pId="pId"
:billNo="billNo"
:filterType="2"
></stockOrder>
</el-dialog>
</div>
@ -131,7 +137,7 @@
<script>
import draggable from "vuedraggable";
import stockOrderNewSelectProduct from "@/views/inventory/inner/innerOrderSelectProduct";
import stockOrder from "@/views/basic/business/stockOrder";
import stockOrder from "@/views/basic/business/stockOrderPrint";
import {
inserThrOrderWeb,
delInnerOrderDetail,
@ -173,6 +179,7 @@ export default {
codeArray: [],
total: 0,
pId:null,
billNo:null,
loading: false,
index: null,
formLoading: false,
@ -278,15 +285,39 @@ export default {
this.selectedIndex = "";
},
stockOrderList(){
debugger
if(this.query.id==null) {
inserThrOrderWeb({innerOrderEntity: this.formData,editStatus:1})
.then(response => {
this.loading = false;
if (response.code === 20000) {
this.pId=response.data.id;
this.billNo=response.data.recordKey;
this.formData.billNo=response.data.recordKey;
this.formData.recordKey=response.data.recordKey;
this.formData.id=this.pId
} else {
}
})
.catch(() => {
this.loading = false;
})
}
this.haveDistributionVisible = true;
},
selectProductFunction() {
debugger
if(this.query.id==null) {
inserThrOrderWeb({innerOrderEntity: this.formData,editStatus:1})
.then(response => {
this.loading = false;
if (response.code === 20000) {
this.pId=response.data;
this.pId=response.data.id;
this.billNo=response.data.recordKey;
this.formData.billNo=response.data.recordKey;
this.formData.recordKey=response.data.recordKey;
this.formData.id=this.pId
} else {
@ -301,6 +332,7 @@ export default {
},
closeDialogC2(rData) {
this.selectProductVisible = false;
this.haveDistributionVisible = false;
this.getStockOrderDetailList();
},
rowChange(val) {
@ -366,7 +398,7 @@ export default {
},
getStockOrderDetailList() {
this.loading = true;
listInnerOrderDetail({orderIdFk:this.formData.id}) //
listInnerOrderDetail({orderIdFk:this.formData.billNo}) //
.then((response) => {
this.codeArray = response.data.list || [];
this.total = response.data.total || 0;

@ -148,6 +148,10 @@ export default {
type: Object,
required: true,
},
billNo: {
type: Object,
required: true,
},
},
data() {
@ -335,7 +339,7 @@ export default {
productId: this.multipleSelection.rlId,
productName: this.multipleSelection.cpmctymc,
count: 1,
orderIdFk: this.pId,
orderIdFk: this.billNo,
supId: this.multipleSelection.customerId,
zczbhhzbapzbh: this.multipleSelection.zczbhhzbapzbh
};

@ -6,11 +6,12 @@
<el-descriptions class="margin-top" :column="1" :size="100" border>
<template slot="extra">
<el-button type="primary" size="small" @click="saveConfig()"
>保存</el-button
>保存
</el-button
>
</template>
<el-descriptions-item>
<template slot="label"> 同步服务 </template>
<template slot="label"> 同步服务</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="6" class="el-col">
<el-switch
@ -22,7 +23,7 @@
<el-col :span="14" class="el-col">
<div>
<span style="color: red"
>说明:&nbsp;修改同步参数时,请关闭数据同步服务
>说明:&nbsp;修改同步参数时,请关闭数据同步服务
</span>
</div>
</el-col>
@ -30,7 +31,7 @@
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 地址设置 </template>
<template slot="label"> 地址设置</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="20" class="el-col">
@ -50,7 +51,7 @@
style="margin-left: 20px"
:disabled="configQuery.downstreamEnable"
:loading="testLoading"
>测试连通
>测试连通
</el-button>
</div>
</el-col>
@ -63,7 +64,7 @@
<el-descriptions class="margin-top" :column="1" :size="100" border>
<!-- 参数设置 -->
<el-descriptions-item>
<template slot="label"> 参数设置 </template>
<template slot="label"> 参数设置</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="20" class="el-col">
<div>
@ -77,7 +78,7 @@
splaceholder="请输入内容"
></el-input>
<span style="margin-left: 30px"
>延时上传(单位:分钟):&nbsp;</span
>延时上传(单位:分钟):&nbsp;</span
>
<el-input
style="width: 100px"
@ -89,7 +90,7 @@
></el-input>
<span style="margin-left: 30px"
>数据下载时间间隔(单位:分钟):&nbsp;</span
>数据下载时间间隔(单位:分钟):&nbsp;</span
>
<el-input
style="width: 100px"
@ -105,7 +106,7 @@
</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-item label="系统运行参数">
<el-select v-model="configQuery.systemConfig">
@ -151,7 +152,7 @@
</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-item label="业务单据类型">
<el-select v-model="configQuery.typeBus">
@ -178,7 +179,7 @@
</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-item label="部门信息">
<el-select v-model="configQuery.basicDept">
@ -205,7 +206,7 @@
</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-item label="耗材字典">
<el-select v-model="configQuery.basicProducts">
@ -232,7 +233,7 @@
</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-item label="第三方产品信息">
<el-select v-model="configQuery.basicThirdProducts">
@ -268,7 +269,7 @@
</el-descriptions-item>
<!-- 国家库DI数据 -->
<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-item label="DI产品信息">
<el-select v-model="configQuery.dbDiProducts">
@ -278,7 +279,7 @@
</el-select>
</el-form-item>
<el-form-item label="医疗器械注册人">
<el-select v-model="configQuery.dbDiProducts">
<el-select v-model="configQuery.dbDiCompany">
<el-option :value="0" label="不同步"></el-option>
<el-option :value="1" label="由内向外"></el-option>
<el-option :value="2" label="由外向内"></el-option>
@ -303,7 +304,7 @@
border
>
<el-descriptions-item>
<template slot="label"> 参数设置 </template>
<template slot="label"> 参数设置</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="20" class="el-col">
@ -332,7 +333,7 @@
size="small"
:disabled="configQuery.downstreamEnable"
@click="addToInBusTypeDialog()"
>添加扫码单据类型
>添加扫码单据类型
</el-button>
</div>
<el-table :data="checkedToInBusTypes" border style="width: 100%">
@ -367,7 +368,7 @@
size="small"
:disabled="configQuery.downstreamEnable"
@click.native="removeToInBus(scope.$index, scope.row)"
>移除
>移除
</el-button>
</template>
</el-table-column>
@ -385,7 +386,7 @@
border
>
<el-descriptions-item>
<template slot="label"> 参数设置 </template>
<template slot="label"> 参数设置</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="20" class="el-col">
@ -401,7 +402,7 @@
></el-input>
<span style="margin-left: 30px"
>单据下载时间间隔(单位:分钟):&nbsp;</span
>单据下载时间间隔(单位:分钟):&nbsp;</span
>
<el-input
style="width: 100px"
@ -426,7 +427,7 @@
size="small"
:disabled="configQuery.downstreamEnable"
@click="addBusTypeDialog()"
>添加扫码单据类型
>添加扫码单据类型
</el-button>
</div>
<el-table :data="checkedBusTypes" border style="width: 100%">
@ -461,7 +462,7 @@
size="small"
:disabled="configQuery.downstreamEnable"
@click.native="remveBus(scope.$index, scope.row)"
>移除
>移除
</el-button>
</template>
</el-table-column>
@ -488,7 +489,7 @@
size="small"
:disabled="configQuery.downstreamEnable"
@click="addChangeBusTypeDialog()"
>添加业务单据类型
>添加业务单据类型
</el-button>
</div>
<el-table :data="checkedChangeBusTypes" border style="width: 100%">
@ -522,7 +523,7 @@
size="small"
:disabled="configQuery.downstreamEnable"
@click.native="removeChangeBus(scope.$index, scope.row)"
>移除
>移除
</el-button>
</template>
</el-table-column>
@ -540,7 +541,8 @@
>
<div style="float: right; margin-bottom: 10px; margin-right: 25px">
<el-button type="primary" size="small" @click="addToInBusType()"
>选入</el-button
>选入
</el-button
>
</div>
<el-table
@ -585,7 +587,8 @@
>
<div style="float: right; margin-bottom: 10px; margin-right: 25px">
<el-button type="primary" size="small" @click="addBusType()"
>选入</el-button
>选入
</el-button
>
</div>
<el-table
@ -631,7 +634,8 @@
>
<div style="float: right; margin-bottom: 10px; margin-right: 25px">
<el-button type="primary" size="small" @click="addChangeBusType()"
>选入</el-button
>选入
</el-button
>
</div>
<el-table
@ -677,8 +681,8 @@ import {
updateConfig,
} from "@/api/sync/spsSyncStatus";
import store from "@/store";
import { getBussinessType } from "@/api/basic/bussinessType";
import { getBusTypeChangeList } from "@/api/basic/busTypeChange";
import {getBussinessType} from "@/api/basic/bussinessType";
import {getBusTypeChangeList} from "@/api/basic/busTypeChange";
export default {
name: "SysUdimsConfig",
@ -723,6 +727,7 @@ export default {
printConfig: null,
scanChangeConfig: null,
busChangeConfig: null,
dbDiCompany: null,
},
checkedBusTypes: [],
checkedToInBusTypes: [],
@ -793,7 +798,8 @@ export default {
this.loading = false;
});
})
.catch(() => {});
.catch(() => {
});
},
testConnect() {
@ -826,7 +832,8 @@ export default {
this.busTypes = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {});
.catch(() => {
});
},
addBusTypeDialog() {
@ -952,6 +959,7 @@ export default {
/deep/ .el-select {
width: 100px;
}
/deep/ .el-collapse-item__header {
font-size: 18px;
font-weight: bold;

@ -12,19 +12,16 @@
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.status" placeholder="处理状态">
<el-option label="全部" value=""></el-option>
<el-option label="等待处理" value="0"></el-option>
<el-option label="已处理" value="1"></el-option>
<el-option label="异常" value="2"></el-option>
<el-option label="任务待触发" value="1"></el-option>
<el-option label="文件待生成" value="2"></el-option>
<el-option label="文件待同步" value="3"></el-option>
<el-option label="任务完成" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
<el-date-picker
v-model="syncTime"
type="datetime"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择同步时间">
<el-date-picker v-model="syncTime" type="datetime" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择同步时间">
</el-date-picker>
</el-form-item>
@ -32,135 +29,74 @@
<el-button-group style="display:flex;">
<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="createScheduleDialog(1)"
>同步单据
<el-button type="primary" icon="search" @click="createScheduleDialog(1)">
</el-button>
<!-- :disabled="!configParms.orderScanFinish&& !configParms.orderUnReceive&& !configParms.orderUnCheck"-->
<!-- :disabled="!configParms.orderScanFinish&& !configParms.orderUnReceive&& !configParms.orderUnCheck"-->
<el-button type="primary" icon="search" @click="createScheduleDialog(2)"
:disabled="!configParms.typeBus&& !configParms.typeScan&& !configParms.typeThird">
v-if="!configParms.typeBus&& !configParms.typeScan&& !configParms.typeThird">
同步单据类型
</el-button>
<el-button type="primary" icon="search" @click="createScheduleDialog(3)"
:disabled="!configParms.basicProducts&& !configParms.basicCorp&&
<el-button type="primary" icon="search" @click="createScheduleDialog(3)" v-if="!configParms.basicProducts&& !configParms.basicCorp&&
!configParms.basicInv&&!configParms.basicThirdProducts&& !configParms.basicThirdCorp&& !configParms.basicThirdInv
&& !configParms.basicThirdBusOrder&& !configParms.sysUser"
>同步基础信息
&& !configParms.basicThirdBusOrder&& !configParms.sysUser">同步基础信息
</el-button>
<el-button type="primary" icon="search" @click="createScheduleDialog(4)"
:disabled="!configParms.dbDiProducts">同步国家库DI数据
v-if="configParms.dbDiProducts==2">同步国家库DI数据
</el-button>
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<el-table
v-loading="loading"
:data="list"
style="width: 100%"
>
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="任务ID"
prop="id"
width="140"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="任务类型"
prop="type"
width="140"
show-overflow-tooltip
>
<el-table-column label="任务ID" prop="id" width="140" show-overflow-tooltip></el-table-column>
<el-table-column label="任务类型" prop="type" width="140" show-overflow-tooltip>
</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>
<template slot-scope="scope">
<el-tag
:type="statusFilterType(scope.row.status)"
>{{ status[scope.row.status] }}
</el-tag
>
<el-tag :type="statusFilterType(scope.row.status)">{{ status[scope.row.status] }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="管理系统状态"
prop="receiveStatus"
width="140"
show-overflow-tooltip
>
<el-table-column label="管理系统状态" prop="receiveStatus" width="140" show-overflow-tooltip>
<template slot-scope="scope">
<el-tag
:type="wmsFilterType(scope.row.receiveStatus)"
>{{ wmsstatus[scope.row.receiveStatus] }}
</el-tag
>
<el-tag :type="wmsFilterType(scope.row.receiveStatus)">{{ wmsstatus[scope.row.receiveStatus] }}
</el-tag>
</template>
</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="同步信息"
prop="cacheFilePath"
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="备注" prop="remark" show-overflow-tooltip></el-table-column>
<el-table-column label="同步信息" prop="cacheFilePath" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="detailDialog(scope.row.id)"
>详情
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row.id)"
>删除
</el-button
>
<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">
<el-button type="text" size="small" slot="reference">下载
</el-button>
</el-popconfirm>
<el-popconfirm @confirm="deleteData(scope.row.id)" confirm-button-text='' cancel-button-text=''
icon="el-icon-info" icon-color="red" title="是否确认要删除这条数据?">
<el-button type="text" size="small" slot="reference">删除
</el-button>
</el-popconfirm>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
<el-pagination :page-size="filterQuery.limit" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total" :current-page="filterQuery.page"></el-pagination>
</el-card>
<el-dialog
title="同步信息"
width="25%"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="syncVisible"
>
<el-dialog title="同步信息" width="25%" :close-on-click-modal="false" :close-on-press-escape="false"
:visible.sync="syncVisible">
<span v-text="syncInfo" style="white-space:pre-line;" class="syncInfo"></span>
</el-dialog>
@ -168,7 +104,14 @@
</template>
<script>
import {filterLog, deleteLog, createSchedule, findConfig, updateConfig} from "../../api/sync/spsSyncStatus";
import {
filterLog,
deleteLog,
createSchedule,
findConfig,
updateConfig,
infoByStatus
} from "../../api/sync/spsSyncStatus";
import store from "@/store";
export default {
@ -176,7 +119,7 @@ export default {
return {
filterQuery: {
id: null,
status: "0",
status: "1",
page: 1,
limit: 10,
syncTime: null,
@ -196,13 +139,14 @@ export default {
"AutoDownloadDiProducts": "国家库DI数据"
},
status: {
0: "等待处理",
1: "处理完成",
2: "处理异常",
1: "任务待触发",
2: "文件待生成",
3: "文件待同步",
4: "任务完成",
},
wmsstatus: {
"处理成功": "处理成功",
"1": "处理成功",
"": "未处理",
null: "未处理",
},
@ -310,13 +254,11 @@ export default {
if (val) {
this.getList();
}
}
,
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
}
,
},
createScheduleDialog(type) {
if (this.$isNotBlank(this.syncTime)) {
@ -328,8 +270,7 @@ export default {
.then(() => {
this.createSchedule(type);
})
.catch(() => {
});
.catch(() => {});
} else {
this.createSchedule(type);
}
@ -352,8 +293,7 @@ export default {
this.$alert(response.message, '提示', {
confirmButtonText: '确定',
type: "warning",
callback: action => {
}
callback: action => {}
});
} else {
@ -389,10 +329,8 @@ export default {
this.loading = false;
});
})
.catch(() => {
});
}
,
.catch(() => {});
},
handleChange(response, files, fileList) {
if (response.code != 20000) {
this.$message.error(response.message);
@ -401,8 +339,7 @@ export default {
this.$message.success(response.data);
this.getList();
}
}
,
},
statusFilterType(status) {
const statusMap = {
0: "warning",
@ -427,8 +364,7 @@ export default {
this.configParms = response.data;
}
})
.catch(() => {
});
.catch(() => {});
},
detailDialog(id) {
this.syncVisible = true;
@ -437,11 +373,38 @@ export default {
this.syncInfo = item.remark;
}
})
},
downFile(rows) {
infoByStatus({
'id': rows.id
}).then(res => {
let blob = new Blob([res])
let fileName = rows.cacheFilePath.substring(rows.cacheFilePath.lastIndexOf('/'))
let link = document.createElement("a")
link.href = window.URL.createObjectURL(blob)
link.download = fileName
link.style.display = 'none'
document.body.appendChild(link)
link.click()
window.URL.revokeObjectURL(link.href)
document.body.removeChild(link)
})
},
deleteData(id) {
deleteLog({id}).then((response) => {
if (response.code == 20000) {
this.filterQuery.page = 1
this.$message.success("删除成功");
} else {
this.$message.error(response.message);
}
this.getList();
})
.catch(() => {});
}
},
mounted() {
},
mounted() {},
components: {},
created() {
this.headers = {

@ -30,8 +30,8 @@
<el-form-item>
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"
>重置</el-button
>
>重置
</el-button>
<el-button type="primary" @click="onSubmit" icon="el-icon-search"
>查询
</el-button>
@ -52,11 +52,11 @@
</el-form>
<el-table
v-loading="loading"
ref="list"
:data="list"
style="width: 100%"
highlight-current-row
border
ref="deptTableRef"
v-if="refreshTable"
row-key="id"
@current-change="handleDeptChange"
@ -75,7 +75,7 @@
</el-tag>
</template>
</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="操作">
<template slot-scope="scope">
<el-button
@ -124,7 +124,7 @@
<el-form-item label="部门名称:" prop="name">
<el-input
v-model="formData.name"
style="width: 90%"
style="width: 80%"
clearable
size="small"
></el-input>
@ -244,7 +244,7 @@
prop="employeeName"
></el-table-column>
<el-table-column label="用户账号" prop="userName"></el-table-column>
<el-table-column label="备注" prop="comments"> </el-table-column>
<el-table-column label="备注" prop="comments"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
@ -315,7 +315,7 @@
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="仓库名称" prop="name"></el-table-column>
<el-table-column label="仓库编码" prop="code"></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="操作">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
@ -356,6 +356,7 @@ import { filterSubAll } from "@/api/system/invSubWarehouse";
export default {
data() {
return {
checkdefault: null,
filterQuery: {
status: 1,
companyName: "",
@ -575,15 +576,26 @@ export default {
let depList = response.data.list || [];
this.deptOptions = this.handleTree(depList, "code", "pcode");
});
console.log(JSON.parse(JSON.stringify(row)));
this.checkdefault = JSON.parse(JSON.stringify(row));
},
/* 获取列表 */
getList() {
let qwe = this.checkdefault;
this.loading = true;
filterList(this.filterQuery)
.then((response) => {
this.loading = false;
let depList = response.data.list || [];
this.list = this.handleTree(depList, "code", "pcode");
this.$nextTick(() => {
console.log(qwe);
if (qwe === null) {
this.$refs.deptTableRef.setCurrentRow(depList[0]);
} else {
this.$refs.deptTableRef.setCurrentRow(qwe);
}
});
})
.catch(() => {
this.loading = false;

@ -19,8 +19,8 @@
<el-form-item label="仓库类型" prop="advanceType">
<el-select v-model="subData.advanceType" placeholder="请选择仓库类型" style="width: 80%">
<el-option label="入账库" :value="1"/>
<el-option label="寄售库" :value="2"/>
<el-option label="预验收库" :value="3"/>
<el-option label="预验收库" :value="2"/>
<el-option label="寄售库" :value="3"/>
</el-select>
</el-form-item>
<el-form-item>
@ -200,8 +200,8 @@
<el-select v-model="subData.advanceType" :disabled="invWouse != null" placeholder="请选择仓库类型"
style="width: 80%">
<el-option label="入账库" value="1"/>
<el-option label="寄售库" value="2"/>
<el-option label="预验收库" value="3"/>
<el-option label="预验收库" value="2"/>
<el-option label="寄售库" value="3"/>
</el-select>
</el-form-item>
@ -432,8 +432,8 @@ export default {
total: 0,
advanceTypeTypeMap: {
1: "入账库",
2: "寄售库",
3: "预验收库",
3: "寄售库",
2: "预验收库",
},
formMap: {
add: "仓库信息-新增",

@ -55,7 +55,13 @@
<span>{{ enableMap[scope.row.supplementAll] }}</span>
</template>
</el-table-column>
<el-table-column label="说明" prop="intro"></el-table-column>
<el-table-column label="创建单据模式" prop="createType">
<template slot-scope="scope">
<span>{{ createTypeMap[scope.row.createType] }}</span>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
@ -137,11 +143,12 @@ export default {
defaultInvCode: null,
beforeTime: 0,
busBeforeTime: 0,
supplementAll: null,
supplementAll: true,
intro: null,
remark: null,
auditStatus: null,
busAuditStatus: null,
createType: null,
},
enableMap: {
true: "全量补单",
@ -153,6 +160,14 @@ export default {
2: "待审核",
3: "已审核"
},
createTypeMap: {
1: "送货至入库补单",
2: "向上级仓库补单",
3: "预验收转入库补单",
4: "寄售转入库补单",
},
total: 0,
loading: false,
formMap: {
@ -273,11 +288,13 @@ export default {
defaultInvCode: null,
beforeTime: 0,
busBeforeTime: 0,
supplementAll: null,
supplementAll: true,
intro: null,
remark: null,
auditStatus: null,
busAuditStatus: null,
createType: null,
};
this.modifyDialogVisible = true;
},

@ -97,7 +97,8 @@
style="width: 90%">
<el-option label="送货至入库补单" :value="1"></el-option>
<el-option label="向上级仓库补单" :value="2"></el-option>
<el-option label="寄售/预验收转入库补单" :value="3"></el-option>
<el-option label="预验收转入库补单" :value="3"></el-option>
<el-option label="寄售转入库补单" :value="4"></el-option>
</el-select>
</el-form-item>
</el-col>

@ -186,6 +186,8 @@ export default {
} else {
callback();
}
}else{
callback();
}
};
return {

@ -71,6 +71,7 @@ import {formatDate} from "@/utils/date";
export default {
data() {
return {
BASE_URL: process.env.VUE_APP_BASE_API,
showSearch: true,
filterQuery: {
genKey: null,
@ -154,8 +155,7 @@ export default {
this.thrCorpSelectVisible = true;
},
downloadExcel(row) {
axios.get("./config.json").then(res => {
let baseUrl = res.data.BASE_URL;
let baseUrl = this.BASE_URL
let href = baseUrl + "/udiwms/thrCorp/exportLog/download" +
"?genKey=" + row.genKey;
let a = document.createElement("a");
@ -170,7 +170,6 @@ export default {
a.click();
this.getList();
});
});
},
cancelDialog(val) {

@ -68,6 +68,7 @@ import axios from "axios";
export default {
data() {
return {
BASE_URL: process.env.VUE_APP_BASE_API,
showSearch: true,
filterQuery: {
genKey: null,
@ -153,8 +154,7 @@ export default {
this.thrCorpSelectVisible = true;
},
downloadExcel(row) {
axios.get("./config.json").then(res => {
let baseUrl = res.data.BASE_URL;
let baseUrl = this.BASE_URL;
let href = baseUrl + "/udiwms/thrCorp/exportLog/download" +
"?genKey=" + row.genKey;
let a = document.createElement("a");
@ -171,7 +171,6 @@ export default {
a.click();
this.getList();
});
});
},
cancelDialog(val) {

@ -108,6 +108,7 @@ import axios from "axios";
export default {
data() {
return {
BASE_URL: process.env.VUE_APP_BASE_API,
showSearch: true,
filterQuery: {
genKey: null,
@ -191,8 +192,8 @@ export default {
this.thrInvProductsSelectVisible = true;
},
downloadExcel(row) {
axios.get("./config.json").then(res => {
let baseUrl = res.data.BASE_URL;
let baseUrl = this.BASE_URL;
let href = baseUrl + "/udiwms/invProducts/exportLog/download" + "?genKey=" + row.genKey;
let a = document.createElement("a");
fetch(href)
@ -208,10 +209,6 @@ export default {
a.click();
this.getList();
});
});
},
cancelDialog(val) {

@ -75,6 +75,7 @@ import {formatDate} from "@/utils/date";
export default {
data() {
return {
BASE_URL: process.env.VUE_APP_BASE_API,
showSearch: true,
filterQuery: {
type: 1,
@ -158,8 +159,7 @@ export default {
this.thrOrderSelectVisible = true;
},
downloadExcel(row) {
axios.get("./config.json").then(res => {
let baseUrl = res.data.BASE_URL;
let baseUrl = this.BASE_URL
let href = baseUrl + "/udiwms/thrOrder/exportLog/download" + "?genKey=" + row.genKey;
let a = document.createElement("a");
var timestamp = formatDate(new Date(), "yyyyMMddhhmmss")
@ -173,7 +173,6 @@ export default {
a.click();
this.getList();
});
});
},
cancelDialog(val) {

@ -78,6 +78,7 @@ import {formatDate} from "../../../utils/date";
export default {
data() {
return {
BASE_URL: process.env.VUE_APP_BASE_API,
showSearch: true,
filterQuery: {
genKey: null,
@ -158,8 +159,7 @@ export default {
this.thrProductsSelectVisible = true;
},
downloadExcel(row) {
axios.get("./config.json").then(res => {
let baseUrl = res.data.BASE_URL;
let baseUrl = this.BASE_URL;
let href = baseUrl + "/udiwms/thrProducts/exportLog/download" + "?genKey=" + row.genKey;
let a = document.createElement("a");
var timestamp = formatDate(new Date(), "yyyyMMddhhmmss")
@ -173,8 +173,6 @@ export default {
a.click();
this.getList();
});
});
},
cancelDialog(val) {

Loading…
Cancel
Save