Merge remote-tracking branch 'origin/dev2.0' into 20231126-yw

# Conflicts:
#	src/views/basic/business/stockOrder.vue
#	src/views/basic/product/UdiInfoSelectLocalUdi.vue
#	src/views/basic/product/product.vue
#	src/views/basic/product/udiInfoManageSp.vue
#	src/views/inout/InvoiceRegByFp.vue
#	src/views/inout/InvoiceRegByOrder.vue
#	src/views/inout/IoAuditedOrder.vue
#	src/views/inout/IoCheckAuditOrder.vue
#	src/views/inout/IoCheckErrorOrder.vue
#	src/views/inout/IoCheckSuccessOrder.vue
#	src/views/inout/IoCreateBusOrder.vue
#	src/views/inout/IoCreateErrorOrder.vue
#	src/views/inout/IoCreateOrder.vue
#	src/views/inout/IoCreateScanOrder.vue
#	src/views/inout/IoDealOrder.vue
#	src/views/inout/IoWaitAllocateOrder.vue
#	src/views/inout/muti/ioOrderMuti.vue
#	src/views/inout/muti/ioOrderMutiAudit.vue
#	src/views/inout/muti/ioOrderMutiSelect.vue
#	src/views/inout/receive/receiveAdd.vue
#	src/views/inout/receive/receiveAudit.vue
#	src/views/inout/receive/receiveMySearch.vue
#	src/views/inout/receive/receiveSearch.vue
#	src/views/inventory/InvPreProducts.vue
#	src/views/inventory/InvProducts.vue
#	src/views/inventory/InvSupPreInProducts.vue
#	src/views/inventory/count/InvCountOrderAudit.vue
#	src/views/inventory/count/InvCountOrderCompleted.vue
#	src/views/inventory/count/InvCountOrderNew.vue
#	src/views/inventory/supInoutSearchOrder.vue
#	src/views/purchase/cert/supCertAudit.vue
#	src/views/purchase/cert/supCertSearch.vue
#	src/views/purchase/purApply/purApply.vue
#	src/views/purchase/purApply/pureApplyAudit.vue
#	src/views/purchase/purApply/pureApplyMySearch.vue
#	src/views/purchase/purApply/pureApplySearch.vue
#	src/views/purchase/purOrder/purOrder.vue
#	src/views/purchase/purOrder/purOrderAudit.vue
#	src/views/purchase/purOrder/purOrderSearch.vue
#	src/views/purchase/purOrder/purOrderSearchDetails.vue
#	src/views/purchase/purPlan/purPlan.vue
#	src/views/purchase/purPlan/purPlanAudit.vue
#	src/views/purchase/purPlan/purPlanSearch.vue
#	src/views/purchase/purPlan/purPlanSearchDetails.vue
#	src/views/remind/invRemindMsg.vue
#	src/views/remind/supCertRemindMsg.vue
20231126-yw
yuanwei 2 years ago
commit 5aa6359c78

@ -8,14 +8,23 @@ ENV = 'production'
#林纪裕cd
VUE_APP_BASE_API = 'http://www.linjiyu.lol:81/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://www.linjiyu.lol:81/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://www.linjiyu.lol:83/UDI_WMS_MC/'
刘恩典
# 刘恩典
# VUE_APP_BASE_API = 'http://192.168.0.127:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.127:9160/UDI_WMS_MC/'
# 吴雨泽
# VUE_APP_BASE_API = 'http://192.168.0.67:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.127:9170/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://dm.xmglxp.com:8082/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://dm.xmglxp.com:82/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://dm.xmglxp.com:8001/UDI_WMS_MC/'
# 诏安总医院
# VUE_APP_BASE_API = 'http://192.168.8.58:9150/UDI_WMS_MC/'
# 平潭正式
# VUE_APP_BASE_API = 'http://55.55.0.62:9150/UDI_WMS_MC/'
@ -29,10 +38,43 @@ VUE_APP_BASE_API = 'http://www.linjiyu.lol:81/UDI_WMS_MC/'
# 平和县医院
# VUE_APP_BASE_API = 'http://192.168.0.43:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://127.0.0.1:9150/UDI_WMS_MC/'
# 长泰医院
# VUE_APP_BASE_API = 'http://192.168.6.189:9150/UDI_WMS_MC/'
VUE_APP_BASE_API = 'http://192.168.6.189:9150/UDI_WMS_MC/'
# 三明大田医院
# VUE_APP_BASE_API = 'http://172.20.124.4:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.207:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.191:9150/UDI_WMS_MC/'
# 林纪裕centos
# VUE_APP_BASE_API = 'http://192.168.0.86:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.31.2:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://116.204.106.103:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.80.80:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.207:9160/UDI_WMS_MC/'
# 云霄妇幼保健
# VUE_APP_BASE_API = 'http://192.168.0.11:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.67:9150/UDI_WMS_MC/'
# 东山
# VUE_APP_BASE_API = 'https://mudi.dsxyy.org/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://151.122.122.146:9150/UDI_WMS_MC/'
# 南靖
# VUE_APP_BASE_API = 'http://192.168.10.225:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.73.128:9150/UDI_WMS_MC/'
# 测试NIGINX
# VUE_APP_BASE_API = 'https://test.udims.com/UDI_WMS_MC/'
# 应用访问路径 例如使用前缀 /admin/

@ -51,6 +51,8 @@
"js-cookie": "3.0.1",
"js-sha256": "^0.10.1",
"jsencrypt": "3.0.0-rc.1",
"loadsh": "^0.0.4",
"lodash": "^4.17.21",
"nprogress": "0.2.0",
"pinyin": "^2.10.2",
"qrcodejs2": "^0.0.2",

@ -1,14 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- <meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src example.org third-party.org;">-->
<!-- <meta http-equiv=Content-Security-Policy content="default-src 'self';">-->
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title>
<style>
html,
body,
#app {
@ -16,6 +18,7 @@
margin: 0px;
padding: 0px;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
@ -194,15 +197,15 @@
opacity: 0.5;
}
</style>
</head>
<body>
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载系统资源,请耐心等待</div>
</div>
</div>
</body>
</head>
<body>
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载系统资源,请耐心等待</div>
</div>
</div>
</body>
</html>

@ -1,27 +1,76 @@
<template>
<div id="app">
<router-view />
<router-view/>
</div>
</template>
<script>
export default {
name: 'App',
metaInfo() {
return {
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
titleTemplate: title => {
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
}
}
export default {
name: 'App',
metaInfo() {
return {
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
titleTemplate: title => {
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
}
}
}
}
</script>
<style>
.width-full{
/* 滚动条样式 */
::-webkit-scrollbar {
width: 10px; /* 滚动条宽度 */
height: 10px; /* 滚动条高度 */
}
/* 滚动条轨道 */
::-webkit-scrollbar-track {
background-color: #f5f5f5; /* 滚动条轨道颜色 */
border-radius: 25px; /* 滚动条轨道圆角 */
}
/* 滚动条滑块 */
::-webkit-scrollbar-thumb {
background-color: #888; /* 滚动条滑块颜色 */
border-radius: 25px; /* 滚动条轨道圆角 */
}
/* 鼠标悬停时滚动条滑块颜色 */
::-webkit-scrollbar-thumb:hover {
background-color: #555; /* 鼠标悬停时滚动条滑块颜色 */
}
.color-red {
color: red;
}
.p10 {
padding: 10px;
}
.width-full {
width: 100%;
}
.w90-percent{
width:90%;
.height-full {
height: 100%;
}
.w90-percent {
width: 90%;
}
.align-right {
text-align: right;
}
.align-left {
text-align: left;
}
.align-center {
text-align: center;
}
</style>

@ -0,0 +1,61 @@
import axios from "@/utils/request";
export function getBasicManuMaintains(query) {
return axios({
url: "/udiwms/basic/manu/maintain/filter",
method: "get",
params: query
});
}
export function basicUnitMaintainSave(data, formName, method = "post") {
let url =
formName === "add" ? "/udiwms/basic/manu/maintain/save" : "/udiwms/basic/manu/maintain/update";
return axios({
url: url,
method: method,
data: data
});
}
export function deleteBasicUnitMaintain(query) {
return axios({
url: "/udiwms/basic/manu/maintain/delete",
method: "post",
data: query
});
}
export function combine(query) {
return axios({
url: "/udiwms/basic/manu/maintain/combine",
method: "post",
data: query
});
}
export function combineAll(query) {
return axios({
url: "/udiwms/basic/manu/maintain/combineAll",
method: "get",
params: query
});
}
export function combineSingle(query) {
return axios({
url: "/udiwms/basic/manu/maintain/combineSingle",
method: "post",
data: query
});
}
export function getThrsysUnit(query) {
return axios({
url: "/udiwms/manutMaintain/thirdSys/detail",
method: "get",
params: query
});
}

@ -27,3 +27,5 @@ export function downloadPrescribe(query) {

@ -9,6 +9,15 @@ export function page(query) {
});
}
export function filterNoPage(query) {
return axios({
url: "/udiwms/basic/sk/sicker/filter/noPage",
method: "get",
params: query
});
}
export function downloadSick(query) {
return axios({
url: "/udiwms/basic/sk/sicker/download",
@ -17,5 +26,68 @@ export function downloadSick(query) {
});
}
/**
* 远程下载
*/
export function remoteFilter(query) {
return axios({
url: "/udiwms/basic/sk/sicker/filter/remote",
method: "get",
params: query
});
}
/**
* 处方使用耗材明细
*/
export function skPrescribeDi(query) {
return axios({
url: "/udiwms/basic/sk/prescribe/di/filter",
method: "get",
params: query
});
}
export function skPrescribeCheck(query) {
return axios({
url: "/udiwms/basic/sk/prescribe/check",
method: "get",
params: query
});
}
/**
* 下载并查询处方信息
*/
export function dlOrFilter(query) {
return axios({
url: "/udiwms/basic/sk/prescribe/di/dlOrFilter",
method: "get",
params: query
});
}
/**
* 在线实时获取患者信息
* @param query
* @returns {AxiosPromise}
*/
export function dlSickerOnline(query) {
return axios({
url: "/udiwms/basic/sk/sicker/filter/onLine",
method: "get",
params: query
});
}

@ -0,0 +1,81 @@
import axios from "@/utils/request";
export function changeOrderPage(query) {
return axios(
{
url: "/udi/device/changeOrder/page",
method: "POST",
data: query
}
)
}
export function saveDraftOrder(query) {
return axios(
{
url: "/udi/device/changeOrder/draft/save",
method: "POST",
data: query
}
)
}
export function delDraftOrder(query) {
return axios(
{
url: "/udi/device/changeOrder/del",
method: "POST",
data: query
}
)
}
export function saveChangeOrder(query) {
return axios(
{
url: "/udi/device/changeOrder/save",
method: "POST",
data: query
}
)
}
export function changeOrderDetailByUser(query) {
return axios(
{
url: "/udi/device/changeOrder/detailByUser",
method: "POST",
data: query
}
)
}
export function cancelChangeOrder(orderId, query) {
return axios(
{
url: `/udi/device/changeOrder/cancel/${orderId}`,
method: "GET",
params: query
}
)
}
export function confirmChangeOrder(orderId, query) {
return axios(
{
url: `/udi/device/changeOrder/confirm/${orderId}`,
method: "GET",
params: query
}
)
}
export function rejectChangeOrder(orderId, query) {
return axios(
{
url: `/udi/device/changeOrder/reject/${orderId}`,
method: "GET",
params: query
}
)
}

@ -0,0 +1,49 @@
import axios from "@/utils/request";
export function deviceCheckGenByPlanId(planId) {
return axios(
{
url: `/udi/device/check/gen/${planId}`,
method: "GET"
}
)
}
export function deviceCheckPage(query) {
return axios(
{
url: `/udi/device/check/page`,
method: "POST",
data: query
}
)
}
export function deviceCheckPageByDept(query) {
return axios(
{
url: `/udi/device/check/pageByDept`,
method: "POST",
data: query
}
)
}
export function deviceCheckPrint(taskId) {
return axios(
{
url: `/udi/device/check/info/print/${taskId}`,
method: "GET"
}
)
}
export function deviceCheckPrintByDeviceCode(taskId, deviceCode) {
return axios(
{
url: `/udi/device/check/info/print/${taskId}/${deviceCode}`,
method: "GET"
}
)
}

@ -0,0 +1,21 @@
import axios from "@/utils/request";
export function deviceCheckDetailPage(query) {
return axios(
{
url: `/udi/device/check/detail/page`,
method: "POST",
data: query
}
)
}
export function deviceCheckDetailRepair(query) {
return axios(
{
url: `/udi/device/check/detail/repair`,
method: "POST",
data: query
}
)
}

@ -0,0 +1,20 @@
import axios from "@/utils/request";
export function deviceCheckDetailItemPage(query) {
return axios(
{
url: `/udi/device/check/detail/item/page`,
method: "POST",
data: query
}
)
}
export function deviceCheckDetailItemFinish(query) {
return axios(
{
url: `/udi/device/check/detail/item/finish`,
method: "POST",
data: query
}
)
}

@ -0,0 +1,40 @@
import axios from "@/utils/request";
export function genCheckItemCode() {
return axios(
{
url: "/udi/device/checkItemDict/code/gen",
method: "GET"
}
)
}
export function deviceCheckItemDictPage(query) {
return axios(
{
url: "/udi/device/checkItemDict/page",
method: "POST",
data: query
}
)
}
export function saveDeviceCheckItemDict(query) {
return axios(
{
url: "/udi/device/checkItemDict/save",
method: "POST",
data: query
}
)
}
export function delDeviceCheckItemDict(query) {
return axios(
{
url: `/udi/device/checkItemDict/del/${query}`,
method: "DELETE"
}
)
}

@ -0,0 +1,90 @@
import axios from "@/utils/request";
export function devicePage(query) {
return axios(
{
url: "/udi/device/info/page",
method: "POST",
data: query
}
)
}
export function detailByUserPage(query) {
return axios(
{
url: "/udi/device/info/detailByUser/page",
method: "POST",
data: query
}
)
}
export function deviceAllPage(query) {
return axios(
{
url: "/udi/device/info/all/page",
method: "POST",
data: query
}
)
}
export function detailPage(query) {
return axios(
{
url: "/udi/device/info/detail/page",
method: "POST",
data: query
}
)
}
export function deviceDetailInfo(query) {
return axios(
{
url: "/udi/device/detailInfo/page",
method: "POST",
data: query
}
)
}
export function deviceLogs(deviceCode) {
return axios(
{
url: `/udi/device/log/${deviceCode}`,
method: "GET"
}
)
}
export function genDeviceCode(deviceCode) {
return axios(
{
url: `/udi/device/code/gen`,
method: "GET"
}
)
}
export function genDeviceQR(deviceCode) {
return axios(
{
url: `/udi/device/genQR/${deviceCode}`,
method: "GET"
}
)
}
export function printDevLabel(query) {
return axios({
url: "/udiwms/inv/deptDev/label/print",
method: "post",
data: query,
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
responseType: 'arraybuffer', //一定要设置响应类型否则页面会是空白pdf
});
}

@ -0,0 +1,40 @@
import axios from "@/utils/request";
export function devicePlanPage(query) {
return axios(
{
url: "/udi/device/plan/page",
method: "POST",
data: query
}
)
}
export function devicePlanSave(query) {
return axios(
{
url: "/udi/device/plan/save",
method: "POST",
data: query
}
)
}
export function devicePlanInfo(planId) {
return axios(
{
url: `/udi/device/plan/info/${planId}`,
method: "GET"
}
)
}
export function devicePlanDel(planId) {
return axios(
{
url: `/udi/device/plan/del/${planId}`,
method: "DELETE"
}
)
}

@ -0,0 +1,49 @@
import axios from "@/utils/request";
export function devicePlanDetailGroupPage(query) {
return axios(
{
url: "/udi/device/plan/detailGroup/page",
method: "POST",
data: query
}
)
}
export function devicePlanDetailPage(query) {
return axios(
{
url: "/udi/device/plan/detail/page",
method: "POST",
data: query
}
)
}
export function devicePlanDetailAdd(query) {
return axios(
{
url: "/udi/device/plan/detail/add",
method: "POST",
data: query
}
)
}
export function devicePlanDetailDel(planId,productId) {
return axios(
{
url: `/udi/device/plan/detail/delByProductId/${planId}/${productId}`,
method: "DELETE"
}
)
}
export function devicePlanDetailDelByDeviceCode(planId,deviceCode) {
return axios(
{
url: `/udi/device/plan/detail/delByDeviceCode/${planId}/${deviceCode}`,
method: "DELETE"
}
)
}

@ -0,0 +1,40 @@
import axios from "@/utils/request";
export function devicePlanDetailItemPage(query) {
return axios(
{
url: "/udi/device/plan/detail/item/page",
method: "POST",
data: query
}
)
}
export function devicePlanDetailItemAdd(query) {
return axios(
{
url: "/udi/device/plan/detail/item/add",
method: "POST",
data: query
}
)
}
export function devicePlanDetailItemDel(planId,productId,itemCode) {
return axios(
{
url: `/udi/device/plan/detail/item/delByProductId/${planId}/${productId}/${itemCode}`,
method: "DELETE"
}
)
}
export function devicePlanDetailItemByDeviceCodeDel(planId,deviceCode,itemCode) {
return axios(
{
url: `/udi/device/plan/detail/item/delByDeviceCode/${planId}/${deviceCode}/${itemCode}`,
method: "DELETE"
}
)
}

@ -0,0 +1,29 @@
import axios from "@/utils/request";
export function deviceRepairByUserPage(query) {
return axios(
{
url: "/udi/device/repair/byUser/page",
method: "POST",
data: query
}
)
}
export function deviceRepairInfo(repairId) {
return axios(
{
url: `/udi/device/repair/info/${repairId}`,
method: "GET"
}
)
}
export function finishRepairByUser(repairId) {
return axios(
{
url: `/udi/device/repair/finishByUser/${repairId}`,
method: "GET"
}
)
}

@ -0,0 +1,51 @@
import axios from "@/utils/request";
export function deviceRepairApplyPage(query) {
return axios(
{
url: "/udi/device/repair/apply/page",
method: "POST",
data: query
}
)
}
export function deviceRepairApplyHallPage(query) {
return axios(
{
url: "/udi/device/repair/apply/hall/page",
method: "POST",
data: query
}
)
}
export function deviceRepairApplyConfirmByUserPage(query) {
return axios(
{
url: "/udi/device/repair/apply/confirmByUser/page",
method: "POST",
data: query
}
)
}
export function deviceRepairApplyAdd(query) {
return axios(
{
url: "/udi/device/repair/apply/add",
method: "POST",
data: query
}
)
}
export function confirmDeviceRepairApply(query) {
return axios(
{
url: "/udi/device/repair/apply/confirm",
method: "POST",
data: query
}
)
}

@ -0,0 +1,20 @@
import axios from "@/utils/request";
export function deviceRepairApplyDetailPage(query) {
return axios(
{
url: "/udi/device/repair/apply/detail/page",
method: "POST",
data: query
}
)
}
export function deviceRepairApplyDetailDiagnosis(query) {
return axios(
{
url: "/udi/device/repair/apply/detail/diagnosis",
method: "POST",
data: query
}
)
}

@ -19,6 +19,14 @@ export function addDetail(query) {
});
}
export function repeatAdd(query) {
return axios({
url: "/udiwms/thrsys/order/repeatAdd",
method: "post",
data: query
});
}
export function getOrderDetail(query) {
return axios({

@ -49,3 +49,21 @@ export function excelImport(params) {
});
}
export function createCustom(query) {
return axios({
url: "/udiwms/inout/detail/custom/create",
method: "post",
data: query
});
}
export function filterCusDetailList(params) {
return axios({
url: "/udiwms/inout/detail/custom/filter",
method: "get",
params: params
});
}

@ -16,6 +16,7 @@ export function selectInvProductDetail(params) {
});
}
export function stockCompareSave(params) {
return axios({
url: "/udiwms/stockCompare/save",
@ -47,6 +48,23 @@ export function stockCompareDetailPage(params) {
});
}
export function stockCompareResultPage(params) {
return axios({
url: "/udiwms/stockCompare/detail/result",
method: "POST",
data: params
});
}
export function dlThrCpProduct(params) {
return axios({
url: "/udiwms/stockCompare/addThrProduct",
method: "POST",
data: params
});
}
export function stockCompareDetailDel(params) {
return axios({
url: "/udiwms/stockCompare/detail/del",
@ -54,3 +72,22 @@ export function stockCompareDetailDel(params) {
data: params
});
}
export function uploadCompare(compareId) {
return axios({
url: `/udiwms/stockCompare/compare/${compareId}`,
method: "POST",
});
}
export function compareExportExcel(data) {
return axios({
url: "/udiwms/stockCompare/compare/exportExcel",
method: "post",
responseType: 'blob',
data: data
});
}

@ -0,0 +1,37 @@
import axios from "@/utils/request";
export function getCorps(query) {
return axios({
url: "/udiwms/thrsys/getManus",
method: "get",
params: query
});
}
export function delCorps(query) {
return axios({
url: "/udiwms/thrsys/delManus",
method: "post",
data: query
});
}
export function corpsDlAll(query) {
return axios({
url: "/udiwms/thrsys/manu/corpsDlAll",
method: "post",
data: query
});
}
export function getErpManus(query) {
return axios({
url: "/udiwms/manu/filterErp",
method: "get",
params: query
});
}

@ -90,6 +90,9 @@
.el-dialog {
.el-dialog__header {
}
.el-dialog__body{
//padding: 0;
}
.el-dialog__title {
line-height: 24px;
@ -349,6 +352,7 @@
margin-right: 15px;
margin-left: 15px;
margin-top: 15px;
//margin-bottom: 15px;
/*transition: all .5s;*/
}
@ -367,10 +371,21 @@
margin-top: -10px
}
.el-form-item {
margin-right: 10px;
margin-bottom: 1px;
margin-top: 1px;
//.el-form-item {
// margin-right: 10px;
// margin-bottom: 1px;
// margin-top: 1px;
//}
//.el-form {
// margin-top: -10px;
//}
.query-form-item {
margin-right: 5px;
margin-bottom: 51px;
}

@ -57,10 +57,16 @@ Vue.config.silent = true;
//自定义消息框
import ShowMsgBox from '@/utils/MsgBox'
//自定义组件
import invSelect from "@/views/components/invSelect/invSelect.vue";
import mainActionSelect from "@/views/components/mainActionSelect/index.vue";
import thirdSysSelect from "@/views/components/thirdSysSelect/index.vue";
import actionSelect from "@/views/components/actionSelect/index.vue";
import deptSelect from "@/views/components/deptSelect/index.vue";
import planChooseDevice from "@/views/components/planChooseDevice/index.vue";
import _ from "loadsh"
// 全局方法挂载
Vue.prototype.getDicts = getDicts;
@ -73,6 +79,13 @@ Vue.prototype.selectDictLabel = selectDictLabel;
Vue.prototype.selectDictLabels = selectDictLabels;
Vue.prototype.download = download;
Vue.prototype.handleTree = handleTree;
Vue.prototype.openNewWindow = (url)=>{
return window.open(url,'_blank',`width=1000,height=800,resizable=yes,scrollbars=yes,status=yes,menubar=no,toolbar=no,location=no,left=500,top=200`)
}
import deviceInfo from "@/views/dev/deviceInfo.vue";
import deviceRepairDialog from "@/views/components/deviceRepairDialog/index.vue";
// 全局组件挂载
Vue.component("DictTag", DictTag);
@ -88,6 +101,10 @@ Vue.component("invSelect", invSelect)
Vue.component("mainActionSelect", mainActionSelect)
Vue.component("thirdSysSelect", thirdSysSelect)
Vue.component("actionSelect", actionSelect)
Vue.component("deptSelect", deptSelect)
Vue.component("planChooseDevice", planChooseDevice)
Vue.component("deviceInfo", deviceInfo)
Vue.component("deviceRepairDialog", deviceRepairDialog)
Vue.use(directive);
Vue.use(plugins);
@ -112,9 +129,23 @@ Element.Dialog.props.appendToBody = {type: Boolean, default: true}
Element.Table.props.border = {type: Boolean, default: true}
Element.Table.props.minHeight = {type: String | Number, default: "250"}
Element.Table.props.fit = {type: Boolean, default: true}
Element.Table.props.stripe = {type: Boolean, default: true}
Element.TableColumn.props.highlightCurrentRow = {type: Boolean, default: true}
Element.TableColumn.props.showOverflowTooltip = {type: Boolean, default: true}
Element.DatePicker.props.firstDayOfWeek = {type: Number, default: 1}
Element.Tag.props.effect = {type: String, default: 'dark'}
Element.Select.methods.deleteSelected =
function deleteSelected(event) {
event.stopPropagation()
// 改动在这,原始的是这样 var value = this.multiple ? [] : ''
var value = this.multiple ? [] : null
this.$emit("input", value)
this.emitChange(value)
this.visible = false
this.$emit("clear")
}
Vue.use(Element, {
size: Cookies.get("size") || "mini", // set element-ui default size

@ -22,5 +22,6 @@ const getters = {
locDeptName: state => state.user.locDeptName,
locInvName: state => state.user.locInvName,
adminId: state => state.user.adminId,
user: state => state.user.user,
}
export default getters

@ -131,4 +131,5 @@ export const loadView = (view) => {
}
}
export default permission

@ -4,6 +4,7 @@ import {sha256} from "js-sha256";
const user = {
state: {
user: null,
adminId: "",
token: getToken(),
name: '',
@ -21,6 +22,10 @@ const user = {
mutations: {
SET_USER: (state, user) => {
state.user = user
},
SET_ADMINID: (state, adminId) => {
state.adminId = adminId
},
@ -77,6 +82,7 @@ const user = {
setAdminId(res.data.id)
commit('SET_TOKEN', res.data.token)
commit('SET_ADMINID', res.data.id)
commit('SET_USER', res.data)
resolve(res)
} else {
reject(res.message);
@ -99,6 +105,7 @@ const user = {
} else {
commit('SET_ROLES', ['ROLE_DEFAULT'])
}
commit('SET_USER', user)
commit('SET_AVATAR', avatar)
commit('SET_NAME', user.userName)
commit('SET_EMPLOYEENAME', user.employeeName)
@ -108,6 +115,7 @@ const user = {
commit('SET_LOCIVNCODE', user.locInvCode)
commit('SET_LOCDEPTNAME', user.locDeptName)
commit('SET_LOCIVNNAME', user.locInvName)
commit('SET_ADMINID', user.id)
resolve(res)
console.log("获取用户数据成功-=----");
}).catch(error => {
@ -131,6 +139,7 @@ const user = {
commit('SET_LOCIVNCODE', "")
commit('SET_LOCDEPTNAME', "")
commit('SET_LOCIVNNAME', "")
commit('SET_USER', null)
removeToken()
removeAdminId()
resolve()

@ -0,0 +1,36 @@
export const deviceChangeType = {
ADD: {key: "ADD", tagType: "primary", desc: "新增入库"},
CHANGE: {key: "CHANGE", tagType: "warning", desc: "变更归属"},
DESTROY: {key: "DESTROY", tagType: "danger", desc: "销毁/报废"},
}
export const deviceChangeStatus = {
DRAFT: {key: "DRAFT", tagType: "warning", desc: "草稿"},
WAIT_CONFIRM: {key: "WAIT_CONFIRM", tagType: "warning", desc: "待目标部门确认"},
REJECT_CONFIRM: {key: "REJECT_CONFIRM", tagType: "danger", desc: "目标部门拒绝"},
FINISH: {key: "FINISH", tagType: "success", desc: "已完成"},
CANCEL: {key: "CANCEL", tagType: "info", desc: "已取消"},
}
export const deviceStatus = {
NORMAL: {key: "NORMAL", tagType: "success", desc: "正常"},
CHANGE: {key: "CHANGE", tagType: "warning", desc: "变更归属中"},
REPAIR_APPLY: {key: "REPAIR_APPLY", tagType: "warning", desc: "维修申请中"},
REPAIR: {key: "REPAIR", tagType: "danger", desc: "维修中"},
// CHECK: {key: "CHECK", tagType: "warning", desc: "等待巡检"},
DESTROY: {key: "DESTROY", tagType: "danger", desc: "销毁/报废"},
}
export const deviceRepairApplyStatus = {
WAIT_PROCESS: {key: "WAIT_PROCESS", tagType: "warning", desc: "待受理"},
PROCESSING: {key: "PROCESSING", tagType: "primary", desc: "受理中"},
// REPAIRING: {key: "REPAIRING", tagType: "primary", desc: "维修中"},
FINISH: {key: "FINISH", tagType: "success", desc: "完成"},
}
export const deviceRepairApplyDetailStatus = {
WAIT_DIAGNOSIS: {key: "WAIT_DIAGNOSIS", tagType: "warning", desc: "待诊断"},
// WAIT_REPAIR: {key: "WAIT_REPAIR", tagType: "warning", desc: "待维修"},
REPAIRING: {key: "REPAIRING", tagType: "primary", desc: "维修中"},
FINISH: {key: "FINISH", tagType: "success", desc: "完成"},
}

@ -1,18 +1,45 @@
import { parseTime } from './ruoyi'
import {parseTime} from './ruoyi'
export function copyProperties(source, target) {
const keys = Object.keys(target);
return Object.assign({}, ...keys.map(key => ({[key]: source[key]||target[key]})));
}
export function downloadBase64Image(base64, fileName) {
const a = document.createElement('a');
a.href = base64;
a.download = fileName;
a.click();
a.remove()
}
export function getLoading(that) {
let loading = that.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
setTimeout(()=>{
loading.close()
},30000)
return loading
}
/**
* 表格时间格式化
*/
export function formatDate(cellValue) {
if (cellValue == null || cellValue == "") return "";
var date = new Date(cellValue)
var year = date.getFullYear()
var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
if (cellValue == null || cellValue == "") return "";
var date = new Date(cellValue)
var year = date.getFullYear()
var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
}
/**
@ -21,41 +48,41 @@ export function formatDate(cellValue) {
* @returns {string}
*/
export function formatTime(time, option) {
if (('' + time).length === 10) {
time = parseInt(time) * 1000
} else {
time = +time
}
const d = new Date(time)
const now = Date.now()
const diff = (now - d) / 1000
if (diff < 30) {
return '刚刚'
} else if (diff < 3600) {
// less 1 hour
return Math.ceil(diff / 60) + '分钟前'
} else if (diff < 3600 * 24) {
return Math.ceil(diff / 3600) + '小时前'
} else if (diff < 3600 * 24 * 2) {
return '1天前'
}
if (option) {
return parseTime(time, option)
} else {
return (
d.getMonth() +
1 +
'月' +
d.getDate() +
'日' +
d.getHours() +
'时' +
d.getMinutes() +
'分'
)
}
if (('' + time).length === 10) {
time = parseInt(time) * 1000
} else {
time = +time
}
const d = new Date(time)
const now = Date.now()
const diff = (now - d) / 1000
if (diff < 30) {
return '刚刚'
} else if (diff < 3600) {
// less 1 hour
return Math.ceil(diff / 60) + '分钟前'
} else if (diff < 3600 * 24) {
return Math.ceil(diff / 3600) + '小时前'
} else if (diff < 3600 * 24 * 2) {
return '1天前'
}
if (option) {
return parseTime(time, option)
} else {
return (
d.getMonth() +
1 +
'月' +
d.getDate() +
'日' +
d.getHours() +
'时' +
d.getMinutes() +
'分'
)
}
}
/**
@ -63,18 +90,18 @@ export function formatTime(time, option) {
* @returns {Object}
*/
export function getQueryObject(url) {
url = url == null ? window.location.href : url
const search = url.substring(url.lastIndexOf('?') + 1)
const obj = {}
const reg = /([^?&=]+)=([^?&=]*)/g
search.replace(reg, (rs, $1, $2) => {
const name = decodeURIComponent($1)
let val = decodeURIComponent($2)
val = String(val)
obj[name] = val
return rs
})
return obj
url = url == null ? window.location.href : url
const search = url.substring(url.lastIndexOf('?') + 1)
const obj = {}
const reg = /([^?&=]+)=([^?&=]*)/g
search.replace(reg, (rs, $1, $2) => {
const name = decodeURIComponent($1)
let val = decodeURIComponent($2)
val = String(val)
obj[name] = val
return rs
})
return obj
}
/**
@ -82,15 +109,15 @@ export function getQueryObject(url) {
* @returns {number} output value
*/
export function byteLength(str) {
// returns the byte length of an utf8 string
let s = str.length
for (var i = str.length - 1; i >= 0; i--) {
const code = str.charCodeAt(i)
if (code > 0x7f && code <= 0x7ff) s++
else if (code > 0x7ff && code <= 0xffff) s += 2
if (code >= 0xDC00 && code <= 0xDFFF) i--
}
return s
// returns the byte length of an utf8 string
let s = str.length
for (var i = str.length - 1; i >= 0; i--) {
const code = str.charCodeAt(i)
if (code > 0x7f && code <= 0x7ff) s++
else if (code > 0x7ff && code <= 0xffff) s += 2
if (code >= 0xDC00 && code <= 0xDFFF) i--
}
return s
}
/**
@ -98,13 +125,13 @@ export function byteLength(str) {
* @returns {Array}
*/
export function cleanArray(actual) {
const newArray = []
for (let i = 0; i < actual.length; i++) {
if (actual[i]) {
newArray.push(actual[i])
const newArray = []
for (let i = 0; i < actual.length; i++) {
if (actual[i]) {
newArray.push(actual[i])
}
}
}
return newArray
return newArray
}
/**
@ -112,13 +139,13 @@ export function cleanArray(actual) {
* @returns {Array}
*/
export function param(json) {
if (!json) return ''
return cleanArray(
Object.keys(json).map(key => {
if (json[key] === undefined) return ''
return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])
})
).join('&')
if (!json) return ''
return cleanArray(
Object.keys(json).map(key => {
if (json[key] === undefined) return ''
return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])
})
).join('&')
}
/**
@ -126,21 +153,21 @@ export function param(json) {
* @returns {Object}
*/
export function param2Obj(url) {
const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
if (!search) {
return {}
}
const obj = {}
const searchArr = search.split('&')
searchArr.forEach(v => {
const index = v.indexOf('=')
if (index !== -1) {
const name = v.substring(0, index)
const val = v.substring(index + 1, v.length)
obj[name] = val
const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
if (!search) {
return {}
}
})
return obj
const obj = {}
const searchArr = search.split('&')
searchArr.forEach(v => {
const index = v.indexOf('=')
if (index !== -1) {
const name = v.substring(0, index)
const val = v.substring(index + 1, v.length)
obj[name] = val
}
})
return obj
}
/**
@ -148,9 +175,9 @@ export function param2Obj(url) {
* @returns {string}
*/
export function html2Text(val) {
const div = document.createElement('div')
div.innerHTML = val
return div.textContent || div.innerText
const div = document.createElement('div')
div.innerHTML = val
return div.textContent || div.innerText
}
/**
@ -160,21 +187,21 @@ export function html2Text(val) {
* @returns {Object}
*/
export function objectMerge(target, source) {
if (typeof target !== 'object') {
target = {}
}
if (Array.isArray(source)) {
return source.slice()
}
Object.keys(source).forEach(property => {
const sourceProperty = source[property]
if (typeof sourceProperty === 'object') {
target[property] = objectMerge(target[property], sourceProperty)
} else {
target[property] = sourceProperty
if (typeof target !== 'object') {
target = {}
}
if (Array.isArray(source)) {
return source.slice()
}
})
return target
Object.keys(source).forEach(property => {
const sourceProperty = source[property]
if (typeof sourceProperty === 'object') {
target[property] = objectMerge(target[property], sourceProperty)
} else {
target[property] = sourceProperty
}
})
return target
}
/**
@ -182,19 +209,19 @@ export function objectMerge(target, source) {
* @param {string} className
*/
export function toggleClass(element, className) {
if (!element || !className) {
return
}
let classString = element.className
const nameIndex = classString.indexOf(className)
if (nameIndex === -1) {
classString += '' + className
} else {
classString =
classString.substr(0, nameIndex) +
classString.substr(nameIndex + className.length)
}
element.className = classString
if (!element || !className) {
return
}
let classString = element.className
const nameIndex = classString.indexOf(className)
if (nameIndex === -1) {
classString += '' + className
} else {
classString =
classString.substr(0, nameIndex) +
classString.substr(nameIndex + className.length)
}
element.className = classString
}
/**
@ -202,11 +229,11 @@ export function toggleClass(element, className) {
* @returns {Date}
*/
export function getTime(type) {
if (type === 'start') {
return new Date().getTime() - 3600 * 1000 * 24 * 90
} else {
return new Date(new Date().toDateString())
}
if (type === 'start') {
return new Date().getTime() - 3600 * 1000 * 24 * 90
} else {
return new Date(new Date().toDateString())
}
}
/**
@ -216,38 +243,38 @@ export function getTime(type) {
* @return {*}
*/
export function debounce(func, wait, immediate) {
let timeout, args, context, timestamp, result
let timeout, args, context, timestamp, result
const later = function() {
// 据上一次触发时间间隔
const last = +new Date() - timestamp
const later = function () {
// 据上一次触发时间间隔
const last = +new Date() - timestamp
// 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
if (last < wait && last > 0) {
timeout = setTimeout(later, wait - last)
} else {
timeout = null
// 如果设定为immediate===true因为开始边界已经调用过了此处无需调用
if (!immediate) {
result = func.apply(context, args)
if (!timeout) context = args = null
}
}
}
return function(...args) {
context = this
timestamp = +new Date()
const callNow = immediate && !timeout
// 如果延时不存在,重新设定延时
if (!timeout) timeout = setTimeout(later, wait)
if (callNow) {
result = func.apply(context, args)
context = args = null
// 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
if (last < wait && last > 0) {
timeout = setTimeout(later, wait - last)
} else {
timeout = null
// 如果设定为immediate===true因为开始边界已经调用过了此处无需调用
if (!immediate) {
result = func.apply(context, args)
if (!timeout) context = args = null
}
}
}
return result
}
return function (...args) {
context = this
timestamp = +new Date()
const callNow = immediate && !timeout
// 如果延时不存在,重新设定延时
if (!timeout) timeout = setTimeout(later, wait)
if (callNow) {
result = func.apply(context, args)
context = args = null
}
return result
}
}
/**
@ -258,18 +285,18 @@ export function debounce(func, wait, immediate) {
* @returns {Object}
*/
export function deepClone(source) {
if (!source && typeof source !== 'object') {
throw new Error('error arguments', 'deepClone')
}
const targetObj = source.constructor === Array ? [] : {}
Object.keys(source).forEach(keys => {
if (source[keys] && typeof source[keys] === 'object') {
targetObj[keys] = deepClone(source[keys])
} else {
targetObj[keys] = source[keys]
if (!source && typeof source !== 'object') {
throw new Error('error arguments', 'deepClone')
}
})
return targetObj
const targetObj = source.constructor === Array ? [] : {}
Object.keys(source).forEach(keys => {
if (source[keys] && typeof source[keys] === 'object') {
targetObj[keys] = deepClone(source[keys])
} else {
targetObj[keys] = source[keys]
}
})
return targetObj
}
/**
@ -277,16 +304,16 @@ export function deepClone(source) {
* @returns {Array}
*/
export function uniqueArr(arr) {
return Array.from(new Set(arr))
return Array.from(new Set(arr))
}
/**
* @returns {string}
*/
export function createUniqueString() {
const timestamp = +new Date() + ''
const randomNum = parseInt((1 + Math.random()) * 65536) + ''
return (+(randomNum + timestamp)).toString(32)
const timestamp = +new Date() + ''
const randomNum = parseInt((1 + Math.random()) * 65536) + ''
return (+(randomNum + timestamp)).toString(32)
}
/**
@ -296,7 +323,7 @@ export function createUniqueString() {
* @returns {boolean}
*/
export function hasClass(ele, cls) {
return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'))
return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'))
}
/**
@ -305,7 +332,7 @@ export function hasClass(ele, cls) {
* @param {string} cls
*/
export function addClass(ele, cls) {
if (!hasClass(ele, cls)) ele.className += ' ' + cls
if (!hasClass(ele, cls)) ele.className += ' ' + cls
}
/**
@ -314,77 +341,77 @@ export function addClass(ele, cls) {
* @param {string} cls
*/
export function removeClass(ele, cls) {
if (hasClass(ele, cls)) {
const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)')
ele.className = ele.className.replace(reg, ' ')
}
if (hasClass(ele, cls)) {
const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)')
ele.className = ele.className.replace(reg, ' ')
}
}
export function makeMap(str, expectsLowerCase) {
const map = Object.create(null)
const list = str.split(',')
for (let i = 0; i < list.length; i++) {
map[list[i]] = true
}
return expectsLowerCase
? val => map[val.toLowerCase()]
: val => map[val]
const map = Object.create(null)
const list = str.split(',')
for (let i = 0; i < list.length; i++) {
map[list[i]] = true
}
return expectsLowerCase
? val => map[val.toLowerCase()]
: val => map[val]
}
export const exportDefault = 'export default '
export const beautifierConf = {
html: {
indent_size: '2',
indent_char: ' ',
max_preserve_newlines: '-1',
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
indent_scripts: 'separate',
brace_style: 'end-expand',
space_before_conditional: true,
unescape_strings: false,
jslint_happy: false,
end_with_newline: true,
wrap_line_length: '110',
indent_inner_html: true,
comma_first: false,
e4x: true,
indent_empty_lines: true
},
js: {
indent_size: '2',
indent_char: ' ',
max_preserve_newlines: '-1',
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
indent_scripts: 'normal',
brace_style: 'end-expand',
space_before_conditional: true,
unescape_strings: false,
jslint_happy: true,
end_with_newline: true,
wrap_line_length: '110',
indent_inner_html: true,
comma_first: false,
e4x: true,
indent_empty_lines: true
}
html: {
indent_size: '2',
indent_char: ' ',
max_preserve_newlines: '-1',
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
indent_scripts: 'separate',
brace_style: 'end-expand',
space_before_conditional: true,
unescape_strings: false,
jslint_happy: false,
end_with_newline: true,
wrap_line_length: '110',
indent_inner_html: true,
comma_first: false,
e4x: true,
indent_empty_lines: true
},
js: {
indent_size: '2',
indent_char: ' ',
max_preserve_newlines: '-1',
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
indent_scripts: 'normal',
brace_style: 'end-expand',
space_before_conditional: true,
unescape_strings: false,
jslint_happy: true,
end_with_newline: true,
wrap_line_length: '110',
indent_inner_html: true,
comma_first: false,
e4x: true,
indent_empty_lines: true
}
}
// 首字母大小
export function titleCase(str) {
return str.replace(/( |^)[a-z]/g, L => L.toUpperCase())
return str.replace(/( |^)[a-z]/g, L => L.toUpperCase())
}
// 下划转驼峰
export function camelCase(str) {
return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase())
return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase())
}
export function isNumberStr(str) {
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
}

@ -34,8 +34,8 @@ service.interceptors.request.use(config => {
config.headers = {
ADMIN_ID: getAdminId(),
ADMIN_TOKEN: getToken()
ADMINID: getAdminId(),
ADMINTOKEN: getToken()
};
@ -50,11 +50,11 @@ service.interceptors.request.use(config => {
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
const requestObj = {
url: config.url,
data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
data: typeof config.data === 'Object' ? JSON.stringify(config.data) : config.data,
time: new Date().getTime()
}
const sessionObj = cache.session.getJSON('sessionObj')
if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
if (!sessionObj) {
cache.session.setJSON('sessionObj', requestObj)
} else {
const s_url = sessionObj.url; // 请求地址

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item class="query-form-item" label="单据类型:">
@ -264,10 +264,14 @@ export default {
checkExpire: true, //
checkCertExpire: false,//
editType: 2,
groupBuySplit: null,
checkReview: null,
secCheckReview: null,
thrCheckReview: null,
inPreInBack: 1,
deptNoInvType: 0,
vailPrescribe: false,
inputSick: false,
},
enableMap: {
true: '是',
@ -552,9 +556,13 @@ export default {
checkExpire: 2, //
checkCertExpire: 0, //
editType: 2,
groupBuySplit:null,
backPreinType: 1,
sortNum: 999,
inPreInBack: 1,
deptNoInvType: 0,
vailPrescribe: false,
inputSick: false,
}
this.addDialogVisible = true
},
@ -609,8 +617,8 @@ export default {
init() {
this.uploadFileUrl = process.env.VUE_APP_BASE_API + '/udiwms/bussinessType/file/upload'
this.headers = {
ADMIN_ID: store.getters.adminId,
ADMIN_TOKEN: store.getters.token
ADMINID: store.getters.adminId,
ADMINTOKEN: store.getters.token
}
},
getSyncConfig() {

@ -208,6 +208,14 @@
</el-row>
<el-row type="flex">
<el-col :span="11">
<el-form-item label="集采是拆单" prop="groupBuySplit">
<el-select v-model="inputQuery.groupBuySplit" style="width: 90%" placeholder="集采是拆单">
<el-option label="拆单" :value="1"></el-option>
<el-option label="不拆单" :value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="remark" label="备注">
<el-input v-model="inputQuery.remark" size="small" style="width: 90%" type="textarea" autosize
@ -458,6 +466,29 @@
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">科室库存出库模式</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="inputQuery.deptNoInvType" style="width: 65%"
:disabled="inputQuery.mainAction!= 'WareHouseOut' || !inputQuery.vailInv"
>
<el-option label="当前仓库库存出库" :value="0"></el-option>
<el-option label="上级仓库库存出库" :value="1"></el-option>
<el-option label="总库库存出库" :value="2"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">科室库存出库模式</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">预验收剩余库存自动退库</span>
@ -478,6 +509,43 @@
<span class="sptext">预验收剩余库存自动退库</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">出库是否校验处方</span>
</el-col>
<el-col span="5">
<el-select v-model="inputQuery.vailPrescribe" style="width: 65%"
:disabled="inputQuery.mainAction!= 'WareHouseOut' || inputQuery.corpType != 1"
placeholder="是否启用">
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-col>
<el-col span="13">
<span class="sptext">出库是否校验处方</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">出库是否手输患者信息</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="inputQuery.inputSick" style="width: 65%"
:disabled="inputQuery.mainAction!= 'WareHouseOut' || inputQuery.corpType != 1"
placeholder="是否启用">
<el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">出库是否手输患者信息</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row v-if="inputQuery.preInBack==true">
<el-col span="5">
@ -495,13 +563,12 @@
<span class="sptext">预验收剩余库存退库方式</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row v-if="inputQuery.preInBack==true ">
<el-col span="5">
<span class="sptext">预验收退库单据类型</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="inputQuery.preInBackAction" style="width: 65%">
<el-option
@ -514,12 +581,11 @@
</el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">预验收退库单据类型</span>
</el-col>
</el-row>
<el-divider></el-divider>
</el-collapse-item>

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form v-if="queryList && queryList.length > 0" :model="query" label-width="100px" v-show="showSearch">
<el-form v-if="queryList && queryList.length > 0 && showSearch" :model="query" label-width="100px">
<!-- <el-row style="width: 100%">
<el-col :span="8">
<el-form-item label="单号:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" label-width="100px" v-show="showSearch">
<el-form :model="query" label-width="100px" v-if="showSearch">
<el-row style="width: 100%">
<el-col :span="8">
<el-form-item label="单号:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="query" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="记录ID:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" label-width="100px" v-show="showSearch" size="mini">
<el-form :model="query" label-width="100px" v-if="showSearch" size="mini">
<el-row>
<el-col :span="6">
<el-form-item label="记录ID:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" label-width="100px" v-show="showSearch" size="mini">
<el-form :model="query" label-width="100px" v-if="showSearch" size="mini">
<el-row>
<el-col :span="6">
<el-form-item label="记录ID:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="query" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="往来单位编码:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" label-width="100px" class="query-form" size="mini" v-show="showSearch">
<el-form :model="query" label-width="100px" class="query-form" size="mini" v-if="showSearch">
<el-row>
<el-col span="6">
<el-form-item label="搜索:">
@ -538,9 +538,7 @@ export default {
},
getThirdSysDetail() {
let query = {};
if (this.formName == "update") {
query = {
id: this.editQuery.id,
@ -555,8 +553,8 @@ export default {
this.loading = false;
this.sysList = [];
});
}
,
},
change() {
var pinyin = require("pinyin");
var py = pinyin(this.editQuery.name, {

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" label-width="100px" v-show="showSearch" size="mini">
<el-form :model="query" label-width="100px" v-if="showSearch" size="mini">
<el-row>
<el-col :span="6">
<el-form-item label="搜索:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card" v-if="checked">
<el-form size="mini" :model="erpQuery" label-width="100px" v-show="showSearch">
<el-form size="mini" :model="erpQuery" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="往来单位ID:">
@ -40,7 +40,7 @@
</el-card>
<el-card class="el-card">
<el-form :model="unitQuery" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="unitQuery" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="往来单位编码:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" label-width="100px" v-show="showSearch" size="mini">
<el-form :model="query" label-width="100px" v-if="showSearch" size="mini">
<el-row>
<el-col :span="6">
<el-form-item label="搜索:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card" v-if="checked">
<el-form :inline="true" :model="erpQuery" size="mini" label-width="100px" v-show="showSearch">
<el-form :inline="true" :model="erpQuery" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="单位编码:">
@ -35,7 +35,7 @@
</el-card>
<el-card class="el-card">
<el-form :model="unitQuery" label-width="100px" v-show="showSearch" size="mini">
<el-form :model="unitQuery" label-width="100px" v-if="showSearch" size="mini">
<el-row>
<el-col span="6">
<el-form-item label="往来单位编码:">

@ -6,7 +6,7 @@
:loading="loading">提交
</el-button>
</el-button-group>
<el-form :model="filterQuery" class="query-form" size="mini" label-width="120px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="120px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item label="唯一编码:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="listQuery" label-width="120px" v-show="showSearch">
<el-form :model="listQuery" label-width="120px" v-if="showSearch">
<el-row>
<el-col :span="18">
<el-form-item label="UDI码:" >

@ -2,7 +2,7 @@
<div>
<el-card class="el-card">
<div>
<el-form :model="unionQuery" size="mini" label-width="125px" v-show="showSearch">
<el-form :model="unionQuery" size="mini" label-width="125px" v-if="showSearch">
<el-row>
<el-col :span="18">
<el-form-item class="query-form-item" label="UDI码:">

@ -2,7 +2,7 @@
<div>
<el-card class="el-card">
<div>
<el-form :model="unionQuery" size="mini" label-width="125px" v-show="showSearch">
<el-form :model="unionQuery" size="mini" label-width="125px" v-if="showSearch">
<el-row>
<el-col :span="18">
<el-form-item class="query-form-item" label="UDI码:">

@ -0,0 +1,227 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="unitQuery" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="往来单位编码:">
<el-input v-model="unitQuery.unitId" style="width: 90%" placeholder="请输入往来单位编码" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="请设置主系统:">
<el-select v-model="thirdSysFk" style="width: 90%" placeholder="请设置主系统" disabled>
<el-option
v-for="item in thirdSys"
:key="item.value"
:label="item.thirdName"
:value="item.thirdId">
<span style="float: left">{{ item.thirdName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
</el-option>
</el-select>
</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="search"></el-button>
<el-button type="primary" size="mini" icon="el-icon-bottom-right" @click="combine"></el-button>
<el-button type="primary" size="mini" icon="el-icon-bottom-right" @click="combineAll"></el-button>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table :data="unitlList" style="width: 100%" @selection-change="handleSelectionUdiChange" border
highlight-current-row>
<el-table-column type="selection" width="55" :selectable="checkSelectable"></el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="往来单位编码" prop="unitId"></el-table-column>
<el-table-column label="往来单位名称" prop="name" show-overflow-tooltip></el-table-column>
<el-table-column label="往来单位简写" show-overflow-tooltip prop="spell"></el-table-column>
<el-table-column label="地址" prop="addr" show-overflow-tooltip></el-table-column>
</el-table>
</el-card>
<pagination
v-show="total>0"
:total="total"
:page.sync="unitQuery.page"
:limit.sync="unitQuery.limit"
@pagination="handlepageChange"
></pagination>
</div>
</template>
<script>
import {getBasicThirdSys} from "@/api/basic/basicThirdSys";
import {getCorps} from "@/api/thrsys/thrManus";
import {combine, combineAll} from "@/api/basic/basicManuMaintain";
export default {
data() {
return {
showSearch: true,
unitQuery: {
page: 1,
limit: 10,
key: "",
thirdSys: null,
},
combineQuery: {
thirdSys: "",
keys: [],
custmandocResponses: [],
},
total: 0,
erpTotal: 0,
checked: false,
unitlList: [],
erpList: [],
currentRow: null,
multipleUdiSelection: [],
thirdSys: [],
thirdSysFk: null,
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.unitQuery = {
key: "",
page: 1,
limit: 10,
thirdSys: null,
};
this.getList();
},
hideSearch() {
this.showSearch = !this.showSearch;
},
handlepageChange(val) {
this.unitQuery.page = val.page;
this.getList();
},
handleErppageChange(val) {
this.erpQuery.page = val;
this.getErpList();
},
checkSelectable(row) {
return !row.checked;
},
search() {
this.unitQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
this.unitQuery.thirdSys = this.thirdSysFk;
getCorps(this.unitQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.unitlList = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
this.unitlList = [];
this.total = 0;
}
})
.catch(() => {
this.loading = false;
this.unitlList = [];
this.total = 0;
});
},
intentBack() {
this.$router.go(-1);
},
getBasicThirdSys() {
let query = {
enabled: true,
mainSys: true,
};
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
this.thirdSysFk = this.thirdSys[0].thirdId;
this.getList();
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
combine() {
let selectData = this.multipleUdiSelection;
var ids = [];
selectData.forEach((obj) => {
ids.push(obj);
});
if (ids.length == 0) {
this.$message.warning("请选择往来单位信息!");
return;
}
this.combineQuery.thirdSys = this.thirdSysFk;
this.combineQuery.custmandocResponses = ids;
combine(this.combineQuery)
.then((response) => {
if (response.code == 20000) {
this.$emit("closeMain", true);
} else {
this.$emit("closeMain", false);
}
})
.catch(() => {
this.$emit("closeMain", false);
});
},
combineAll() {
this.$confirm("此操作将在后台自动选入所有查询结果, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.unitQuery.thirdSys = this.thirdSysFk;
combineAll(this.unitQuery)
.then((response) => {
if (response.code == 20000) {
this.$emit("closeMain", true);
} else {
this.$emit("closeMain", false);
}
})
.catch(() => {
this.$emit("closeMain", false);
});
})
.catch(() => {
});
},
handleCurrentChange(val) {
this.currentRow = val;
this.unitQuery.key = this.currentRow.name;
},
handleSelectionUdiChange(val) {
this.multipleUdiSelection = val;
},
},
created() {
this.getBasicThirdSys();
},
};
</script>

@ -0,0 +1,239 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="unitQuery" label-width="100px" v-if="showSearch" size="mini">
<el-row>
<el-col span="6">
<el-form-item label="生产企业编码:">
<el-input v-model="unitQuery.unitId" style="width: 90%" placeholder="生产企业编码" clearable></el-input>
</el-form-item>
</el-col>
<el-col span="6">
<el-form-item label="生产企业:">
<el-input v-model="unitQuery.name" style="width: 90%" placeholder="生产企业" clearable></el-input>
</el-form-item>
</el-col>
<el-col span="6">
<el-form-item label="外部系统:">
<el-select v-model="thirdSysFk" style="width: 90%" placeholder="请选择第三方系统" disabled="true">
<el-option
v-for="item in thirdSys"
:key="item.value"
:label="item.thirdName"
:value="item.thirdId">
<span style="float: left">{{ item.thirdName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
</el-option>
</el-select>
</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="searchList"></el-button>
<el-button type="primary" size="mini" icon="el-icon-bottom-right" @click="combine" :loading="combineLoading">
选入
</el-button>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table border highlight-current-row @current-change="handleCurrentChange" :data="unitlList"
:row-class-name="tableRowClassName" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="生产企业编码" prop="unitId"></el-table-column>
<el-table-column label="生产企业名称" prop="name" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业简写" show-overflow-tooltip prop="spell"></el-table-column>
<el-table-column label="地址" prop="addr"></el-table-column>
</el-table>
</el-card>
<pagination
v-show="total>0"
:total="total"
:page.sync="unitQuery.page"
:limit.sync="unitQuery.limit"
@pagination="handlepageChange"
></pagination>
</div>
</template>
<script>
import {getBasicThirdSys} from "@/api/basic/basicThirdSys";
import {getCorps} from "@/api/thrsys/thrManus";
import {combine, combineAll, combineSingle} from "@/api/basic/basicManuMaintain";
export default {
name: "combinType",
props: {
corpData: {
type: Object,
required: true,
},
defaultSys: {
type: Object,
required: true,
}
},
data() {
return {
showSearch: true,
unitQuery: {
page: 1,
limit: 10,
key: "",
thirdSys: null,
},
combineQuery: {
thirdSys: "",
key: null,
basicErpUnitsResponse: [],
},
total: 0,
erpTotal: 0,
checked: false,
unitlList: [],
erpList: [],
currentRow: null,
multipleUdiSelection: [],
thirdSys: [],
thirdSysFk: null,
combineLoading: false,
};
},
methods: {
handlepageChange(val) {
this.unitQuery.page = val.page;
this.getList();
},
handleErppageChange(val) {
this.erpQuery.page = val;
this.getErpList();
},
searchList() {
this.unitQuery.page = 1;
this.getList();
},
hideSearch() {
this.showSearch = !this.showSearch;
},
onReset() {
this.unitQuery = {
page: 1,
limit: 10,
key: "",
thirdSys: null,
}
this.total = 0;
this.getList();
},
getList() {
this.loading = true;
this.unitQuery.thirdSys = this.thirdSysFk;
getCorps(this.unitQuery)
.then((response) => {
console.log(response);
this.loading = false;
if (response.code == 20000) {
this.unitlList = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
this.unitlList = [];
this.total = 0;
}
})
.catch(() => {
this.loading = false;
this.unitlList = [];
this.total = 0;
});
},
intentBack() {
this.$router.go(-1);
},
getBasicThirdSys() {
let query = {
enabled: true,
};
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
this.thirdSysFk = this.thirdSys[0].thirdId;
if (this.defaultSys != null) {
this.thirdSysFk = this.defaultSys;
}
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
handleCurrentChange(val) {
console.log(val);
this.combineQuery.thirdSys = this.thirdSysFk;
this.combineQuery.key = this.corpData.id;
this.combineQuery.basicErpUnitsResponse = val;
},
combine() {
if (this.combineQuery.key == null) {
this.$message.warning("未选择生产企业!");
return;
}
if (this.combineQuery.basicErpUnitsResponse.checked == true) {
this.$message.warning("该生产企业已被关联,不能重复选入!");
return;
}
this.combineLoading = true;
combineSingle(this.combineQuery)
.then((response) => {
this.combineLoading = false;
this.$emit("cancelDialog", true);
if (response.code == 20000) {
this.$message.success("关联成功!");
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.combineLoading = false;
this.$emit("cancelDialog", false);
});
},
tableRowClassName({row}) {
if (row.checked) return "warning-row";
return "";
},
handleSelectionUdiChange(val) {
console.log("----" + val[0].id);
this.multipleUdiSelection = val;
},
},
created() {
this.getBasicThirdSys();
},
};
</script>
<style scoped>
div /deep/ .el-table .warning-row {
background: #bebebe;
}
div /deep/ .el-table .success-row {
background: #ffffff;
}
</style>

@ -0,0 +1,627 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="query" label-width="100px" class="query-form" size="mini" v-if="showSearch">
<el-row>
<el-col span="6">
<el-form-item label="搜索:">
<el-input v-model="query.key" placeholder="搜索" style="width: 90%" clearable="true"></el-input>
</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="search"></el-button>
<el-button type="primary" icon="el-icon-plus" @click.native="handleForm(null, null)"
:disabled="!configParms.basicCorp">新增
</el-button>
<el-button type="primary" icon="el-icon-bottom-right" @click="intentDetail"></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
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="生产企业编码" prop="erpId" show-overflow-tooltip></el-table-column>
<el-table-column label="第三方主系统ID" prop="thirdId" show-overflow-tooltip></el-table-column>
<el-table-column label="名称" prop="name" show-overflow-tooltip></el-table-column>
<el-table-column label="简写" prop="spell" show-overflow-tooltip></el-table-column>
<el-table-column label="社会信用号" prop="creditNo" show-overflow-tooltip></el-table-column>
<el-table-column label="地址" prop="addr" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="120">
<template slot-scope="scope">
<el-button type="text" @click.native="handleForm(scope.$index, scope.row)">编辑</el-button>
<el-button type="text" :disabled="!configParms.basicCorp" @click.native.stop="deleteDialog(scope.row)">
删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="query.page"
:limit.sync="query.limit"
@pagination="handleCurrentChange"
></pagination>
<el-dialog
:title="combinTypeMap[combinType]"
:visible.sync="selectDrugDialogVisible"
width="80%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="selectDrugDialogVisible"
>
<selectUnit v-on:closeMain="closeMain"></selectUnit>
</el-dialog>
<el-dialog
:title="combinTypeMap[combinType]"
:visible.sync="selectSingleUnitVisible"
width="85%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="selectSingleUnitVisible"
>
<selectSingleUnit v-on:cancelDialog="cancelDialog" :corpData="corpData"
:defaultSys="defaultSys"></selectSingleUnit>
</el-dialog>
<!--表单-->
<el-dialog
:title="formMap[formName]"
:visible.sync="formVisible"
:before-close="hideForm"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="60%"
top="5vh"
>
<el-table :data="sysList" style="width: 100%" border v-if="formName=='update'">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="第三方系统名称" prop="sysName" show-overflow-tooltip></el-table-column>
<el-table-column label="第三方生产企业ID" prop="thirdId" show-overflow-tooltip></el-table-column>
<el-table-column label="第三方生产企业名称" prop="thirdName" show-overflow-tooltip></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="intentSelect(scope.row)" :disabled="!configParms.basicCorp">
关联
</el-button>
<el-button type="text" size="small" @click.native.stop="removeErp(scope.row)"
:disabled="scope.row.thirdId=='' ||scope.row.thirdId==null || !configParms.basicCorp">解绑
</el-button>
</template>
</el-table-column>
</el-table>
<el-form :model="editQuery" :rules="formRules" style="margin-top: 20px" label-width="120px" ref="dataForm">
<el-row type="flex">
<el-col :span="12" type="flex">
<el-form-item label="生产企业名称" prop="name">
<el-input v-model="editQuery.name" size="small" style="width: 90%" auto-complete="off" @input="change()"
splaceholder="请输入生产企业名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" type="flex">
<el-form-item label="生产企业编码" prop="erpId">
<el-input v-model="editQuery.erpId" style="width: 90%" auto-complete="off" disabled="true"
splaceholder="请输入生产企业编码"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="12" type="flex">
<el-form-item label="社会信用号" prop="creditNo">
<el-input v-model="editQuery.creditNo" style="width: 90%" splaceholder="请输入社会信用号"
auto-complete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" type="flex">
<el-form-item label="联系人" prop="contact">
<el-input v-model="editQuery.contact" splaceholder="请输入联系人" style="width: 90%"
auto-complete="off"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :type="flex">
<el-col :span="12" type="flex">
<el-form-item label="地址" prop="addr">
<el-input type="" v-model="editQuery.addr" splaceholder="请输入地址" style="width: 90%"
auto-complete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" type="flex">
<el-form-item label="联系电话" prop="mobile">
<el-input v-model="editQuery.mobile" splaceholder="请输入联系电话" auto-complete="off"
style="width: 90%"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :type="flex">
<!-- <el-col :span="12" type="flex">-->
<!-- <el-form-item label="生产企业类型" prop="corpType">-->
<!-- <el-select v-model="editQuery.corpType" style="width: 90%" placeholder="请选择生产企业类型">-->
<!-- <el-option-->
<!-- v-for="item in corpTypeList"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12" type="flex">
<el-form-item label="拼音码" prop="spell">
<el-input v-model="editQuery.spell" placeholder="请输入拼音码" auto-complete="off"
style="width: 90%"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style='text-align: center; margin-bottom: 10px;'>
<el-button @click.native="hideForm">取消</el-button>
<el-button type="primary" @click.native="formSubmit()" :loading="formLoading"
:disabled="!configParms.basicCorp">提交
</el-button>
</div>
</el-dialog>
</el-card>
</div>
</template>
<script>
import {
getBasicManuMaintains, basicUnitMaintainSave, deleteBasicUnitMaintain, getThrsysUnit
} from "@/api/basic/basicManuMaintain";
import selectUnit from "./corpRelevance";
import selectSingleUnit from "./corpSingleRelevance";
import {getBasicThirdSys} from "@/api/basic/basicThirdSys";
import {findConfig} from "@/api/sync/spsSyncStatus";
var pinyin = require("pinyin");
export default {
data() {
return {
query: {
key: "",
page: 1,
limit: 20,
},
showSearch: true,
erpIdColumn: false,
thirdIdColumn: false,
editQuery: {
id: "",
thirdId: "",
erpId: "",
name: "",
spell: "",
addr: "",
status: "",
type: "",
creditNo: "",
contact: "",
mobile: ""
},
corpData: null,
checked: false,
formName: null,
formMap: {
add: "新增",
update: "编辑"
},
formLoading: false,
formVisible: false,
combinType: 0,//0:1
combinTypeMap: {
0: "选入生产企业信息",
1: "关联生产企业信息",
},
corpTypeList: [
{
value: 1,
label: "客户"
},
{
value: 2,
label: "供应商"
},
{
value: 3,
// label: ""
label: "内部科室"
},
{
value: 4,
label: "特殊往来"
}
],
formRules: {
name: [
{required: true, message: "请输入名称", trigger: "blur"}
],
// erpId: [
// {required: true, message: "", trigger: "blur"}
// ],
creditNo: [
{required: true, message: "请输入社会信用号", trigger: "blur"}
],
corpType: [
{required: true, message: "请选择生产企业类型", trigger: "blur"}
]
},
spellUpdate: false,
editDialogVisible: false,
selectDrugDialogVisible: false,
selectSingleUnitVisible: false,
list: [],
sysList: [],
loading: false,
total: 0,
multipleSelection: [],
thirdSys: [],
thirdSysFk: null,
defaultSys: null,
configParms: {},
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.query = {
key: "",
corpType: "2",
page: 1,
limit: 20,
};
this.getList();
},
search() {
this.query.page = 1;
this.getList();
},
getList() {
this.loading = true;
this.erpIdColumn = false;
this.thirdIdColumn = false;
getBasicManuMaintains(this.query)
.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;
});
},
hideSearch() {
this.showSearch = !this.showSearch;
},
//
resetForm() {
if (this.$refs["dataForm"]) {
//
this.$refs["dataForm"].clearValidate();
//
this.$refs["dataForm"].resetFields();
this.getList();
}
},
//
hideForm() {
//
this.formVisible = !this.formVisible;
this.getList();
return true;
},
//
handleForm(index, row) {
this.formVisible = true;
this.formName = "add";
this.spellUpdate = false;
if (index !== null) {
this.index = index;
this.formName = "update";
this.spellUpdate = true;
this.editQuery = row;
} else {
this.editQuery = {
id: "",
thirdId: "",
erpId: "",
name: "",
spell: "",
addr: "",
status: "",
type: "",
creditNo: "",
contact: "",
mobile: ""
};
}
this.getThirdSysDetail();
},
formSubmit() {
if (this.$isBlank(this.editQuery.corpType)) {
this.$message.error("生产企业类型不能为空!");
return;
}
this.$refs["dataForm"].validate(valid => {
if (valid) {
this.formLoading = true;
this.editQuery.thirdId = null;
this.editQuery.thirdId1 = null;
this.editQuery.thirdId2 = null;
this.editQuery.thirdId3 = null;
this.editQuery.thirdId4 = null;
this.editQuery.thirdName = null;
this.editQuery.thirdName1 = null;
this.editQuery.thirdName2 = null;
this.editQuery.thirdName3 = null;
this.editQuery.thirdName4 = null;
let data = Object.assign({}, this.editQuery);
basicUnitMaintainSave(data, this.formName)
.then(response => {
this.formLoading = false;
if (response.code !== 20000) {
this.$message.error(response.message);
return false;
}
this.$message.success("操作成功");
this.formVisible = false;
if (this.formName === "add") {
//
if (response.data && response.data.id) {
data.id = response.data.id;
this.list.unshift(data);
}
} else {
this.list.splice(this.index, 1, data);
}
//
this.resetForm();
})
.catch(() => {
this.formLoading = false;
});
}
});
},
deleteUnit(data) {
this.loading = true;
let tquery = {
id: data.id + "",
};
deleteBasicUnitMaintain(tquery)
.then((response) => {
if (response.code == 20000) {
this.getList();
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
cancelDialog() {
this.editDialogVisible = false;
this.selectSingleUnitVisible = false;
this.getList();
this.getThirdSysDetail();
},
closeMain(val) {
this.selectDrugDialogVisible = false;
if (val) {
this.$message.success("添加成功!");
this.getList();
} else {
this.$message.error("添加失败!");
}
},
handleModifyClick(row) {
this.editDialogVisible = true;
this.editQuery = row;
this.getThirdSysDetail();
},
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该生产企业信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.deleteUnit(rowId);
})
.catch(() => {
});
},
exportTxt() {
},
intentDetail() {
this.combinType = 0;
this.selectDrugDialogVisible = true;
},
intentSelect(row) {
this.combinType = 1;
this.corpData = this.editQuery;
this.defaultSys = row.sysId;
this.selectSingleUnitVisible = true;
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
handleCurrentChange(val) {
this.query.page = val.page;
this.getList();
},
getBasicThirdSys() {
let query = {
enabled: null,
};
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
this.thirdSysFk = this.thirdSys[0].thirdId;
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
getThirdSysDetail() {
let query = {};
if (this.formName == "update") {
query = {
id: this.editQuery.id,
}
}
getThrsysUnit(query)
.then((response) => {
this.loading = false;
this.sysList = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.sysList = [];
});
}
,
change() {
var pinyin = require("pinyin");
var py = pinyin(this.editQuery.name, {
style: pinyin.STYLE_FIRST_LETTER, //
heteronym: true,
});
var str = "";
py.forEach((item) => {
str = str + item[0];
});
this.editQuery.spell = str;
},
removeErp(row) {
this.$confirm("此操作将解除该绑定生产企业信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let query = {
relId: this.editQuery.id,
thirdSys: row.sysId
};
removeRl(query)
.then((response) => {
if (response.code == 20000) {
this.getThirdSysDetail()();
this.$message({
type: "success",
message: "解绑成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
})
.catch(() => {
});
},
getSyncConfig() {
findConfig()
.then((response) => {
if (response.code == 20000) {
this.configParms = response.data;
}
})
.catch(() => {
});
},
}
,
mounted() {
}
,
components: {
selectUnit, selectSingleUnit
}
,
created() {
this.getList();
this.getSyncConfig();
this.getBasicThirdSys();
}
,
}
;
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -2,7 +2,7 @@
<div>
<el-card class="el-card">
<div>
<el-form v-if="queryList && queryList.length > 0" :model="filterQuery" size="mini" label-width="125px" v-show="showSearch">
<el-form v-if="queryList && queryList.length > 0 && showSearch" :model="filterQuery" size="mini" label-width="125px">
<el-row style=" display:flex; flex-wrap: wrap; ">
<template v-for="(item, index) in queryList" >
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`" :key="item.id">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="filterQuery" label-width="120px" v-show="showSearch">
<el-form :model="filterQuery" label-width="120px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="物资编码:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="filterQuery" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="18">
<el-form-item class="query-form-item" label="UDI码:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="filterQuery" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="18">
<el-form-item class="query-form-item" label="UDI码:">

@ -37,11 +37,10 @@
</el-button>
<el-col style="border-left: 3px solid #dddddd; overflow-y: hidden">
<el-form
v-if="queryList && queryList.length > 0"
v-if="queryList && queryList.length > 0 && showSearch"
:model="filterQuery"
size="mini"
label-width="100px"
v-show="showSearch"
>
<!-- <el-row>-->
<!-- <el-col :span="18">-->
@ -273,31 +272,33 @@
>查询
</el-button
>
<el-button type="primary" icon="el-icon-plus" @click="editUdiType"
v-if="vueRouteSource==1"
>物资分类管理
</el-button>
<el-button
type="primary"
icon="el-icon-plus" v-if="vueRouteSource==1"
@click="intentImportUdi"
>选入DI信息
</el-button
>
<el-button
type="primary"
icon="el-icon-plus" v-if="vueRouteSource==1"
@click="intentImportErp"
>添加院内字典
</el-button
>
<el-button
type="primary"
icon="el-icon-plus" v-if="vueRouteSource==1"
@click="intentDetail"
>关联添加
</el-button
>
<template v-if="!isChoose">
<el-button type="primary" icon="el-icon-plus" @click="editUdiType"
v-if="vueRouteSource==1"
>物资分类管理
</el-button>
<el-button
type="primary"
icon="el-icon-plus" v-if="vueRouteSource==1"
@click="intentImportUdi"
>选入DI信息
</el-button
>
<el-button
type="primary"
icon="el-icon-plus" v-if="vueRouteSource==1"
@click="intentImportErp"
>添加院内字典
</el-button
>
<el-button
type="primary"
icon="el-icon-plus" v-if="vueRouteSource==1"
@click="intentDetail"
>关联添加
</el-button
>
</template>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
@ -1511,7 +1512,7 @@
<el-collapse-item name="6">
<template slot="title">
<p class="form-title">版本信息</p>
<p class="form-title">国家DI标识数据库版本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
@ -1768,6 +1769,8 @@ import {
} from "@/utils/customConfig";
export default {
name: "prodcut",
props: {isChoose: {required: false, default: false, type: Boolean}, chooseFunc: {required: false, type: Function}},
data() {
return {
Dictionary: false, //
@ -1817,6 +1820,13 @@ export default {
true: "可配送",
false: "不可配送",
},
uploadMap: {
null: "未上传",
1: "已上传",
2: "上传失败",
},
pId: 0,
productRemarkSet: {
remarkTitle1: "备注字段1",
@ -1881,6 +1891,7 @@ export default {
activeNames: ["1"],
useNumEnable: true,
vueRouteSource: 1, // 1:2
isSelect: false,
};
},
filters: {
@ -1899,6 +1910,16 @@ export default {
};
return statusMap[status];
},
uploadFilterType(status) {
const statusMap = {
null: "warning",
0: "warning",
1: "success",
2: "danger",
};
return statusMap[status];
},
},
methods: {
@ -2214,8 +2235,21 @@ export default {
},
uploadThird(row) {
this.$confirm('确定上传至第三方系统?', '提示', {
uploadMsg(_this,row) {
_this.$alert(row.uploadMsg, '上传', {
confirmButtonText: '确定',
callback: action => {
_this.$message({
type: 'info',
message: `action: ${action}`
});
}
});
},
uploadThird(_this,row) {
_this.$confirm('确定上传至第三方系统?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
@ -2224,14 +2258,14 @@ export default {
postThirdProduct(row)
.then((response) => {
if (response.code == 20000) {
this.loading = false;
this.$message.success(response.data);
_this.loading = false;
_this.$message.success(response.data);
} else {
this.$message.error(response.message);
_this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
_this.loading = false;
});
})
.catch(() => {
@ -2450,6 +2484,9 @@ export default {
selectUnBindHospProduct,
},
created() {
// debugger
// if (this.isChoose != null)
// this.isSelect = this.isChoose;
this.vueRouteSource = this.$route.query.vueRouteSource;
this.findBasicProductSet();
getHead("product","1").then((re) => {

@ -3,7 +3,7 @@
<el-card>
<el-row type="flex">
<el-col style="flex: 1" v-show="Dictionary">
<el-col v-show="showSearch" style="min-width: 300px; max-width: 100%">
<el-col v-if="showSearch" style="min-width: 300px; max-width: 100%">
<el-tree
:data="treeList"
class="tree"
@ -65,7 +65,7 @@
v-if="queryList && queryList.length > 0"
size="mini"
label-width="100px"
v-show="showSearch"
v-if="showSearch"
>
<el-row style=" display:flex; flex-wrap: wrap; ">
<template v-for="(item, index) in queryList" >
@ -1453,7 +1453,7 @@
<el-collapse-item name="6">
<template slot="title">
<p class="form-title">版本信息</p>
<p class="form-title">国家DI标识数据库版本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">

@ -24,7 +24,7 @@
:model="filterQuery"
size="mini"
label-width="100px"
v-show="showSearch"
v-if="showSearch"
>
<el-row>
<el-col :span="18">
@ -1237,7 +1237,7 @@
<el-collapse-item name="6">
<template slot="title">
<p class="form-title">版本信息</p>
<p class="form-title">国家DI标识数据库版本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="filterQuery" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6" >
<el-form-item label="UDI码:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="query" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="query" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="记录ID:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="query" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="query" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="UDI编码:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form v-if="queryList && queryList.length > 0" :model="filterQuery" label-width="120px" v-show="showSearch">
<el-form v-if="queryList && queryList.length > 0 && showSearch" :model="filterQuery" label-width="120px">
<el-row style=" display:flex; flex-wrap: wrap; ">
<template v-for="(item, index) in queryList" >
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`" :key="item.id">

@ -253,7 +253,6 @@
<selectDiDetail :editQuery="diDetails"
></selectDiDetail>
</el-dialog>
-
</div>
</template>

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="erpQuery" label-width="120px" v-show="showSearch">
<el-form :model="erpQuery" label-width="120px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="物品编码:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="query" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="query" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="记录ID:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="query" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="query" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="记录ID:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card>
<el-form :model="filterQuery" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="18">
<el-form-item class="query-form-item" label="UDI码:">

@ -1,6 +1,9 @@
import {downloadSick, page} from "@/api/basic/sicker/skPersonApi";
import {detail, downloadPrescribe, page as prescribePage} from "@/api/basic/sicker/prescribeApi";
import skPrescribeDi from "./skPrescribeDi.vue";
import skPersonDownload from "./skPersonDownload.vue";
let query = {
name: "",
code: "",
@ -33,6 +36,9 @@ export default {
// =============患者=================
showSickerDialog: false,
sicker: null,
sickDiDialog: false,
sickDlDialog: false,
// =============患者end================
// ============处方=============
sickerInfo: null,
@ -51,6 +57,10 @@ export default {
created() {
this.getList()
},
components: {
skPrescribeDi, skPersonDownload
},
methods: {
onReset() {
this.filterQuery = {...query}
@ -78,6 +88,10 @@ export default {
this.prescribeQuery = {...prescribeQuery}
this.prescribeQuery.sickerCode = row.code
this.prescribeLoading = true
this.getPrescribeList()
},
getPrescribeList() {
prescribePage(this.prescribeQuery).then(res => {
this.prescribeLoading = false
this.prescribeList = res.data.list || []
@ -88,10 +102,20 @@ export default {
this.prescribeTotal = 0
})
},
showSickerInfo(row) {
this.sicker = {...row}
this.showSickerDialog = true
},
showPrescribeDiInfo(row) {
this.sicker = {...row}
this.sickDiDialog = true
},
showPrescribeDetail(row) {
this.fullscreenLoading = true
detail({prescribeCode: row.code}).then(res => {
@ -108,27 +132,39 @@ export default {
})
},
onDownload() {
this.dlSickLoading = true;
downloadSick({thidSys: "thirdId"}).then(res => {
this.dlSickLoading = false
if (res.code != 20000) {
this.$message.error(res.message)
return
}
}).catch(() => {
this.dlSickLoading = false
this.$message.error("数据加载失败")
})
},
this.sickDlDialog = true;
// this.dlSickLoading = true;
// downloadSick({thidSys: "thirdId"}).then(res => {
// this.dlSickLoading = false
// if (res.code != 20000) {
// this.$message.error(res.message)
// return
// } else {
// this.$message.success("后台正在下载更新,请稍后刷新重试!");
// }
// }).catch(() => {
// this.dlSickLoading = false
// this.$message.error("数据加载失败")
// })
},
cancelDialog(val) {
this.sickDlDialog = false;
if (val) {
this.getList();
}
},
updatePrecribe() {
this.updatePrecribeLoading = true;
downloadPrescribe({sickCode: this.sickerInfo.code}).then(res => {
downloadPrescribe({sickCode: this.sickerInfo.code, adNum: this.sickerInfo.adNum}).then(res => {
this.updatePrecribeLoading = false
if (res.code != 20000) {
this.$message.error(res.message)
return
} else {
this.$message.success(res.data);
}
}).catch(() => {
this.updatePrecribeLoading = false

@ -1,7 +1,7 @@
<template>
<div>
<el-card header="患者信息">
<el-form :model="filterQuery" v-show="showSearch" label-width="auto" size="mini">
<el-form :model="filterQuery" v-if="showSearch" label-width="auto" size="mini">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="患者编号:" class="query-form-item">
@ -40,9 +40,10 @@
<el-table-column label="住院号" prop="adNum" width="120"></el-table-column>
<el-table-column label="职业" prop="gender" width="120"></el-table-column>
<el-table-column label="最后更新时间" prop="createTime" width="120"></el-table-column>
<el-table-column label="操作" width="120" fixed="right">
<el-table-column label="操作" width="160" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="showSickerInfo(scope.row)"></el-button>
<el-button type="text" @click="showPrescribeDiInfo(scope.row)">使</el-button>
</template>
</el-table-column>
</el-table>
@ -89,9 +90,9 @@
<pagination
v-show="prescribeTotal>0"
:total="prescribeTotal"
:limit.sync="filterQuery.limit"
:page.sync="filterQuery.page"
@pagination="getList"
:limit.sync="prescribeQuery.limit"
:page.sync="prescribeQuery.page"
@pagination="getPrescribeList"
></pagination>
</el-card>
@ -176,6 +177,32 @@
</el-row>
</el-dialog>
<el-dialog
:title="`患者使用耗材(${sicker.name})`"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="sickDiDialog"
width="75%"
append-to-body
v-if="sickDiDialog"
>
<skPrescribeDi :perscribeData="sicker"
></skPrescribeDi>
</el-dialog>
<el-dialog
title="患者信息下载"
:visible.sync="sickDlDialog"
width="80%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="sickDlDialog"
>
<skPersonDownload
v-on:cancelDialog="cancelDialog"
></skPersonDownload>
</el-dialog>
</div>
</template>

@ -0,0 +1,202 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" label-width="auto" v-if="showSearch" size="mini">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="患者编号:" class="query-form-item">
<el-input v-model="filterQuery.code" placeholder="请输入患者编号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="患者姓名:" class="query-form-item">
<el-input v-model="filterQuery.name" placeholder="请输入患者姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="住院号:" class="query-form-item">
<el-input v-model="filterQuery.adNum" placeholder="请输入住院号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="外部系统:">
<el-select v-model="filterQuery.thirdSys" style="width: 90%" placeholder="请选择第三方系统">
<el-option
v-for="item in thirdSys"
:key="item.value"
:label="item.thirdName"
:value="item.thirdId">
<span style="float: left">{{ item.thirdName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-button-group class="top-right-btn">
<el-button type="primary" icon="el-icon-refresh" @click="showSearch = !showSearch">显示/隐藏搜索栏</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-download" @click="downloadErp"></el-button>
<el-button type="primary" icon="el-icon-download" @click="downloadAllErp">
</el-button>
</el-button-group>
<el-divider></el-divider>
<el-table v-loading="loading" :data="list"
@selection-change="handleSelectionChange"
border highlight-current-row
style="width: 100%">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="序号" type="index" width="80"></el-table-column>
<el-table-column label="患者编号" prop="code" width="160"></el-table-column>
<el-table-column label="患者姓名" prop="name" width="160"></el-table-column>
<el-table-column label="性别" prop="createByName" width="160"></el-table-column>
<el-table-column label="住院号" prop="adNum" width="160"></el-table-column>
<el-table-column label="职业" prop="gender" width="160"></el-table-column>
<el-table-column label="最后更新时间" prop="createTime" width="180"></el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
import {dlSickerOnline, downloadSick} from "@/api/basic/sicker/skPersonApi";
import {getBasicThirdSys} from "@/api/thrsys/basicThirdSys";
let query = {
name: "",
code: "",
adNum: "",
thirdSys: "thirdId",
selectSickers: null,
page: 1,
limit: 10
}
export default {
name: "skPersonDownload",
props: {
selectType: {
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {...query},
showSearch: true,
multipleSelection: [],
loading: false,
list: [],
thirdSys: [],
}
},
methods: {
handleSelectionChange(val) {
this.multipleSelection = val;
},
onReset() {
this.filterQuery = {...query}
this.getList()
},
onSubmit() {
this.filterQuery.page = 1;
this.getList()
},
getList() {
this.loading = true;
dlSickerOnline(this.filterQuery)
.then((response) => {
if (response.code == 20000) {
this.list = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
this.loading = false;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
downloadErp() {
if (this.multipleSelection == null || this.multipleSelection.length < 1) {
this.$message.warning("请选择需要下载患者信息!");
return
}
let selectData = this.multipleSelection;
this.filterQuery.selectSickers = []
selectData.forEach((obj) => {
this.filterQuery.selectSickers.push(obj);
});
downloadSick(this.filterQuery).then(res => {
this.dlSickLoading = false
if (res.code != 20000) {
this.$message.error(res.message)
return
} else {
this.$emit("cancelDialog", true);
this.$message.success("后台正在下载更新,请稍后刷新重试!");
}
}).catch(() => {
this.dlSickLoading = false
this.$message.error("数据加载失败")
})
},
downloadAllErp() {
this.dlSickLoading = true;
downloadSick({thidSys: "thirdId"}).then(res => {
this.dlSickLoading = false
if (res.code != 20000) {
this.$message.error(res.message)
return
} else {
this.$emit("cancelDialog", true);
this.$message.success("后台正在下载更新,请稍后刷新重试!");
}
}).catch(() => {
this.dlSickLoading = false
this.$message.error("数据加载失败")
})
},
getBasicThirdSys() {
let query = {
enabled: true,
};
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
},
created() {
this.getBasicThirdSys();
},
}
</script>
<style scoped>
</style>

@ -0,0 +1,131 @@
<template>
<div>
<el-card style="margin-top: -15px">
<el-form :model="filterQuery" label-width="90px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="产品编码:">
<el-input v-model="filterQuery.unionCode" style="width: 100%" placeholder="请输入DI/医保编码/商品条码"
clearable="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="产品通用名:">
<el-input v-model="filterQuery.cpmctymc" style="width: 100%" placeholder="请输入产品通用名"
clearable="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="规格型号:">
<el-input v-model="filterQuery.ggxh" style="width: 100%" placeholder="请输入规格型号"
clearable="true"></el-input>
</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="getList"></el-button>
</el-button-group>
</div>
<el-table v-loading="loading" :data="list" style="width: 100%" border
highlight-current-row>
<!-- <el-table-column type="selection" width="55"></el-table-column>-->
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="处方编码" prop="prescribeCode" width="140" show-overflow-tooltip></el-table-column>
<el-table-column label="DI标识" prop="diCode" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="manufactory" show-overflow-tooltip></el-table-column>
<el-table-column label="产品通用名" prop="thrName" show-overflow-tooltip></el-table-column>
<el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案凭证" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column>
<el-table-column label="计量单位" prop="measureUnit" show-overflow-tooltip></el-table-column>
<el-table-column label="金额" prop="amount" show-overflow-tooltip></el-table-column>
<el-table-column label="数量" prop="measureCount" show-overflow-tooltip></el-table-column>
<el-table-column width="60" label="操作">
<template slot-scope="scope">
<el-button type="text" @click.native.stop="handleModifyClick(scope.row)">详情</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
import {skPrescribeDi} from "@/api/basic/sicker/skPersonApi";
export default {
name: "skPrescribeDi",
props: {
perscribeData: {
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {
cpmctymc: null,
unionCode: null,
adNum: null,
page: 1,
limit: 10,
ggxh: null,
},
total: 0,
loading: false,
list: [],
showSearch: true,
}
},
methods: {
getList() {
this.loading = true;
this.filterQuery.adNum = this.perscribeData.adNum;
skPrescribeDi(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;
});
},
hideSearch() {
this.showSearch = !this.showSearch;
},
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
page: 1,
limit: 10,
};
this.getList();
},
},
created() {
this.getList();
},
}
</script>
<style scoped>
</style>

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="68px">
<el-form-item prop="deviceKey">
<el-input
v-model="queryParams.deviceKey"

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="68px">
<el-form-item prop="udiCode">

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="68px">
<el-form-item prop="udiCode">
<el-input
v-model="queryParams.udiCode"

@ -0,0 +1,40 @@
import {filterList} from "@/api/system/invWarehouse";
export default {
name: "deptSelect",
props: {value: {required: true},notCode:null},
data() {
return {
val: '',
list: [],
}
},
watch: {
val(newVal) {
this.$emit('update:value', newVal);
},
value(newVal) {
this.val = newVal
},
},
created() {
this.val = this.value
this.getList()
},
methods: {
getList() {
filterList({enable: true}).then(res => {
if (res.code == 20000) {
this.list = res.data.list || []
if(this.notCode!=null) {
let index = this.list.findIndex(i => i.code == this.notCode);
if(index!=-1){
this.list.splice(index,1)
}
}
}
})
}
}
}

@ -0,0 +1,9 @@
<template>
<el-select v-model="val" class="width-full" placeholder="请选择" filterable clearable>
<el-option v-for="item in list" :key="item.id" :label="item.name" :value="item.code"/>
</el-select>
</template>
<script src="./index.js">
</script>

@ -0,0 +1,41 @@
import {getBasicThirdSys} from "@/api/basic/basicThirdSys";
import {getLoading} from "@/utils";
import {deviceRepairInfo} from "@/api/dev/deviceRepairApi";
export default {
name: "deviceRepairDialog",
props: {repairId: {require: true}},
data() {
return {
info: null
}
},
watch: {
val(newVal) {
this.$emit('update:value', newVal);
},
value(newVal) {
this.val = newVal
},
},
created() {
this.val = this.value
this.getInfo()
},
methods: {
getInfo() {
let load = getLoading(this)
deviceRepairInfo(this.repairId).then(res => {
load.close()
if (res.code != 20000) {
this.$message.error(res.message)
return
}
this.info = res.data
}).catch(() => {
load.close()
})
}
}
}

@ -0,0 +1,47 @@
<template>
<el-card v-if="info">
<div slot="header" class="clearfix">
<div class="fl">
{{ `设备号:${info.deviceCode}` }}
</div>
<div class="fr">
<el-button @click="getInfo"></el-button>
</div>
</div>
<el-descriptions border label-style="width:90px" :column="4">
<el-descriptions-item label="维修号">{{ info.id }}</el-descriptions-item>
<el-descriptions-item label="状态"><el-tag :type="info.finishFlag?'success':'warning'">{{
info.finishFlag ? '已完成' : '未完成'
}}</el-tag></el-descriptions-item>
<el-descriptions-item label="名称">{{ info.productName }}</el-descriptions-item>
<el-descriptions-item label="规格">{{ info.ggxh }}</el-descriptions-item>
<el-descriptions-item label="销售标识">{{ info.nameCode }}</el-descriptions-item>
<el-descriptions-item label="注册/备案号">{{ info.zczbhhzbapzbh }}</el-descriptions-item>
<el-descriptions-item label="生产企业">{{ info.manufactory }}</el-descriptions-item>
<el-descriptions-item label="供应商">{{ info.supName }}</el-descriptions-item>
<el-descriptions-item label="批次号">{{ info.batchNo }}</el-descriptions-item>
<el-descriptions-item label="序列号">{{ info.serialNo }}</el-descriptions-item>
<el-descriptions-item label="udi码">{{ info.udi }}</el-descriptions-item>
<el-descriptions-item label="生产日期">{{ info.productionDate }}</el-descriptions-item>
<el-descriptions-item label="过期时间">{{ info.expireDate }}</el-descriptions-item>
<el-descriptions-item label="维修方式" :span="1">
{{ info.innerFlag ? '内部维修' : '外部维修' }}
</el-descriptions-item>
<el-descriptions-item label="维修人姓名" :span="1">
{{ info.repairUserName }}
</el-descriptions-item>
<el-descriptions-item label="维修人电话" :span="1">
{{ info.repairUserPhone }}
</el-descriptions-item>
<el-descriptions-item label="问题描述" :label-style="{'height': '100px'}" :span="4">
{{ info.description }}
</el-descriptions-item>
<el-descriptions-item label="诊断信息" :label-style="{'height': '100px'}" :span="4">
{{ info.diagnosisInfo }}
</el-descriptions-item>
</el-descriptions>
</el-card>
</template>
<script src="./index.js">
</script>

@ -0,0 +1,50 @@
import {deviceDetailInfo} from "@/api/dev/deviceInfoApi";
let query = {
page: 1,
limit: 10,
productName: null,
deviceCode: null,
planId: null,
}
export default {
name: "planChooseDevice",
props: {planId: {required: true}, selectChangeFunc: {required: true, type: Function}},
data() {
return {
showSearch:true,
loading: false,
query:{...query},
list: [],
total:0,
}
},
created(){
this.query = {...query,planId:this.planId}
this.getList()
},
methods: {
onReset(){
this.query = {...query,planId:this.planId}
this.getList()
},
getList() {
this.loading = true
deviceDetailInfo(this.query)
.then((res) => {
this.loading = false
if(res.code!=20000){
this.$message.error(res.message)
return
}
this.list = res.data.list || [];
this.total = res.data.total || 0;
})
.catch(() => {
this.loading = false
this.list = [];
this.total = 0;
});
},
},
}

@ -0,0 +1,90 @@
<template>
<div>
<el-card>
<el-form :model="query" v-if="showSearch" label-width="auto">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="设备编码">
<el-input v-model="query.deviceCode" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="设备名称">
<el-input v-model="query.productName" clearable/>
</el-form-item>
</el-col>
<!-- <el-col :span="6">-->
<!-- <el-form-item label="设备状态">-->
<!-- <el-select v-model="query.status"-->
<!-- style="width: 100%"-->
<!-- clearable>-->
<!-- <el-option-->
<!-- v-for="item in deviceStatus"-->
<!-- :key="item.key"-->
<!-- :label="item.desc"-->
<!-- :value="item.key">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-row>
</el-form>
<div class="top-right-btn">
<el-button-group>
<el-button icon="el-icon-view" type="primary" @click="showSearch = !showSearch">显示/隐藏搜索栏</el-button>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
>重置
</el-button>
<el-button type="primary" icon="el-icon-search" @click="query.page=1;getList()"
>查询
</el-button>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table :data="list" v-loading="loading" @selection-change="(val)=>{selectChangeFunc(val)}"
@row-click="(row)=>{$refs.table.toggleRowSelection(row)}" ref="table" row-key="deviceCode">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="序号" width="50" type="index"/>
<el-table-column label="科室" width="150" prop="deptName"/>
<el-table-column label="设备编码" width="150" prop="deviceCode"/>
<el-table-column label="最小销售标识" width="150" prop="nameCode"/>
<el-table-column label="名称" width="150" prop="productName"/>
<el-table-column label="规格型号" width="160" prop="ggxh"/>
<!-- <el-table-column label="状态" width="120" prop="statusName">-->
<!-- <template scope="scope">-->
<!-- <el-tag :type="deviceStatus[scope.row.status].tagType">{{ scope.row.statusName }}</el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="变更次数" width="100" prop="changeCount"/>
<el-table-column label="维修次数" width="100" prop="repairCount"/>
<el-table-column label="巡检次数" width="100" prop="checkCount"/>
<el-table-column label="计量单位" width="100" prop="measname"/>
<el-table-column label="生产企业" width="180" prop="manufactory"/>
<el-table-column label="批次号" width="100" prop="batchNo"/>
<el-table-column label="序列号" width="100" prop="serialNo"/>
<el-table-column label="生产日期" width="140" prop="productionDate"/>
<el-table-column label="过期时间" width="140" prop="expireDate"/>
<el-table-column label="供应商" width="100" prop="supName"/>
<el-table-column label="udi码" width="150" prop="udi"/>
<el-table-column label="注册/备案号" width="150" prop="zczbhhzbapzbh"/>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="query.page"
:limit.sync="query.limit"
@pagination="getList"
/>
</el-card>
</div>
</template>
<script src="./index.js"/>
<style scoped>
</style>

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-if="showSearch" label-width="68px">
<el-form-item label="key键" prop="testKey">
<el-input
v-model="queryParams.testKey"

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-if="showSearch" label-width="68px">
<el-form-item label="树节点名" prop="treeName">
<el-input
v-model="queryParams.treeName"

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="18">
<el-form-item class="query-form-item" label="扫码查询:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="140px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="140px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="部门:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="部门:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="部门:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="部门:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="部门:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="部门:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="部门:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="140px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="140px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="部门:">

@ -206,8 +206,8 @@ export default {
this.inputQuery.inspectImage = null
this.uploadUrl = this.BASE_URL + "/udiwms/upload/register/file";
this.headers = {
ADMIN_ID: store.getters.adminId,
ADMIN_TOKEN: store.getters.token,
ADMINID: store.getters.adminId,
ADMINTOKEN: store.getters.token,
};
},
}

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="140px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="140px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="部门:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">

@ -1,7 +1,7 @@
1<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="登记记录号:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="登记记录号:">

@ -179,7 +179,7 @@
v-if="selectInvProductVisible"
:append-to-body='true'
>
<el-form label-width="100px" :model="filterQuery" size="mini" v-show="showSearch">
<el-form label-width="100px" :model="filterQuery" size="mini" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item label="DI/物资编码:">
@ -284,7 +284,7 @@
v-if="selectProductVisible"
:append-to-body='true'
>
<el-form label-width="100px" :model="filterProductQuery" size="mini" v-show="showSearch">
<el-form label-width="100px" :model="filterProductQuery" size="mini" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item label="DI/物资编码:">
@ -368,7 +368,7 @@
v-if="selectDeviceVisible"
:append-to-body='true'
>
<el-form label-width="100px" :model="filterDeviceQuery" size="mini" v-show="showSearch">
<el-form label-width="100px" :model="filterDeviceQuery" size="mini" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item label="DI/物资编码:">

@ -1,7 +1,7 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="el-form" size="mini" label-width="100px" v-show="showSearch">
<el-form :model="filterQuery" class="el-form" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="8">
<el-form-item label="登记记录号:" class="el-form-item">

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save