中繼服務優化

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

Loading…
Cancel
Save