中繼服務優化

master
anthonyywj2 3 years ago
parent 0e714f41ad
commit fdfccae82b

@ -1,7 +1,4 @@
{
"BASE_URL":"http://192.168.0.109:9989",
"SERVER_IP": "http://192.168.0.109:9989/"
"BASE_URL":"http://139.159.180.173:80/SP_SYNC_SERVER/",
"SERVER_IP": "http://139.159.180.173:80/"
}

@ -1 +1 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>UDI管理系统数据同步</title><link rel=stylesheet href=https://unpkg.com/element-ui/lib/theme-chalk/index.css><link href=css/home.44f0d423.css rel=prefetch><link href=js/home.58925fb8.js rel=prefetch><link href=css/app.c7692bee.css rel=preload as=style><link href=css/chunk-vendors.9b8ad7f5.css rel=preload as=style><link href=js/app.d1d77447.js rel=preload as=script><link href=js/chunk-vendors.d817ae0e.js rel=preload as=script><link href=css/chunk-vendors.9b8ad7f5.css rel=stylesheet><link href=css/app.c7692bee.css rel=stylesheet></head><body><div id=app></div><script src=./tinymce4.7.5/tinymce.min.js></script><script src=./vue.runtime.min.js></script><script src=./vuex.min.js></script><script src=./vue-router.min.js></script><script src=./index.js></script>ga('create', 'UA-110990780-1', 'auto'); ga('send', 'pageview'); window.addEventListener('hashchange', function () { ga('set', 'page', window.location.href); ga('send', 'pageview'); });<script src=js/chunk-vendors.d817ae0e.js></script><script src=js/app.d1d77447.js></script></body></html>
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>UDI管理系统数据同步</title><link rel=stylesheet href=https://unpkg.com/element-ui/lib/theme-chalk/index.css><link href=css/home.44f0d423.css rel=prefetch><link href=js/home.58925fb8.js rel=prefetch><link href=css/app.ce9818af.css rel=preload as=style><link href=css/chunk-vendors.9b8ad7f5.css rel=preload as=style><link href=js/app.08fc0c6d.js rel=preload as=script><link href=js/chunk-vendors.d817ae0e.js rel=preload as=script><link href=css/chunk-vendors.9b8ad7f5.css rel=stylesheet><link href=css/app.ce9818af.css rel=stylesheet></head><body><div id=app></div><script src=./tinymce4.7.5/tinymce.min.js></script><script src=./vue.runtime.min.js></script><script src=./vuex.min.js></script><script src=./vue-router.min.js></script><script src=./index.js></script>ga('create', 'UA-110990780-1', 'auto'); ga('send', 'pageview'); window.addEventListener('hashchange', function () { ga('set', 'page', window.location.href); ga('send', 'pageview'); });<script src=js/chunk-vendors.d817ae0e.js></script><script src=js/app.08fc0c6d.js></script></body></html>

@ -1,7 +1,4 @@
{
"BASE_URL":"http://192.168.0.109:9989",
"SERVER_IP": "http://192.168.0.109:9989/"
"BASE_URL":"http://127.0.0.1:9989",
"SERVER_IP": "http://127.0.0.1:8080/"
}

@ -0,0 +1,17 @@
import axios from "../../utils/axios";
export function filterStatusList(query) {
return axios({
url: "/spssync/basic/udiinfo/getStatus",
method: "get",
params: query
});
}
export function deleteLog(query) {
return axios({
url: "/spssync/basic/udiinfo/deleteByStatus",
method: "post",
data: query
});
}

@ -27,6 +27,9 @@ import udiInfoUpload from "../views/sync/SpUdiInfoUpload.vue";
import spOrderStatus from "../views/sync/SpOrderStatus";
import spOrderFloder from "../views/sync/SpOrderFloder";
import SpBasicStatus from "../views/sync/SpBasicStatus";
import SpBasicFolder from "../views/sync/SpBasicFolder";
const err401 = r =>
require.ensure([], () => r(require("../views/error/err401.vue")), "home");
@ -203,90 +206,107 @@ export const asyncRouterMap = [
},
]
},
{
path: "/udisync",
redirect: "/udisync/udiInfoImport",
component: Home,
icon: "tongyong",
name: "UDI管理系统数据",
hidden: false,
noDropdown: false,
meta: {
authRule: ["udisync"]
},
children: [
{
path: "udiInfoImport",
name: "医疗器械信息",
component: udiInfoImport,
meta: {
authRule: ["udisync/udiInfoImport"]
}
},
{
path: "corpImport",
name: "往来单位信息",
component: corpImport,
meta: {
authRule: ["udisync/corpImport"]
}
},
{
path: "thrProductsImport",
name: "第三方产品信息",
component: thrProductsImport,
meta: {
authRule: ["udisync/thrProductsImport"]
}
},
{
path: "thrOrderImport",
name: "第三方业务单据",
component: thrOrderImport,
meta: {
authRule: ["udisync/thrOrderImport"]
}
},
]
},
// {
// path: "/udisync",
// redirect: "/udisync/udiInfoImport",
// component: Home,
// icon: "tongyong",
// name: "数据同步",
// hidden: false,
// noDropdown: false,
// meta: {
// authRule: ["udisync"]
// },
// children: [
// {
// path: "udiInfoImport",
// name: "医疗器械信息",
// component: udiInfoImport,
// meta: {
// authRule: ["udisync/udiInfoImport"]
// }
// },
// {
// path: "corpImport",
// name: "往来单位信息",
// component: corpImport,
// meta: {
// authRule: ["udisync/corpImport"]
// }
// },
// {
// path: "thrProductsImport",
// name: "第三方产品信息",
// component: thrProductsImport,
// meta: {
// authRule: ["udisync/thrProductsImport"]
// }
// },
// {
// path: "thrOrderImport",
// name: "第三方业务单据",
// component: thrOrderImport,
// meta: {
// authRule: ["udisync/thrOrderImport"]
// }
// },
//
// ]
// },
{
path: "/spsync",
redirect: "/spsync/udiInfoUpload",
component: Home,
icon: "tongyong",
name: "UDI自助平台数据",
name: "数据同步",
hidden: false,
noDropdown: false,
meta: {
authRule: ["spsync"]
},
children: [
{
path: "udiInfoUpload",
name: "医疗器械信息",
component: udiInfoUpload,
meta: {
authRule: ["spsync/udiInfoUpload"]
}
},
// {
// path: "udiInfoUpload",
// name: "医疗器械信息",
// component: udiInfoUpload,
// meta: {
// authRule: ["spsync/udiInfoUpload"]
// }
// },
{
path: "spOrderStatus",
name: "订单更新记录",
name: "扫码单据更新记录",
component: spOrderStatus,
meta: {
authRule: ["spsync/orderStatus"]
}
},
// {
// path: "spOrderFloder",
// name: "扫码单据文件记录",
// component: spOrderFloder,
// meta: {
// authRule: ["spsync/spOrderFloder"]
// }
// },
{
path: "spOrderFloder",
name: "订单文件记录",
component: spOrderFloder,
path: "SpBasicStatus",
name: "基础信息更新记录",
component: SpBasicStatus,
meta: {
authRule: ["spsync/spOrderFloder"]
authRule: ["spsync/orderStatus"]
}
},
// {
// path: "SpBasicFolder",
// name: "基础信息文件记录",
// component: SpBasicFolder,
// meta: {
// authRule: ["spsync/spOrderFloder"]
// }
// },
]
},

@ -0,0 +1,211 @@
<template>
<div>
<el-form :inline="true" :model="query" class="query-form" size="mini">
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.genKey" placeholder="记录ID"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.status" placeholder="处理状态">
<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-form-item>
<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-group>
</el-form-item>
</el-row>
</el-form>
<el-table
v-loading="loading"
:data="list"
style="width: 100%"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="订单号"
prop="orderId"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="状态"
prop="status"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag
:type="statusFilterType(scope.row.status)"
>{{ status[scope.row.status] }}
</el-tag
>
</template>
</el-table-column>
<el-table-column
label="更新日期"
prop="updateTime"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="文件路径"
prop="filePath"
show-overflow-tooltip
></el-table-column>
<el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope">
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="handleDetailClick(scope.row)"-->
<!-- >详情-->
<!-- </el-button-->
<!-- >-->
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
</div>
</template>
<script>
import {deleteLog, filterStatusList} from "../../api/sync/thrImportLog";
export default {
data() {
return {
filterQuery: {
orderId: null,
status: null,
page: 1,
limit: 20,
},
checked: false,
list: [],
total: 0,
currentRow: null,
status: {
1: "已下载",
0: "已下载",
null:"已下载"
},
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
orderId: null,
status: null,
page: 1,
limit: 20,
};
this.getList();
},
getList() {
this.loading = true;
filterStatusList(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
deleteDialog(row) {
this.$confirm("此操作将删除该记录, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let dQuery = {
id: row.id,
};
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(() => {
});
},
statusFilterType(status) {
const statusMap = {
1: "warning",
2: "success",
};
return statusMap[status];
},
},
mounted() {
},
components: {},
created() {
this.getList();
},
};
</script>
<style>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -0,0 +1,225 @@
<template>
<div>
<el-form :inline="true" :model="query" class="query-form" size="mini">
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.orderId" placeholder="记录ID"></el-input>
</el-form-item>
<!-- <el-form-item class="query-form-item">-->
<!-- <el-select v-model="filterQuery.status" placeholder="处理状态">-->
<!-- <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-form-item>
<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-group>
</el-form-item>
</el-row>
</el-form>
<el-table
v-loading="loading"
:data="list"
style="width: 100%"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="记录Id"
prop="id"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="状态"
prop="status"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag
:type="statusFilterType(scope.row.status)"
>{{ status[scope.row.status] }}
</el-tag
>
</template>
</el-table-column>
<el-table-column
label="类型"
prop="status"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag
:type="statusFilterType(scope.row.status)"
>{{ type[scope.row.status] }}
</el-tag
>
</template>
</el-table-column>
<el-table-column
label="更新日期"
prop="updateTime"
show-overflow-tooltip
></el-table-column>
<el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope">
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="handleDetailClick(scope.row)"-->
<!-- >详情-->
<!-- </el-button-->
<!-- >-->
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
</div>
</template>
<script>
import {deleteLog, filterStatusList} from "../../api/sync/spBasicStatus";
export default {
data() {
return {
filterQuery: {
orderId: null,
status: null,
page: 1,
limit: 20,
},
checked: false,
list: [],
total: 0,
currentRow: null,
status: {
1: "等待下载",
2: "已下载",
},
type: {
1: "耗材字典",
2: "仓库字典",
3: "往来单位",
},
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
orderId: null,
status: null,
page: 1,
limit: 20,
};
this.getList();
},
getList() {
this.loading = true;
filterStatusList(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
deleteDialog(row) {
this.$confirm("此操作将删除该记录, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let dQuery = {
orderId: row.orderId,
};
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(() => {
});
},
statusFilterType(status) {
const statusMap = {
1: "warning",
2: "success",
};
return statusMap[status];
},
},
mounted() {
},
components: {},
created() {
this.getList();
},
};
</script>
<style>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -57,7 +57,7 @@
></el-input>
</el-form-item>
<el-form-item label="参数说明">
<el-input type="textarea" v-model="formData.paramExplain" :disabled="true" rows = 6></el-input>
<el-input type="textarea" v-model="formData.paramExplain" :disabled="true" rows=6></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -75,134 +75,134 @@
</template>
<script>
import {
systemParamConfigList,
systemParamConfigSave
} from "../../../api/param/systemParamConfig";
import {
systemParamConfigList,
systemParamConfigSave
} from "../../../api/param/systemParamConfig";
import {deleteLog} from "@/api/sync/spBasicStatus";
const formJson = {
id: "",
parentId: "",
paramName: "",
paramKey: "",
paramValue: "",
paramStatus: 1,
paramType: 1,
paramExplain: ""
};
export default {
data() {
return {
query: {
paramName: "",
paramStatus: 1,
page: 1,
limit: 20
},
list: [],
total: 0,
loading: true,
index: null,
formName: null,
formMap: {
add: "新增",
update: "设置"
},
formLoading: false,
formVisible: false,
formData: formJson,
formRules: {
paramValue: [
{required: true, message: "请输入参数值", trigger: "blur"}
]
// ,
// paramStatus: [
// {required: true, message: "", trigger: "change"}
// ]
},
deleteLoading: false
const formJson = {
id: "",
parentId: "",
paramName: "",
paramKey: "",
paramValue: "",
paramStatus: 1,
paramType: 1,
paramExplain: "",
force: false,
};
export default {
data() {
return {
query: {
paramName: "",
paramStatus: 1,
page: 1,
limit: 20
},
list: [],
total: 0,
loading: true,
index: null,
formName: null,
formMap: {
add: "新增",
update: "设置"
},
formLoading: false,
formVisible: false,
formData: formJson,
formRules: {
paramValue: [
{required: true, message: "请输入参数值", trigger: "blur"}
]
// ,
// paramStatus: [
// {required: true, message: "", trigger: "change"}
// ]
},
deleteLoading: false
};
},
methods: {
onReset() {
this.$router.push({
path: ""
});
this.query = {
paramName: "",
paramStatus: 1,
page: 1,
limit: 20
};
this.getList();
},
onSubmit() {
this.getList();
},
handleCurrentChange(val) {
this.query.page = val;
this.getList();
},
methods: {
onReset() {
this.$router.push({
path: ""
getList() {
this.loading = true;
systemParamConfigList(this.query)
.then(response => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
console.log('------------')
console.log(response)
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
this.query = {
paramName: "",
paramStatus: 1,
page: 1,
limit: 20
};
this.getList();
},
onSubmit() {
this.getList();
},
handleCurrentChange(val) {
this.query.page = val;
},
//
resetForm() {
if (this.$refs["dataForm"]) {
//
this.$refs["dataForm"].clearValidate();
//
this.$refs["dataForm"].resetFields();
this.getList();
},
getList() {
this.loading = true;
systemParamConfigList(this.query)
.then(response => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
console.log('------------')
console.log(response)
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
//
resetForm() {
if (this.$refs["dataForm"]) {
//
this.$refs["dataForm"].clearValidate();
//
this.$refs["dataForm"].resetFields();
this.getList();
}
},
//
hideForm() {
//
this.formVisible = !this.formVisible;
return true;
},
//
handleForm(index, row) {
this.formVisible = true;
this.formData = JSON.parse(JSON.stringify(formJson));
if (row !== null) {
this.formData = Object.assign({}, row);
}
this.formName = "add";
if (index !== null) {
this.index = index;
this.formName = "update";
}
},
formSubmit() {
this.$refs["dataForm"].validate(valid => {
if (valid) {
this.formLoading = true;
let data = Object.assign({}, this.formData);
console.log('------2------')
data.paramValue = data.paramValue.trim();
systemParamConfigSave(data, this.formName)
.then(response => {
console.log(response)
this.formLoading = false;
if (response.code !== 20000) {
this.$message.error(response.message);
return false;
}
}
},
//
hideForm() {
//
this.formVisible = !this.formVisible;
return true;
},
//
handleForm(index, row) {
this.formVisible = true;
this.formData = JSON.parse(JSON.stringify(formJson));
if (row !== null) {
this.formData = Object.assign({}, row);
}
this.formName = "add";
if (index !== null) {
this.index = index;
this.formName = "update";
}
},
formSubmit() {
this.$refs["dataForm"].validate(valid => {
if (valid) {
this.formLoading = true;
let data = Object.assign({}, this.formData);
console.log('------2------')
data.paramValue = data.paramValue.trim();
systemParamConfigSave(data, this.formName)
.then(response => {
console.log(response)
this.formData.force = false;
this.formLoading = false;
if (response.code == 20000) {
this.$message.success("操作成功");
this.formVisible = false;
if (this.formName === "add") {
@ -217,37 +217,66 @@
//
this.resetForm();
this.getList();
})
.catch(() => {
this.formLoading = false;
});
}
});
},
},
filters: {
paramStatusFilterType(paramStatus) {
const paramStatusMap = {
0: "gray",
1: "success"
};
return paramStatusMap[paramStatus];
},
paramStatusFilterName(paramStatus) {
const paramStatusMap = {
0: "禁用",
1: "正常"
};
return paramStatusMap[paramStatus];
}
} else {
if (response.code == 510) {
this.formData.force = true;
this.$confirm(response.message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.formSubmit();
})
.catch(() => {
});
} else if (response.code == 530) {
this.formData.force = true;
this.$confirm(response.message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.formSubmit();
})
.catch(() => {
});
} else
this.$message.error(response.message);
return false;
}
})
.catch(() => {
this.formLoading = false;
});
}
});
},
mounted() {
},
filters: {
paramStatusFilterType(paramStatus) {
const paramStatusMap = {
0: "gray",
1: "success"
};
return paramStatusMap[paramStatus];
},
created() {
//
this.getList();
paramStatusFilterName(paramStatus) {
const paramStatusMap = {
0: "禁用",
1: "正常"
};
return paramStatusMap[paramStatus];
}
};
},
mounted() {
},
created() {
//
this.getList();
}
};
</script>
<style type="text/scss" lang="scss">

Loading…
Cancel
Save