中繼服務優化

master
anthonyywj2 3 years ago
parent 0e714f41ad
commit fdfccae82b

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

@ -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://127.0.0.1:9989",
"BASE_URL":"http://192.168.0.109:9989", "SERVER_IP": "http://127.0.0.1:8080/"
"SERVER_IP": "http://192.168.0.109:9989/"
} }

@ -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 spOrderStatus from "../views/sync/SpOrderStatus";
import spOrderFloder from "../views/sync/SpOrderFloder"; import spOrderFloder from "../views/sync/SpOrderFloder";
import SpBasicStatus from "../views/sync/SpBasicStatus";
import SpBasicFolder from "../views/sync/SpBasicFolder";
const err401 = r => const err401 = r =>
require.ensure([], () => r(require("../views/error/err401.vue")), "home"); require.ensure([], () => r(require("../views/error/err401.vue")), "home");
@ -203,90 +206,107 @@ export const asyncRouterMap = [
}, },
] ]
}, },
{ // {
path: "/udisync", // path: "/udisync",
redirect: "/udisync/udiInfoImport", // redirect: "/udisync/udiInfoImport",
component: Home, // component: Home,
icon: "tongyong", // icon: "tongyong",
name: "UDI管理系统数据", // name: "数据同步",
hidden: false, // hidden: false,
noDropdown: false, // noDropdown: false,
meta: { // meta: {
authRule: ["udisync"] // authRule: ["udisync"]
}, // },
children: [ // children: [
{ // {
path: "udiInfoImport", // path: "udiInfoImport",
name: "医疗器械信息", // name: "医疗器械信息",
component: udiInfoImport, // component: udiInfoImport,
meta: { // meta: {
authRule: ["udisync/udiInfoImport"] // authRule: ["udisync/udiInfoImport"]
} // }
}, // },
{ // {
path: "corpImport", // path: "corpImport",
name: "往来单位信息", // name: "往来单位信息",
component: corpImport, // component: corpImport,
meta: { // meta: {
authRule: ["udisync/corpImport"] // authRule: ["udisync/corpImport"]
} // }
}, // },
{ // {
path: "thrProductsImport", // path: "thrProductsImport",
name: "第三方产品信息", // name: "第三方产品信息",
component: thrProductsImport, // component: thrProductsImport,
meta: { // meta: {
authRule: ["udisync/thrProductsImport"] // authRule: ["udisync/thrProductsImport"]
} // }
}, // },
{ // {
path: "thrOrderImport", // path: "thrOrderImport",
name: "第三方业务单据", // name: "第三方业务单据",
component: thrOrderImport, // component: thrOrderImport,
meta: { // meta: {
authRule: ["udisync/thrOrderImport"] // authRule: ["udisync/thrOrderImport"]
} // }
}, // },
//
] // ]
}, // },
{ {
path: "/spsync", path: "/spsync",
redirect: "/spsync/udiInfoUpload", redirect: "/spsync/udiInfoUpload",
component: Home, component: Home,
icon: "tongyong", icon: "tongyong",
name: "UDI自助平台数据", name: "数据同步",
hidden: false, hidden: false,
noDropdown: false, noDropdown: false,
meta: { meta: {
authRule: ["spsync"] authRule: ["spsync"]
}, },
children: [ children: [
{ // {
path: "udiInfoUpload", // path: "udiInfoUpload",
name: "医疗器械信息", // name: "医疗器械信息",
component: udiInfoUpload, // component: udiInfoUpload,
meta: { // meta: {
authRule: ["spsync/udiInfoUpload"] // authRule: ["spsync/udiInfoUpload"]
} // }
}, // },
{ {
path: "spOrderStatus", path: "spOrderStatus",
name: "订单更新记录", name: "扫码单据更新记录",
component: spOrderStatus, component: spOrderStatus,
meta: { meta: {
authRule: ["spsync/orderStatus"] authRule: ["spsync/orderStatus"]
} }
}, },
// {
// path: "spOrderFloder",
// name: "扫码单据文件记录",
// component: spOrderFloder,
// meta: {
// authRule: ["spsync/spOrderFloder"]
// }
// },
{ {
path: "spOrderFloder", path: "SpBasicStatus",
name: "订单文件记录", name: "基础信息更新记录",
component: spOrderFloder, component: SpBasicStatus,
meta: { 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-input>
</el-form-item> </el-form-item>
<el-form-item label="参数说明"> <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-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -75,12 +75,13 @@
</template> </template>
<script> <script>
import { import {
systemParamConfigList, systemParamConfigList,
systemParamConfigSave systemParamConfigSave
} from "../../../api/param/systemParamConfig"; } from "../../../api/param/systemParamConfig";
import {deleteLog} from "@/api/sync/spBasicStatus";
const formJson = { const formJson = {
id: "", id: "",
parentId: "", parentId: "",
paramName: "", paramName: "",
@ -88,9 +89,10 @@
paramValue: "", paramValue: "",
paramStatus: 1, paramStatus: 1,
paramType: 1, paramType: 1,
paramExplain: "" paramExplain: "",
}; force: false,
export default { };
export default {
data() { data() {
return { return {
query: { query: {
@ -198,11 +200,9 @@
systemParamConfigSave(data, this.formName) systemParamConfigSave(data, this.formName)
.then(response => { .then(response => {
console.log(response) console.log(response)
this.formData.force = false;
this.formLoading = false; this.formLoading = false;
if (response.code !== 20000) { if (response.code == 20000) {
this.$message.error(response.message);
return false;
}
this.$message.success("操作成功"); this.$message.success("操作成功");
this.formVisible = false; this.formVisible = false;
if (this.formName === "add") { if (this.formName === "add") {
@ -217,6 +217,35 @@
// //
this.resetForm(); this.resetForm();
this.getList(); this.getList();
} 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(() => { .catch(() => {
this.formLoading = false; this.formLoading = false;
@ -247,7 +276,7 @@
// //
this.getList(); this.getList();
} }
}; };
</script> </script>
<style type="text/scss" lang="scss"> <style type="text/scss" lang="scss">

Loading…
Cancel
Save