Compare commits

..

37 Commits

Author SHA1 Message Date
1178634255 59cb99ff55 证书名称长度超过30的范畴 就提示系统繁忙 2 years ago
1178634255 92a56384d0 发票只能上传图片格式,pdf跟doc这两个提示要去掉 2 years ago
1178634255 98e1342d07 供应商首次资质审核不通过,更新信息,再次点击“提交审核”时,提示框信息与实际不相符 2 years ago
1178634255 06955b72d9 往来单位超过40位 提示有误 2 years ago
schry 20e565e42f Merge remote-tracking branch 'origin/master' 2 years ago
schry 187dfac80f 密码修改优化 2 years ago
1178634255 fefc4dae18 单据新增备注字段 2 years ago
schry 3c93522839 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/layout/components/Navbar.vue
2 years ago
schry 2855678a15 部门,仓库排版调整 2 years ago
1178634255 dd8870adb3 代码更新 2 years ago
1178634255 76bf1b4e3d 密码修改 2 years ago
wangwei 8649809a15 报告bug 2 years ago
wangwei fd6b698e07 报告支持 pdf 2 years ago
anthonywj 03ac334c1d 第三方产品信息编辑 2 years ago
anthonywj 48421d57f5 供应商编辑自定义字段 2 years ago
anthonywj 01bb91e33a 物资字典参数设置 2 years ago
wangwei 4ef4a0232a 物资字典维护 权限控制显示字段 2 years ago
anthonywj 65f6f7ac64 物资字典参数设置 2 years ago
anthonywj 5b8483249e 去掉供应商添加院内字典 2 years ago
wangwei 8855cb818d 发票上传pdf 2 years ago
anthonywj 0468d720b2 内部码查询问题 2 years ago
wangwei 3f940dd6d0 去除批次号正则 2 years ago
anthonywj 4068e7fbd7 界面标题等logo修改 2 years ago
wangwei 5e4d13c9de 修改 内部码报表不能跳转打印页面问题 本企业资质提交审核直接通过问题 2 years ago
anthonywj 712059d5af 选择注册证重叠问题 2 years ago
anthonywj 42f3ede30b Merge remote-tracking branch 'origin/master' 2 years ago
wangwei 9674ed4128 修改 admin设置产品为可集采状态,供应商 入院物资没同步更新 2 years ago
anthonywj b02b0e3e8d Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/views/inout/InvoiceCkeck.vue
2 years ago
anthonywj fc09387617 发票问题修改 2 years ago
wangwei 74d126b600 优化 2 years ago
wangwei faf8e0521f 发票价格不匹配时 状态是未登记 2 years ago
anthonywj d720668a63 Merge remote-tracking branch 'origin/master' 2 years ago
anthonywj 6092a68ae7 发票问题 2 years ago
wangwei c15b0baa62 bug修改 2 years ago
wangwei 3cc66c41e0 发票优化 2 years ago
wangwei 6ee57130ea 单据添加 排序 2 years ago
郑明梁 8b2b4dbf15 修改bug 2 years ago

@ -6,8 +6,7 @@ ENV = 'production'
# VUE_APP_BASE_API = 'http://116.204.71.86:9150/UDI_WMS_MC/'
#林纪裕
# VUE_APP_BASE_API = 'http://101.43.77.55:9150/UDI_SPMS_SERVER/'
# VUE_APP_BASE_API = 'http://r.jiyuudims.cloud:5004/UDI_SPMS_SERVER/'
VUE_APP_BASE_API = 'http://r.jiyuudims.cloud:82/UDI_SPMS_SERVER/'
# VUE_APP_BASE_API = 'http://127.0.0.1:9150/UDI_SPMS_SERVER/'
@ -23,13 +22,9 @@ ENV = 'production'
# 刘恩典
# VUE_APP_BASE_API = 'http://192.168.0.54:9150/UDI_SPMS_SERVER/'
# 吴雨泽
# VUE_APP_BASE_API = 'http://192.168.0.58:9150/UDI_SPMS_SERVER/'
# 漳州中医院
VUE_APP_BASE_API = 'http://116.204.116.198:9150/UDI_SPMS_SERVER/'
# VUE_APP_BASE_API = 'http://116.204.116.198:9150/UDI_SPMS_SERVER/'
# 应用访问路径 例如使用前缀 /admin/
VUE_APP_CONTEXT_PATH = '/UDI_SPMS_CLIENT/'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -74,4 +74,27 @@ export function updateInv(data) {
data: data
});
}
//获取当前登陆人用户信息
export function selectUser(query) {
return axios({
url: "/admin/auth/admin/selectUser",
method: "get",
params: query
});
}
export function modifyPasswd(data) {
return axios({
url: "/admin/auth/admin/updateUser",
method: "post",
data: data
});
}
export function filterByUser(query) {
return axios({
url: "/admin/auth/admin/selectUser",
method: "get",
params: query
});
}

@ -108,15 +108,6 @@ export function parseInvoice(params) {
});
}
export function updateorderResult(params) {
return axios({
url: "/udiwms/inout/biz/updateorderResult",
method: "post",
data: params
});
}

@ -75,3 +75,16 @@ export function getCodeSms() {
timeout: 20000
})
}
export function getTitleConfig() {
return request({
url: '/spms/getTitleConfig',
headers: {
isToken: false
},
method: 'get',
timeout: 20000
})
}

@ -172,6 +172,15 @@ export function previewImage(data) {
});
}
export function previewFile(url) {
return axios({
url: url,
method: "get",
responseType: 'arraybuffer'
});
}

@ -40,3 +40,11 @@ export function saveNewProduct(data) {
data: data
})
}
export function updateProduct(data) {
return axios({
url: '/udiwms/udiinfo/erp/products/update',
method: 'post',
data: data
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 19 KiB

@ -9,7 +9,6 @@
<template v-if="device!=='mobile'">
<div class="inv-hos-title">
<!-- <span style="font-weight: bold;color: #303133;">协和医院平潭分院</span>-->
<span
style="margin-left:8px;color: #2d8cf0;font-size: 14px;">部门:{{ deptName }}</span>
<span
@ -41,6 +40,9 @@
<el-dropdown-item divided @click.native="changeInv">
<span>切换仓库</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native="modifyPassword">
<span>修改密码</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
@ -103,6 +105,78 @@
</el-form>
</el-dialog>
<el-dialog
title="修改密码"
:visible.sync="isVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="35%"
v-if="isVisible"
>
<el-form :model="inputQuery" label-width="100px" :rules="formRules" ref="dataForm">
<el-row :gutter="20">
<el-col :span="20">
<el-form-item prop="userName" label="用户账号:">
<el-input
size="small"
placeholder="请输入登录用户账号"
v-model="inputQuery.userName"
@input="change()"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item prop="passWord" label="当前密码:">
<el-input
size="small"
placeholder="请输入当前密码"
type="password"
v-model="inputQuery.passWord"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item prop="newPassword" label="新密码:">
<el-input
size="small"
placeholder="请输入新密码"
type="password"
v-model="inputQuery.newPassword"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item prop="confirmPassword" label="确认密码:">
<el-input
size="small"
placeholder="请输入确认密码"
type="password"
v-model="inputQuery.confirmPassword"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<div style='text-align: center; margin-bottom: 10px;margin-top: 18px ;'>
<el-button type="primary" @click="onSubmit"></el-button>
<el-button @click="closeDialog"></el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
@ -119,21 +193,37 @@ import RuoYiDoc from '@/components/RuoYi/Doc'
import store from "@/store";
import {filterAllByUser} from "@/api/system/invWarehouse";
import {filterSubByInv, findByDeptUser} from "@/api/system/invSubWarehouse";
import {updateInv} from "@/api/auth/authAdmin";
import {updateInv, modifyPasswd,filterByUser} from "@/api/auth/authAdmin";
import {isRelogin} from "@/utils/request";
import router from "@/router";
export default {
data() {
// let validatePass2 = (rule, value, callback) => {
// if (value === "") {
// callback(new Error(""));
// } else if (value !== this.inputQuery.password) {
// callback(new Error("!"));
// } else {
// callback();
// }
// };
return {
deptName: store.getters.locDeptName,
inv: store.getters.locInvName,
deptName: store.getters.locDeptName,
selInvVisible: false,
isVisible: false,
userInfo: {},
inputQuery: {
passWord: "",
newPassword: "",
confirmPassword: "",
userName: "",
locInvCode: "",
},
deptList: [],
invList: [],
userName: '',
companyName: '',
formRules: {
locDeptCode: [
{required: true, message: "请选择当前部门", trigger: "blur"}
@ -141,6 +231,19 @@ export default {
locInvCode: [
{required: true, message: "请选择当前仓库", trigger: "blur"}
],
password: [{required: true, message: "请输入密码", trigger: "blur"}],
newPassword: [{required: true, message: "请输入密码", trigger: "blur"}],
confirmPassword: [
{required: true, message: "请确认密码", trigger: "blur"},
// {validator: validatePass2, trigger: "blur"},
],
},
rules: {
password: [{required: true, message: "请输入密码", trigger: "blur"}],
confirmPassword: [
{required: true, message: "请确认密码", trigger: "blur"},
// {validator: validatePass2, trigger: "blur"},
],
},
};
@ -179,6 +282,41 @@ export default {
}
},
methods: {
onSubmit() {
if (this.inputQuery.newPassword != this.inputQuery.confirmPassword) {
this.$message.error("新密码与确认密码不一致!!!!");
return
}
if (this.inputQuery.passWord == this.inputQuery.newPassword) {
this.$message.error("旧密码与新密码不能相同!!!!");
return
}
this.$refs["dataForm"].validate((valid) => {
if (valid) {
this.loading = true;
modifyPasswd(this.inputQuery).then((response) => {
if (response.code === 20000) {
this.loading = false;
this.$confirm('密码重置成功,请点击确定重新登录', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$store.dispatch('LogOut').then(() => {
location.href = process.env.VUE_APP_CONTEXT_PATH;
})
}).catch(() => {
});
} else {
this.$message.error(response.message);
}
});
} else {
return false;
}
});
},
toggleSideBar() {
this.$store.dispatch('app/toggleSideBar')
},
@ -197,7 +335,9 @@ export default {
changeInv() {
this.selInvVisible = true;
this.getDeptList();
},
modifyPassword() {
this.isVisible = true;
},
getDeptList() {
@ -210,6 +350,16 @@ export default {
.catch(() => {
});
},
// getInputQuery() {
// this.inputQuery = [];
// filterByUser()
// .then((response) => {
// this.inputQuery = response.data || [];
// // this.getInvList();
// })
// .catch(() => {
// });
// },
deptChange() {
this.getInvList();
@ -219,8 +369,7 @@ export default {
getInvList() {
this.invList = [];
let query = {
deptCode: this.userInfo.locDeptCode,
type:1
deptCode: this.userInfo.locDeptCode
};
findByDeptUser(query)
.then((response) => {
@ -266,6 +415,8 @@ export default {
closeDialog() {
this.selInvVisible = false;
this.isVisible = false;
this.getDeptList()
this.resetForm();
},
@ -283,14 +434,17 @@ export default {
},
created() {
this.userName = this.$store.getters.name;
this.companyName = this.$store.getters.companyName;
this.userInfo = {
id: store.getters.adminId,
locInvCode: store.getters.locInvCode,
locDeptCode: store.getters.locDeptCode,
};
this.inputQuery = {
userName: this.userName,
id: this.userInfo.id,
};
// this.getInputQuery();
this.getDeptList();
//this.getInvList()

@ -60,7 +60,7 @@ export default {
.sidebar-logo-container {
position: relative;
width: 100%;
height: 100px;
height: 110px;
line-height: 50px;
background: #2b2f3a;
text-align: center;
@ -72,7 +72,7 @@ export default {
& .sidebar-logo {
width: 100px;
height: 73px;
height: 100px;
margin-top: 12px;
vertical-align: middle;
margin-right: 12px;
@ -94,7 +94,7 @@ export default {
&.collapse {
.sidebar-logo {
width: 44px;
height: 32px;
height: 44px;
margin-right: 0px;
}
}

@ -87,14 +87,18 @@
<el-table v-loading="loading" :data="list" style="width: 100%;" border highlight-current-row
@row-click="getStockOrderDetailList" ref="multipleTable">
@row-click="getStockOrderDetailList" ref="multipleTable"
:default-sort="defaultSort"
@sort-change="handleSortChange" >
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="单据号" prop="billNo" width="140" show-overflow-tooltip></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="120">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" width="150"></el-table-column>
<el-table-column label="创建时间" prop="createTime" width="150"
sortable="custom"
:sort-orders="['ascending', 'descending']"></el-table-column>
<el-table-column label="打印状态" width="100" prop="inCodeStatus">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.inCodeStatus] }}</span>
@ -207,6 +211,7 @@ export default {
name: "stockOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
showSearch: true,
convertDateFun: convertDate,
query: {
@ -222,7 +227,7 @@ export default {
limit: 10,
startTime: "",
endTime: "",
inCodeStatus: 1,
inCodeStatus: 0,
},
detailQuery: {
orderIdFk: "",
@ -339,7 +344,7 @@ export default {
limit: 10,
startTime: "",
endTime: "",
inCodeStatus: 1,
inCodeStatus: 0,
};
this.getList();
@ -387,6 +392,17 @@ export default {
this.getList();
}
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.query.sort = 'desc'
} else {
this.query.sort = 'asc'
}
this.query.orderBy = column.prop;
this.getList();
},
getList() {
this.loading = true;
this.query.corpId = store.getters.customerId;

@ -122,8 +122,9 @@
<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>
placeholder="请输入往来单位名称" :maxlength="40"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" type="flex">
<el-form-item label="往来单位编码" prop="erpId">

@ -246,6 +246,36 @@
width="160"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="商品名称"
prop="spmc"
width="160"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:spmc')"
></el-table-column>
<el-table-column
label="商品条码"
prop="sptm"
width="160"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:sptm')"
></el-table-column>
<el-table-column
label="医保编码"
prop="ybbm"
width="160"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:ybbm')"
></el-table-column>
<el-table-column
label="计量单位"
prop="measname"
width="160"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:measname')"
></el-table-column>
<el-table-column
label="注册/备案号"
prop="zczbhhzbapzbh"
@ -258,11 +288,69 @@
width="180"
show-overflow-tooltip
></el-table-column>
<el-table-column
:label="productRemarkSet.remarkTitle1"
prop="basicPrductRemak1"
width="180"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:basicPrductRemak1')"
></el-table-column>
<el-table-column
:label="productRemarkSet.remarkTitle2"
prop="basicPrductRemak2"
width="180"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:basicPrductRemak2')"
></el-table-column>
<el-table-column
:label="productRemarkSet.remarkTitle3"
prop="basicPrductRemak3"
width="180"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:basicPrductRemak3')"
></el-table-column>
<el-table-column
:label="productRemarkSet.remarkTitle4"
prop="basicPrductRemak4"
width="180"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:basicPrductRemak4')"
></el-table-column>
<el-table-column
:label="productRemarkSet.remarkTitle5"
prop="basicPrductRemak5"
width="180"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:basicPrductRemak5')"
></el-table-column>
<el-table-column
:label="productRemarkSet.remarkTitle6"
prop="basicPrductRemak6"
width="180"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:basicPrductRemak6')"
></el-table-column>
<el-table-column
:label="productRemarkSet.remarkTitle7"
prop="basicPrductRemak7"
width="180"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:basicPrductRemak7')"
></el-table-column>
<el-table-column
:label="productRemarkSet.remarkTitle8"
prop="basicPrductRemak8"
width="180"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:basicPrductRemak8')"
></el-table-column>
<el-table-column
label="集采状态"
prop="groupBuy"
width="120"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:groupBuy')"
>
<template slot-scope="scope">
<el-tag :type="scope.row.groupBuy | statusFilterType">
@ -275,6 +363,7 @@
prop="dispatch"
width="120"
show-overflow-tooltip
v-if="$auth.hasPermi('basic:dispatch')"
>
<template slot-scope="scope">
<el-tag :type="scope.row.dispatch | statusFilterType">
@ -1534,7 +1623,16 @@ export default {
false: "不可配送",
},
pId: 0,
productRemarkSet: {},
productRemarkSet: {
remarkTitle1: "备注字段1",
remarkTitle2: "备注字段2",
remarkTitle3: "备注字段3",
remarkTitle4: "备注字段4",
remarkTitle5: "备注字段5",
remarkTitle6: "备注字段6",
remarkTitle7: "备注字段7",
remarkTitle8: "备注字段8",
},
relevanceEdit: {
id: null,
thirdId: "",
@ -1712,7 +1810,8 @@ export default {
this.$message.error(response.message);
}
})
.catch(() => {});
.catch(() => {
});
},
deleteDialog(rowId) {
@ -1724,7 +1823,8 @@ export default {
.then(() => {
this.deleteOrders(rowId);
})
.catch(() => {});
.catch(() => {
});
},
intentDetail() {
@ -1762,9 +1862,11 @@ export default {
this.$message.error(response.message);
}
})
.catch(() => {});
.catch(() => {
});
})
.catch(() => {});
.catch(() => {
});
},
removeDi() {
@ -1791,9 +1893,11 @@ export default {
this.$message.error(response.message);
}
})
.catch(() => {});
.catch(() => {
});
})
.catch(() => {});
.catch(() => {
});
},
intentSelectErp(val) {
@ -2085,7 +2189,8 @@ export default {
var invlist = response.data || [];
this.treeList = this.handleTree(invlist, "code", "parentCode");
})
.catch(() => {});
.catch(() => {
});
},
addHospProduct(data) {
@ -2123,7 +2228,6 @@ export default {
type: "warning",
})
.then(() => {
debugger;
this.updateLoading = true;
let query = {
uuid: this.editQuery.uuid,
@ -2145,10 +2249,12 @@ export default {
this.total = 0;
});
})
.catch(() => {});
.catch(() => {
});
},
},
mounted() {},
mounted() {
},
components: {
ProductSingleEdit,
ProductEdit,
@ -2174,6 +2280,7 @@ export default {
margin-left: -2px;
height: 30px;
}
.tree {
::v-deep .el-tree-node {
.el-tree-node__content {

@ -219,6 +219,7 @@ export default {
});
},
handleSubForm(data, formName) { //
debugger
this.formName = formName;
if (formName === "edit") {
this.subData = JSON.parse(JSON.stringify(data));

@ -138,9 +138,10 @@
:action="this.uploadUrl"
:on-preview="uploadHandlePreview"
:on-remove="uploadHandleRemove"
:limit="1"
:headers="headers"
:on-exceed="uploadHandleExceed"
accept=".jpg,.png"
accept=".jpg,.png,.pdf"
:on-change="uploadOnchange"
:on-success="uploadHandleSuccess"
:on-error="uploadHandleError"
@ -151,7 +152,7 @@
<el-button slot="trigger" size="small" type="primary" :disabled="formData.auditStatus == 1">
{{ choiceFile }}
</el-button>
<div>只能上传 jpg,png 文件且不超过 10 MB</div>
<div>只能上传 jpg,png,pdf 文件且不超过 10 MB</div>
</el-upload>
</el-form-item>
@ -189,9 +190,10 @@
:action="this.uploadUrl"
:on-preview="uploadHandlePreview"
:on-remove="uploadHandleRemove1"
:limit="1"
:headers="headers"
:on-exceed="uploadHandleExceed"
accept=".jpg,.png"
accept=".jpg,.png,.pdf"
:on-change="uploadOnchange1"
:on-success="uploadHandleSuccess1"
:on-error="uploadHandleError"
@ -202,7 +204,7 @@
<el-button slot="trigger" size="small" type="primary" :disabled="formData.auditStatus == 1">
{{ choiceFile1 }}
</el-button>
<div>只能上传 jpg,png 文件且不超过 10 MB</div>
<div>只能上传 jpg,png,pdf 文件且不超过 10 MB</div>
</el-upload>
</el-form-item>
@ -217,8 +219,7 @@
style="text-align:right" @click="showImgViewerCold">
冷链报告预览
</el-button>
<el-image-viewer v-if="imgViewerVisibleCold" style="z-index:9999" :on-close="closeImgViewerCold"
:url-list="imgListCold"/>
<el-image-viewer v-if="imgViewerVisibleCold" style="z-index:9999" :on-close="closeImgViewerCold" :url-list="imgListCold"/>
</el-col>
@ -226,6 +227,7 @@
</el-row>
</el-card>
</el-form>
@ -236,7 +238,7 @@
import draggable from "vuedraggable";
import store from "@/store";
import {updateBizById, updateById} from '@/api/inout/orderDetailBiz'
import {previewImage} from '@/api/purchase/supCompany'
import {previewImage,previewFile} from '@/api/purchase/supCompany'
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
@ -290,8 +292,7 @@ export default {
headers: {},
choiceFile: "选取文件",
choiceFile1: "选取文件",
isChangeCheck: false,
isChangeCold: false,
};
},
components: {
@ -372,7 +373,7 @@ export default {
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
uploadOnchange(file, fileList) {
// this.inputQuery.checkFileName = file.name;
this.inputQuery.checkFileName = file.name;
let fileName = file.name;
let uid = file.uid
let pos = fileName.lastIndexOf(".");
@ -399,7 +400,7 @@ export default {
return isLt;
},
uploadOnchange1(file, fileList) {
// this.inputQuery.checkColdFileName = file.name;
this.inputQuery.checkColdFileName = file.name;
let fileName = file.name;
let uid = file.uid
let pos = fileName.lastIndexOf(".");
@ -426,37 +427,20 @@ export default {
return isLt;
},
uploadHandleSuccess(response, file, fileList) {
if (response.code === 20000) {
if (this.inputQuery.filePath == null || this.isChangeCheck == true) {
this.inputQuery.filePath = response.data.name + ",";
this.inputQuery.checkFileName = file.name + ",";
this.isChangeCheck = false;
} else {
this.inputQuery.filePath += response.data.name + ",";
this.inputQuery.checkFileName += file.name + ",";
}
this.inputQuery.filePath = response.data.name;
// this.onSubmit();
} else {
this.$message.error("文件上传失败:" + response.message);
}
},
uploadHandleSuccess1(response, file, fileList) {
if (response.code === 20000) {
if (this.inputQuery.coldFilePath == null || this.isChangeCold == true) {
this.inputQuery.coldFilePath = response.data.name + ",";
this.inputQuery.checkColdFileName = file.name + ",";
this.isChangeCold = false;
} else {
this.inputQuery.coldFilePath += response.data.name + ",";
this.inputQuery.checkColdFileName += file.name + ",";
}
this.inputQuery.coldFilePath = response.data.name;
// this.onSubmit();
} else {
this.$message.error("文件上传失败:" + response.message);
}
},
uploadHandleError() {
@ -471,36 +455,85 @@ export default {
return isJPG || isPNG;
},
showImgViewer(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
if(this.inputQuery.filePath.substr(-1) == ','){
this.inputQuery.filePath=this.inputQuery.filePath.slice(0, this.inputQuery.filePath.length-1);
}
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+this.inputQuery.filePath;
this.imgList = [];
previewImage({imageUrl: this.inputQuery.filePath, certFileUrl: this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList = response.data;
this.imgList.push(this.certFileUrl)
let index = this.inputQuery.filePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(this.inputQuery.filePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
console.log(this.imgList)
this.imgViewerVisible = true;
});
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault()
e.preventDefault();
};
document.body.style.overflow = 'hidden';
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
showImgViewerCold(row){
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
if(this.inputQuery.coldFilePath.substr(-1) == ','){
this.inputQuery.coldFilePath=this.inputQuery.coldFilePath.slice(0, this.inputQuery.coldFilePath.length-1);
}
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+this.inputQuery.coldFilePath;
this.imgList = [];
previewImage({imageUrl: this.inputQuery.coldFilePath, certFileUrl: this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList = response.data;
this.imgList.push(this.certFileUrl)
let index = this.inputQuery.coldFilePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(this.inputQuery.coldFilePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
console.log(this.imgList)
this.imgViewerVisible = true;
});
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault()
e.preventDefault();
};
document.body.style.overflow = 'hidden';
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
@ -516,9 +549,7 @@ export default {
closeImgViewerCold(){
this.imgViewerVisibleCold = false;
const m = (e) => {
e.preventDefault()
};
const m = (e) => { e.preventDefault() };
document.body.style.overflow = 'auto';
document.removeEventListener("touchmove", m, true);
},
@ -547,13 +578,11 @@ export default {
}
if (this.inputQuery.filePath != null) {
this.choiceFile = "更换检验报告";
this.isChangeCheck = true;
} else {
this.choiceFile = "选取检验报告";
}
if (this.inputQuery.coldFilePath != null) {
this.isChangeCold = true;
this.choiceFile1 = "更换冷链报告";
} else {
this.choiceFile1 = "选取冷链报告";

@ -20,6 +20,7 @@
v-if="curAction.checkWebNew > 1 && viewType == 1"
>待配货提交
</el-button>
<el-button size="mini" type="primary" @click.native="submit(1)"
v-if="curAction.checkWebNew == 3"
>未配货提交
@ -58,7 +59,7 @@
@change="actionChange">
<el-option
v-for="item in busTypeOptions"
:key="item.name"
:key="item.action"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
@ -195,14 +196,6 @@
</el-form>
</el-card>
<el-tabs type="border-card" style="margin: 5px">
<el-tab-pane label="校验结果" v-if="bizShow && viewBizVisible">
<resultDetailPanel :idQuery="orderFormData" :refreshPanel="refreshCodesPanel" :refreshOrder="refreshOrder"
:viewType="viewType"
:curBustype="curAction"
v-if="isBizDetailAlive"></resultDetailPanel>
</el-tab-pane>
<el-tab-pane label="业务详情" v-if="bizShow && viewBizVisible">
<biz-detail-panel :idQuery="orderFormData" :refreshPanel="refreshCodesPanel" :refreshOrder="refreshOrder"
:viewType="viewType"
@ -258,7 +251,6 @@ import editCodeDialog from "./DialogEditCode";
import codesPanel from "./PanelCreateOrderCodes"
import codeDetailPanel from "./PanelCreateOrderCodeDetail"
import bizDetailPanel from "./PanelCreateOrderBizDetail"
import resultDetailPanel from "./PanelCreateOrderResultDetail"
import A from "../../plugins/KeyScaner"
import {findByInvUser, getLocalJoinByUser} from '@/api/basic/busType'
@ -372,7 +364,7 @@ export default {
};
},
components: {
codesPanel, codeDetailPanel, bizDetailPanel, editCodeDialog, resultDetailPanel
codesPanel, codeDetailPanel, bizDetailPanel, editCodeDialog
},
methods: {
//
@ -885,7 +877,6 @@ export default {
inputer.focus();
},
created() {
//
this.codeFormData.code = '';
@ -906,7 +897,7 @@ export default {
this.orderFormData = this.orderQuery;
this.actionEnable = true;
this.refreshCodesPanel();
//
// //
this.findInvListByUser();
this.initBusType();
this.findMethod(this.orderFormData.fromCorp);
@ -939,31 +930,7 @@ export default {
<style>
#inputer {
width: 100%;
min-height: 30px;
background-color: white;
border: #d0d0d0;
border-style: solid;
border-width: 0.1px;
color: #4a4a4a;
}
#inputer:focus {
width: 100%;
min-height: 30px;
background-color: white;
border: #0080FF;
border-style: solid;
border-width: 0.1px;
color: #4a4a4a;
}
.ime-disabled {
ime-mode: disabled;
}
</style>

@ -136,11 +136,11 @@
/>
</el-card>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-dialog title="请选择对应的注册/备案证" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
<el-radio style="width: 100%; margin-top: 10px;" :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

@ -123,7 +123,7 @@
>
{{ choiceFile }}
</el-button>
<div>只能上传 jpg,png,pdf,doc 文件且不超过 10 MB</div>
<div>只能上传 jpg,png文件且不超过 10 MB</div>
</el-upload>
</el-form-item>
</el-col>
@ -271,9 +271,10 @@ import AcceptOrder from "@/views/inout/DialogReviewOrder";
import DialogInvoice from "@/views/inout/DialogInvoice";
import InvoiceRegister from "@/views/inout/InvoiceRegister";
import { previewImage } from "@/api/purchase/supCompany";
import {previewImage,previewFile} from "@/api/purchase/supCompany";
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
import store from "@/store";
import {deleteRe} from "@/api/auth/register";
const formJson = {
site_id: "",
@ -294,7 +295,7 @@ export default {
required: true,
},
getOrderDetails: {
type: Object,
type: Function,
required: true,
},
invoiceRow: {
@ -341,7 +342,7 @@ export default {
corpLoading: false,
fromOptions: [],
invoiceLoading: false,
formName: 1,
formMap: {
1: "发票登记",
@ -485,14 +486,6 @@ export default {
this.$message.error("请选择要登记的物资! ");
return false;
}
// if (this.$isBlank(this.inputQuery.machineNo)) {
// this.$message.error("");
// return;
// }
// if (this.$isBlank(this.inputQuery.invoiceCode)) {
// this.$message.error("");
// return;
// }
if (this.$isBlank(this.inputQuery.invoiceEncode)) {
this.$message.error("发票编码不能为空!");
return;
@ -511,14 +504,30 @@ export default {
mount += this.invoiceRow[i].amount
}
if (mount != this.inputQuery.price) {
this.$message.error("价格不匹配!");
this.$confirm("价格不匹配,是否确定提交?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.postInvoice();
})
.catch(() => {
});
return;
} else {
this.postInvoice();
}
},
postInvoice() {
insertInvoice(this.inputQuery)
.then((response) => {
if (response.code === 20000) {
this.statusCode = response.code;
this.getOrderDetails();
} else {
this.$message.error(response.message);
}
@ -528,7 +537,7 @@ export default {
});
//
updateorderResult(this.inputQuery.list).then((res) => {
updateorderBiz(this.inputQuery.list).then((res) => {
this.closeDialog();
});
},
@ -552,9 +561,9 @@ export default {
},
uploadHandleError() {},
uploadHandleError() {
},
uploadHandleSuccess(response, file, fileList) {
debugger;
if (response.code === 20000) {
this.inputQuery.licenseUrl = response.data.name;
// this.onSubmit();
@ -681,23 +690,40 @@ export default {
.then((res) => {
this.closeDialog();
})
.catch((error) => {});
.catch((error) => {
});
},
showImgViewer(row) {
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name=";
"/udiwms/image/register/file/getImage?type=image2&name="+this.inputQuery.licenseUrl;
this.imgList = [];
previewImage({
imageUrl: this.inputQuery.licenseUrl,
certFileUrl: this.certFileUrl,
}).then((response) => {
if (response.code === 20000) {
this.imgList = response.data;
this.imgList.push(this.certFileUrl)
let index = this.inputQuery.licenseUrl.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(this.inputQuery.licenseUrl.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
console.log(this.imgList);
this.imgViewerVisible = true;
});
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault();
};

@ -138,17 +138,19 @@
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
@row-click="handleSelectionChange">
@current-change="handleSelectionChange"
:default-sort="defaultSort"
@sort-change="handleSortChange">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="登记状态" prop="checkStatus" width="100">
<el-table-column label="登记状态" prop="invoiceStatus" width="100">
<template slot-scope="scope">
<el-tag type="danger" v-if="scope.row.allCout==0">
<el-tag type="danger" v-if="scope.row.invoiceStatus==0">
未登记
</el-tag>
<el-tag type="warning" v-if="scope.row.partCount>0 && scope.row.allCout>0">
<el-tag type="warning" v-if="scope.row.invoiceStatus==1 ">
未全部登记
</el-tag>
<el-tag type="success" v-if="scope.row.partCount == 0 && scope.row.allCout>0">
<el-tag type="success" v-if="scope.row.invoiceStatus == 2 ">
全部登记
</el-tag>
</template>
@ -160,9 +162,13 @@
</el-table-column>
<el-table-column label="送货单位" prop="fromName" width="220" v-if="showSup">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip>
<el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']">
</el-table-column>
<el-table-column label="审核时间" prop="auditTime" width="150" show-overflow-tooltip>
<el-table-column label="审核时间" prop="auditTime" width="150" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']">
</el-table-column>
<el-table-column label="采购部门" prop="deptName" width="120" v-if="enableDept">
@ -194,6 +200,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="160" fixed="right">
<template slot-scope="scope">
<el-button type="text" :disabled="scope.row.checkStatus==1 " v-if="showSup" size="small"
@ -223,7 +231,7 @@
<el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-单据详情</span>
<el-table v-loading="bizDetailLoading" :data="codeDetailList" style="width: 100%" border
@row-click="BizDetail"
@current-change="BizDetail"
row-key="id" highlight-current-row
>
<el-table-column label="序号" type="index"></el-table-column>
@ -334,7 +342,7 @@
<!--单据业务详情-->
<el-tab-pane>
<span slot="label">单据 {{ currentRow.billNo }}-发票信息</span>
<el-table v-loading="bizDetailLoading" :data="bizDetailList" style="width: 100%" border
<el-table v-loading="invoiceLoading" :data="bizDetailList" style="width: 100%" border
row-key="id"
>
<el-table-column label="序号" type="index"></el-table-column>
@ -454,6 +462,7 @@
<checkInvoice
:closeDialog="closecheckInvoice"
:input="inputInv"
:getOrderDetails="getOrderDetails"
></checkInvoice>
</el-dialog>
@ -530,7 +539,7 @@ import InvoiceRegistrationDetermine from "@/views/inout/InvoiceRegistrationDeter
import {inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint"
import {getDeptListByUser} from "@/api/auth/authDept";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {previewImage} from '@/api/purchase/supCompany'
import {previewImage,previewFile} from '@/api/purchase/supCompany'
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
@ -545,6 +554,7 @@ export default {
name: "IoCheckSuccessOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
savebillno: null,
invoiceRow: [],
inputInv: [],
@ -676,6 +686,7 @@ export default {
bizTotal: 0,
invTotal: 0,
bizDetailLoading: false,
invoiceLoading: false,
bizDetailList: [],
codeQuery: {
orderIdFk: null,
@ -764,19 +775,40 @@ export default {
this.showSearch = !this.showSearch;
},
showImgViewer(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.licenseUrl;
this.imgList = [];
previewImage({imageUrl: row.licenseUrl, certFileUrl: this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList = response.data;
this.imgList.push(this.certFileUrl)
let index = row.licenseUrl.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.licenseUrl.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
console.log(this.imgList)
this.imgViewerVisible = true;
});
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault()
e.preventDefault();
};
document.body.style.overflow = 'hidden';
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
@ -828,12 +860,16 @@ export default {
deleteById(row)
.then((response) => {
if (response.code == 20000) {
if (response.data.length == 0) {
this.getList();
}else{
this.getCodeDetailList();
}
this.getBizDetailListInv(this.subRow);
this.$message({
type: "success",
message: "删除成功!",
});
this.getCodeDetailList();
}
})
.catch(() => {
@ -869,6 +905,18 @@ export default {
this.resultDetailList = [];
this.resultTotal = 0;
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;
@ -996,7 +1044,7 @@ export default {
}
this.codeQuery.orderIdFk = this.currentRow.billNo;
this.codeDetailLoading = true;
this.codeDetailList = [];
filterBizOrderList(this.codeQuery).then((res) => {
this.codeDetailLoading = false;
if (res.code === 20000) {
@ -1032,7 +1080,7 @@ export default {
this.$message.error("请先选择需要查询的单据!")
return;
}
this.bizDetailLoading = true;
this.invoiceLoading = true;
this.bizQuery.orderIdFk = this.currentRow.billNo;
if (row != null) {
this.bizQuery.orderIdFk = row.orderIdFk;
@ -1041,7 +1089,7 @@ export default {
//this.bizQuery.bizIdFk = row.id;
}
filterListInvoice(this.bizQuery).then((res) => {
this.bizDetailLoading = false;
this.invoiceLoading = false;
if (res.code === 20000) {
this.bizDetailList = res.data.list || [];
this.invTotal = res.data.total || 0;
@ -1051,7 +1099,7 @@ export default {
this.invTotal = 0;
}
}).catch((error) => {
this.bizDetailLoading = false;
this.invoiceLoading = false;
this.$message.error(error.message);
this.bizDetailList = [];
this.invTotal = 0;
@ -1138,6 +1186,7 @@ export default {
}
,
created() {
debugger
let supId = this.$store.getters.customerId;
if (supId == "110") {
this.showSup = true;

@ -145,6 +145,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="160" fixed="right">
<template slot-scope="scope">

@ -114,6 +114,8 @@
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<!-- <el-table-column label="校验状态" prop="status" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag :type="(scope.row.status ===-1 ) | statusFilterType">{{-->

@ -99,12 +99,16 @@
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
@cell-click="handleSelectionChange">
@cell-click="handleSelectionChange"
:default-sort="defaultSort"
@sort-change="handleSortChange">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="150">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip>
<el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.createTime }}</span>
@ -131,6 +135,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<el-button
@ -459,6 +465,7 @@ export default {
name: "IoCheckErrorOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
showSearch: true,
filterQuery: {
id: "",
@ -682,6 +689,17 @@ export default {
this.resultDetailList = [];
this.resultTotal = 0;
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -122,6 +122,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="160">
<template slot-scope="scope">

@ -109,12 +109,15 @@
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
border :default-sort="defaultSort"
@sort-change="handleSortChange"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="140"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="140"></el-table-column>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']">
</el-table-column>
<!-- <el-table-column label="送货单位" prop="fromName" width="220">-->
<!-- </el-table-column>-->
@ -136,6 +139,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<template slot-scope="scope">
<el-button
@ -235,6 +240,7 @@ export default {
name: "IoCreateBusOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
showSearch: true,
titleMap: {
add: "新增单据",
@ -411,6 +417,18 @@ export default {
this.getList();
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -137,6 +137,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<el-button

@ -99,13 +99,16 @@
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
border :default-sort="defaultSort"
@sort-change="handleSortChange"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="150">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip>
<el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.createTime }}</span>
@ -134,6 +137,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<template slot-scope="scope">
<el-button
@ -223,6 +228,7 @@ export default {
name: "IoDealOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
showSearch: true,
filterQuery: {
id: "",
@ -401,7 +407,16 @@ export default {
},
closeDialog() {
this.addOrderVisible = false;
this.addHosOrderVisible = false;
this.getList();
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},

@ -99,13 +99,16 @@
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
border :default-sort="defaultSort"
@sort-change="handleSortChange"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="140"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="140"></el-table-column>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']">
</el-table-column>
<!-- <el-table-column label="送货单位" prop="fromName" width="220">-->
<!-- </el-table-column>-->
@ -127,6 +130,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<template slot-scope="scope">
@ -196,6 +201,7 @@ export default {
name: "IoCreateScanOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
showSearch: true,
titleMap: {
add: "新增单据",
@ -367,6 +373,17 @@ export default {
this.getList();
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -10,6 +10,21 @@
clearable="true"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">-->
<!-- <el-form-item class="query-form-item" label="采购部门:">-->
<!-- <el-select v-model="filterQuery.deptCode" placeholder="请选择采购部门" clearable="true"-->
<!-- style="width: 90%"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in deptList"-->
<!-- :key="item.name"-->
<!-- :label="item.name"-->
<!-- :value="item.code">-->
<!-- <span style="float: left">{{ item.name }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-form-item class="query-form-item" label="收货仓库:">
<el-select v-model="filterQuery.invCode" placeholder="请选择收货仓库" clearable="true"
@ -86,12 +101,16 @@
highlight-current-row
@row-click="handleSelectionChange"
border
:default-sort="defaultSort"
@sort-change="handleSortChange"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="150">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip>
<el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']" >
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.createTime }}</span>
@ -118,6 +137,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<template slot-scope="scope">
<el-button
@ -187,6 +208,30 @@
<!--单据业务详情-->
<el-tab-pane>
<span slot="label">单据 {{ currentRow == null ? '' : currentRow.billNo }}-业务扫码校验结果</span>
<!--<el-form :inline="true" :model="bizQuery" class="query-form" size="mini">-->
<!-- <el-form-item class="query-form-item" label="物资名称:">-->
<!-- <el-input-->
<!-- v-model="bizQuery.productName"-->
<!-- placeholder="请输入物资名称"-->
<!-- clearable-->
<!-- >-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item>-->
<!-- <el-button-group>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- icon="el-icon-refresh"-->
<!-- @click="onBizReset"-->
<!-- >重置-->
<!-- </el-button>-->
<!-- <el-button type="primary" @click="onBizSubmit"-->
<!-- icon="el-icon-search"-->
<!-- >查询-->
<!-- </el-button>-->
<!-- </el-button-group>-->
<!-- </el-form-item>-->
<!--</el-form>-->
<el-table v-loading="bizDetailLoading" :data="bizDetailList" style="width: 100%" border
:row-style="rowStyle"
row-key="id"
@ -298,6 +343,7 @@ export default {
name: "IoDealOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
showSearch: true,
filterQuery: {
id: "",
@ -486,6 +532,17 @@ export default {
this.getList();
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -135,19 +135,25 @@
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
@current-change="handleSelectionChange">
@current-change="handleSelectionChange"
:default-sort="defaultSort"
@sort-change="handleSortChange" >
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="送货单号" prop="billNo" show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="150"></el-table-column>
<el-table-column label="送货单位" prop="fromName" width="220">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip width="150">
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip width="150"
sortable="custom"
:sort-orders="['ascending', 'descending']" >
<!--<template slot-scope="scope">-->
<!-- <i class="el-icon-time"></i>-->
<!-- <span>{{ scope.row.createTime }}</span>-->
<!--</template>-->
</el-table-column>
<el-table-column label="核对时间" prop="checkTime" show-overflow-tooltip width="150">
<el-table-column label="核对时间" prop="checkTime" show-overflow-tooltip width="150"
sortable="custom"
:sort-orders="['ascending', 'descending']" >
<!--<template slot-scope="scope">-->
<!-- <i class="el-icon-time"></i>-->
<!-- <span>{{ scope.row.createTime }}</span>-->
@ -192,6 +198,8 @@
<!-- </el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="250" fixed="right">
<template slot-scope="scope">
@ -586,7 +594,7 @@ import {
orderPDFFromTemplateFile
} from '@/api/itextpdf/orderPrint'
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import { previewImage } from '@/api/purchase/supCompany'
import { previewImage ,previewFile} from '@/api/purchase/supCompany'
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
@ -602,6 +610,7 @@ export default {
name: "IoCheckSuccessOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
imgList:[],
imgListCold:[],
imgViewerVisible:false,
@ -787,33 +796,78 @@ export default {
this.showSearch = !this.showSearch;
},
showImgViewer(row){
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.filePath;
this.imgList = [];
previewImage({imageUrl:row.filePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList=response.data;
this.imgList.push(this.certFileUrl)
let index = row.filePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.filePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
console.log(this.imgList)
this.imgViewerVisible = true;
});
const m = (e) => { e.preventDefault() };
document.body.style.overflow = 'hidden';
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault();
};
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
showImgViewerCold(row){
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl+"========");
this.imgListCold=[];
previewImage({imageUrl:row.coldFilePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgListCold=response.data;
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.coldFilePath;
this.imgList = [];
this.imgList.push(this.certFileUrl)
let index = row.coldFilePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
console.log(this.imgListCold)
this.imgViewerVisibleCold = true;
});
const m = (e) => { e.preventDefault() };
document.body.style.overflow = 'hidden';
if(row.coldFilePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
this.imgViewerVisible = true;
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault();
};
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
@ -963,6 +1017,19 @@ export default {
this.resultDetailList = [];
this.resultTotal = 0;
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -152,20 +152,26 @@
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
@current-change="handleSelectionChange">
@current-change="handleSelectionChange"
:default-sort="defaultSort"
@sort-change="handleSortChange" >
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="送单号" prop="billNo" show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="150"></el-table-column>
<el-table-column label="往来单位" prop="fromName" width="220">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip width="150">
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip width="150"
sortable="custom"
:sort-orders="['ascending', 'descending']">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="审核时间" prop="auditTime" show-overflow-tooltip width="150">
<el-table-column label="审核时间" prop="auditTime" show-overflow-tooltip width="150"
sortable="custom"
:sort-orders="['ascending', 'descending']">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.auditTime }}</span>
@ -211,6 +217,8 @@
<!-- </el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="160" fixed="right">
<template slot-scope="scope">
@ -608,7 +616,7 @@ import {getCodeList} from "@/api/inout/code";
import AcceptOrder from "@/views/inout/DialogReviewOrder";
import {inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint"
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import { previewImage } from '@/api/purchase/supCompany'
import { previewImage,previewFile } from '@/api/purchase/supCompany'
import DialogCheck from "@/views/inout/DialogCheck";
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
@ -626,6 +634,7 @@ export default {
name: "IoCheckSuccessOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
imgViewerVisible:false,
imgViewerVisibleCold:false,
imgList:[],
@ -813,35 +822,85 @@ export default {
this.getList();
},
showImgViewer(row){
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl+"========");
if(row.filePath.substr(-1) == ','){
row.filePath=row.filePath.slice(0, row.filePath.length-1);
}
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.filePath;
this.imgList = [];
previewImage({imageUrl:row.filePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList=response.data;
this.imgList.push(this.certFileUrl)
let index = row.filePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.filePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
console.log(this.imgList)
this.imgViewerVisible = true;
});
const m = (e) => { e.preventDefault() };
document.body.style.overflow = 'hidden';
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault();
};
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
showImgViewerCold(row){
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl+"========");
this.imgListCold=[];
previewImage({imageUrl:row.coldFilePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgListCold=response.data;
if(row.coldFilePath.substr(-1) == ','){
row.coldFilePath=row.coldFilePath.slice(0, row.coldFilePath.length-1);
}
console.log(this.imgListCold)
this.imgViewerVisibleCold = true;
});
const m = (e) => { e.preventDefault() };
document.body.style.overflow = 'hidden';
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.coldFilePath;
this.imgList = [];
this.imgList.push(this.certFileUrl)
let index = row.coldFilePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.coldFilePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
this.imgViewerVisible = true;
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault();
};
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
@ -958,6 +1017,18 @@ export default {
this.resultDetailList = [];
this.resultTotal = 0;
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -139,20 +139,26 @@
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
@current-change="handleSelectionChange">
@current-change="handleSelectionChange"
:default-sort="defaultSort"
@sort-change="handleSortChange" >
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="退货单号" prop="billNo" show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="150"></el-table-column>
<el-table-column label="供应商" prop="fromName" width="220" v-if="showSup">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip width="150">
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip width="150"
sortable="custom"
:sort-orders="['ascending', 'descending']">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="审核时间" prop="auditTime" show-overflow-tooltip width="150">
<el-table-column label="审核时间" prop="auditTime" show-overflow-tooltip width="150"
sortable="custom"
:sort-orders="['ascending', 'descending']" >
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.createTime }}</span>
@ -524,6 +530,7 @@ export default {
name: "IoReturnedSearchOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
showSearch: true,
filterQuery: {
id: "",
@ -796,6 +803,18 @@ export default {
this.resultDetailList = [];
this.resultTotal = 0;
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -99,11 +99,15 @@
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
@current-change="handleSelectionChange">
@current-change="handleSelectionChange"
:default-sort="defaultSort"
@sort-change="handleSortChange">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="140"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="140"></el-table-column>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']">
</el-table-column>
<!-- <el-table-column label="送货单位" prop="fromName" width="220">-->
<!-- </el-table-column>-->
@ -125,6 +129,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="140" fixed="right">
<template slot-scope="scope">
<el-button
@ -437,7 +443,7 @@ import AcceptOrder from "@/views/inout/DialogThrReviewOrder";
import {getDeptListByUser} from "@/api/auth/authDept";
import DialogCheck from "@/views/inout/DialogCheck";
import { getBizDetailList } from '@/api/inout/orderDetailBiz'
import { previewImage } from '@/api/purchase/supCompany'
import { previewFile, previewImage } from '@/api/purchase/supCompany'
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
@ -452,6 +458,7 @@ export default {
name: "IoSupSearchOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
BASE_URL: process.env.VUE_APP_BASE_API,
imgList:[],
imgListCold:[],
@ -635,34 +642,84 @@ export default {
},
showImgViewer(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl+"========");
if(row.filePath.substr(-1) == ','){
row.filePath=row.filePath.slice(0, row.filePath.length-1);
}
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.filePath;
this.imgList = [];
previewImage({imageUrl:row.filePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList=response.data;
this.imgList.push(this.certFileUrl)
let index = row.filePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.filePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
console.log(this.imgList)
this.imgViewerVisible = true;
});
const m = (e) => { e.preventDefault() };
document.body.style.overflow = 'hidden';
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault();
};
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
showImgViewerCold(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl+"========");
this.imgListCold=[];
previewImage({imageUrl:row.coldFilePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgListCold=response.data;
if(row.coldFilePath.substr(-1) == ','){
row.coldFilePath=row.coldFilePath.slice(0, row.coldFilePath.length-1);
}
console.log(this.imgListCold)
this.imgViewerVisibleCold = true;
});
const m = (e) => { e.preventDefault() };
document.body.style.overflow = 'hidden';
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.coldFilePath;
this.imgList = [];
this.imgList.push(this.certFileUrl)
let index = row.coldFilePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.coldFilePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
this.imgViewerVisible = true;
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault();
};
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
@ -716,6 +773,18 @@ export default {
this.resultDetailList = [];
this.resultTotal = 0;
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -129,13 +129,19 @@
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
@current-change="handleSelectionChange">
@current-change="handleSelectionChange"
:default-sort="defaultSort"
@sort-change="handleSortChange" >
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="140"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="140"></el-table-column>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']">
</el-table-column>
<el-table-column label="审核时间" prop="checkTime" width="140" show-overflow-tooltip>
<el-table-column label="审核时间" prop="checkTime" width="140" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']" >
</el-table-column>
<!-- <el-table-column label="送货单位" prop="fromName" width="220">-->
<!-- </el-table-column>-->
@ -158,6 +164,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<!-- <el-table-column label="验收状态" prop="status" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag :type="statusFilterType(scope.row.status)">{{-->
@ -492,7 +500,7 @@ import AcceptOrder from "@/views/inout/DialogReviewOrder";
import DialogCheck from "@/views/inout/DialogCheck";
import {getDeptListByUser} from "@/api/auth/authDept";
import {previewImage} from '@/api/purchase/supCompany'
import {previewImage,previewFile} from '@/api/purchase/supCompany'
import {getBizDetailList} from '@/api/inout/orderDetailBiz'
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
@ -508,6 +516,7 @@ export default {
name: "IoSupSearchOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
BASE_URL: process.env.VUE_APP_BASE_API,
imgViewerVisible: false,
imgViewerVisibleCold: false,
@ -688,53 +697,98 @@ export default {
},
showImgViewer(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl + "========");
if(row.filePath.substr(-1) == ','){
row.filePath=row.filePath.slice(0, row.filePath.length-1);
}
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.filePath;
this.imgList = [];
previewImage({imageUrl: row.filePath, certFileUrl: this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList = response.data;
this.imgList.push(this.certFileUrl)
let index = row.filePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.filePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
console.log(this.imgList)
this.imgViewerVisible = true;
});
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault()
e.preventDefault();
};
document.body.style.overflow = 'hidden';
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
showImgViewerCold(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl + "========");
this.imgListCold = [];
previewImage({imageUrl: row.coldFilePath, certFileUrl: this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgListCold = response.data;
if(row.coldFilePath.substr(-1) == ','){
row.coldFilePath=row.coldFilePath.slice(0, row.coldFilePath.length-1);
}
console.log(this.imgListCold)
this.imgViewerVisibleCold = true;
});
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.coldFilePath;
this.imgList = [];
this.imgList.push(this.certFileUrl)
let index = row.coldFilePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.coldFilePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
this.imgViewerVisible = true;
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault()
e.preventDefault();
};
document.body.style.overflow = 'hidden';
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
closeImgViewer() {
this.imgViewerVisible = false;
closeImgViewerCold() {
this.imgViewerVisibleCold = false;
const m = (e) => {
e.preventDefault()
};
document.body.style.overflow = 'auto';
document.removeEventListener("touchmove", m, true);
},
closeImgViewerCold() {
this.imgViewerVisibleCold = false;
closeImgViewer() {
this.imgViewerVisible = false;
const m = (e) => {
e.preventDefault()
};
@ -742,7 +796,6 @@ export default {
document.removeEventListener("touchmove", m, true);
},
upload(row) {
this.currentManufacturer = row;
this.Upinvoice = true;
@ -802,6 +855,18 @@ export default {
this.resultDetailList = [];
this.resultTotal = 0;
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -113,13 +113,19 @@
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border
@current-change="handleSelectionChange">
@current-change="handleSelectionChange"
:default-sort="defaultSort"
@sort-change="handleSortChange" >
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="140"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="140"></el-table-column>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip>
<el-table-column label="创建时间" prop="createTime" width="140" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']">
</el-table-column>
<el-table-column label="核对时间" prop="checkTime" width="140" show-overflow-tooltip>
<el-table-column label="核对时间" prop="checkTime" width="140" show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']" >
</el-table-column>
<!-- <el-table-column label="送货单位" prop="fromName" width="220">-->
<!-- </el-table-column>-->
@ -142,6 +148,8 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="180" show-overflow-tooltip>
</el-table-column>
<!-- <el-table-column label="验收状态" prop="status" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag :type="statusFilterType(scope.row.status)">{{-->
@ -472,7 +480,7 @@ import AcceptOrder from "@/views/inout/DialogReviewOrder";
import {getDeptListByUser} from "@/api/auth/authDept";
import DialogCheck from "@/views/inout/DialogCheck";
import {getBizDetailList} from "@/api/inout/orderDetailBiz";
import {previewImage} from '@/api/purchase/supCompany'
import { previewFile, previewImage } from '@/api/purchase/supCompany'
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
@ -487,6 +495,7 @@ export default {
name: "IoSupSearchOrder",
data() {
return {
defaultSort: {prop: 'createTime', order: 'desc'},
BASE_URL: process.env.VUE_APP_BASE_API,
imgList: [],
imgListCold:[],
@ -666,36 +675,84 @@ export default {
this.showSearch = !this.showSearch;
},
showImgViewer(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl + "========");
if(row.filePath.substr(-1) == ','){
row.filePath=row.filePath.slice(0, row.filePath.length-1);
}
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.filePath;
this.imgList = [];
previewImage({imageUrl: row.filePath, certFileUrl: this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgList = response.data;
this.imgList.push(this.certFileUrl)
let index = row.filePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.filePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
console.log(this.imgList)
this.imgViewerVisible = true;
});
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault()
e.preventDefault();
};
document.body.style.overflow = 'hidden';
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
showImgViewerCold(row) {
this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name=";
console.log(this.certFileUrl+"========");
this.imgListCold=[];
previewImage({imageUrl:row.coldFilePath,certFileUrl:this.certFileUrl}).then(response => {
if (response.code === 20000) {
this.imgListCold=response.data;
if(row.coldFilePath.substr(-1) == ','){
row.coldFilePath=row.coldFilePath.slice(0, row.coldFilePath.length-1);
}
console.log(this.imgListCold)
this.imgViewerVisibleCold = true;
});
const m = (e) => { e.preventDefault() };
document.body.style.overflow = 'hidden';
this.certFileUrl =
this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name="+row.coldFilePath;
this.imgList = [];
this.imgList.push(this.certFileUrl)
let index = row.coldFilePath.lastIndexOf('.');
if(index===-1){
this.$message.error("文件名异常!")
return false
}
if(row.coldFilePath.substr(index+1)==='pdf'){
let pdf = "application/pdf"
let binaryData = [];
previewFile(this.certFileUrl).then(res=>{
binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, {type: pdf}));
window.open(URL);
})
// window.open(this.imgList[0])
return false
}
this.imgViewerVisible = true;
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => {
e.preventDefault();
};
document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); //
},
@ -762,6 +819,17 @@ export default {
this.resultDetailList = [];
this.resultTotal = 0;
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
//
getList() {
this.loading = true;

@ -36,13 +36,14 @@
<template slot-scope="scope">
<el-input v-model="scope.row.batchNo"
:disabled="scope.row.index !== selectedIndex"
@input="scope.row.batchNo =scope.row.batchNo.replace(/[\W]/g, '')"
ref='inputBatchNoRef'
placeholder="请输入批次号"></el-input>
</template>
<!--@input="scope.row.batchNo =scope.row.batchNo.replace(/[\W]/g, '')"-->
</el-table-column>
<el-table-column width="120" label="生产日期">
<template slot-scope="scope">
<el-input v-model="scope.row.productDate" auto-complete="off"
oninput="if(value.length>6)value=value.slice(0,6)"
:disabled="scope.row.index !== selectedIndex"
@ -52,6 +53,7 @@
</el-table-column>
<el-table-column width="120" label="失效日期">
<template slot-scope="scope">
<el-input v-model="scope.row.expireDate" auto-complete="off"
oninput="if(value.length>6)value=value.slice(0,6)"
:disabled="scope.row.index !== selectedIndex"

@ -1,489 +0,0 @@
<template>
<div>
<el-table v-loading="loading" :data="detailList" style="width: 100%" border
:row-style="rowStyle"
row-key="id"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="物资名称" width="150"
prop="coName"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="规格型号" width="150"
prop="spec"
></el-table-column>
<el-table-column label="批次号" header-align="center">
<el-table-column header-align="center"
label="手录" width="100"
prop="bbatchNo"
show-overflow-tooltip
></el-table-column>
<el-table-column header-align="center"
label="扫码"
prop="sbatchNo" width="100"
show-overflow-tooltip
></el-table-column>
</el-table-column>
<el-table-column label="生产日期" header-align="center">
<el-table-column header-align="center"
label="手录" width="100"
prop="bproductDate"
show-overflow-tooltip
></el-table-column>
<el-table-column header-align="center"
label="扫码" width="100"
prop="sproductDate"
show-overflow-tooltip
></el-table-column>
</el-table-column>
<el-table-column label="失效日期" header-align="center">
<el-table-column header-align="center"
label="手录" width="100"
prop="bexpireDate"
show-overflow-tooltip
></el-table-column>
<el-table-column header-align="center"
label="扫码" width="100"
prop="sexpireDate"
show-overflow-tooltip
></el-table-column>
</el-table-column>
<el-table-column label="数量" header-align="center">
<el-table-column
header-align="center"
label="单据数量" width="100"
prop="count"
></el-table-column>
<el-table-column
header-align="center"
label="扫码数量" width="100"
prop="scanCount"
></el-table-column>
</el-table-column>
<el-table-column
label="价格"
prop="price" width="100"
></el-table-column>
<el-table-column width="100" label="计量单位" prop="measname">
</el-table-column>
<el-table-column
label="生产企业"
prop="manufacturer" width="160"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="注册/备案号" width="160"
prop="certCode"
show-overflow-tooltip
></el-table-column>
</el-table>
<el-dialog
title="业务详情-物资录入"
:visible.sync="selectProductVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="selectProductVisible"
:append-to-body='true'
>
<stockOrderNewSelectProduct
:closeDialog="closeDialog"
:data="thisData"
></stockOrderNewSelectProduct>
</el-dialog>
<el-dialog
title="库存物资录入"
:visible.sync="selectInvProductVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="selectInvProductVisible"
:append-to-body='true'
>
<dialogInvProduct
:closeDialog="closeDialogC2"
:invQueryData="invQueryData"
:orderQuery="thisData"
:type="2"
></dialogInvProduct>
</el-dialog>
<!-- 绑定产品-->
<el-dialog
title="绑定产品"
:visible.sync="selectRlVisible"
width="80%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="selectRlVisible"
append-to-body
>
<selectRlDialog
:curRow="curRow"
:type="bizType"
v-on:selectBindRl="selectBindRl"
v-on:closeBindDialog="closeBindDialog"
></selectRlDialog>
</el-dialog>
<!-- 绑定供应商-->
<el-dialog
title="绑定供应商"
:visible.sync="dialogTableVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="dialogTableVisible"
width="80%"
append-to-body
>
<DialogSelectUnit
:codeId="curRow"
:type="bizType"
v-on:selectSupUnit="selectSupUnit"
v-on:closeBindDialog="closeBindDialog"
></DialogSelectUnit>
</el-dialog>
</div>
</template>
<script>
import stockOrderNewSelectProduct from "./DialogSelectProduct";
import dialogInvProduct from "./DialogSelectInvProduct";
import {addBizProduct, getDetailBizs, updateBizProduct, delBizProduct} from "@/api/inout/orderDetailCode";
import {updateBizBind} from "@/api/inout/order";
import selectRlDialog from "@/views/inout/DialogSelectRl";
import DialogSelectUnit from "@/views/inout/DialogSelectUnit";
import {getCheckDetailList} from "@/api/inout/orderDetailBiz";
export default {
name: "PanelCreateOrderResultDetail",
props: {
idQuery: {
type: Object,
required: true,
},
refreshPanel: {
type: Function,
required: true,
},
refreshOrder: {
type: Function,
required: true,
},
viewType: {
type: Object,
required: true,
},
curBustype: {
type: Object,
required: true,
},
},
data() {
return {
bizType: 1,
loading: false,
query: {
orderId: null,
code: "",
corpOrderId: "",
},
detailList: [],
total: 0,
iCount: 0,
selectProductVisible: false,
selectInvProductVisible: false,
thisData: {},
selectedIndex: null,
invQueryData: {
invCode: null,
},
selectRlVisible: false,
dialogTableVisible: false,
curRow: null,
};
},
components: {
selectRlDialog, DialogSelectUnit,
stockOrderNewSelectProduct,
dialogInvProduct,
},
methods: {
getOrderDetails() {
this.loading = true;
this.query.orderIdFk = this.idQuery.billNo;
getCheckDetailList(this.query) //
.then((response) => {
this.detailList = response.data || [];
this.loading = false;
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
},
rowChange(val) {
this.currentRow = val;
if (this.currentRow.batchNo == '')
this.currentRow.batchNo = null;
if (this.currentRow.produceDate == '')
this.currentRow.produceDate = null;
if (this.currentRow.expireDate == '')
this.currentRow.expireDate = null;
this.selectedIndex = val.index;
},
closeDialog(rData) {
this.selectProductVisible = false;
this.selectInvProductVisible = false;
this.idQuery = rData;
this.getOrderDetails();
},
closeDialogC2(rData) {
this.idQuery = rData;
this.selectInvProductVisible = false;
this.getOrderDetails();
},
rowStyle({row, rowIndex}) {
let rowBackground = {};
if (!this.$isNotBlank(row.supId) || !this.$isNotBlank(row.bindRlFk)) {
rowBackground.color = '#f60303';
return rowBackground;
}
if (this.viewType == 1)
return null;
if (!row.checkSuccess) {
rowBackground.color = '#f60303';
}
return rowBackground;
},
tableRowClassName({row, rowIndex}) {
row.index = rowIndex;
},
selectProductFunction() {
this.thisData = this.idQuery;
if (this.$isBlank(this.idQuery.action)) {
this.$message.error("单据类型不能为空!")
return;
}
if (this.$isBlank(this.idQuery.invCode)) {
this.$message.error("当前仓库不能为空!");
return;
}
if (this.$isBlank(this.idQuery.fromCorp) && this.$isBlank(this.idQuery.fromInvCode)) {
this.$message.error("往来信息不能为空!");
return;
}
if (this.curBustype.corpType == 3) {//
this.invQueryData.invCode = this.idQuery.invCode;
this.selectInvProductVisible = true;
} else if (this.curBustype.corpType == 2)//
{
this.selectProductVisible = true;
}
},
saveChange(row) {
if (row.batchNo == '') {
row.batchNo = null;
}
if (row.produceDate == '') {
row.produceDate = null;
}
if (row.expireDate == '') {
row.expireDate = null;
}
updateBizProduct(row)
.then((response) => {
this.loading = false;
if (response.code === 20000) {
this.$message.success("保存成功!");
this.selectedIndex = null;
this.refreshPanel();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.dataList = [];
this.pageTotal = 0;
});
},
copyDetail(row) {
let data = {
relId: row.bindRlFk,
supId: row.supId,
zczbhhzbapzbh: row.certCode,
orderEntity: this.idQuery,
}
this.loading = true;
addBizProduct(data)
.then((response) => {
this.loading = false;
if (response.code === 20000) {
this.getOrderDetails();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.dataList = [];
this.pageTotal = 0;
});
},
deleteDetail(row) {
let data = {
id: row.id,
}
this.loading = true;
delBizProduct(data)
.then((response) => {
this.loading = false;
if (response.code === 20000) {
this.getOrderDetails();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.dataList = [];
this.pageTotal = 0;
});
},
bindRl(val) {
this.curRow = val;
this.selectRlVisible = true;
},
handleUnitClick(row) {
this.curRow = row;
this.dialogTableVisible = true;
},
selectBindRl(row) {
let query = {
id: this.curRow.id,
bindRlFk: row.id,
};
updateBizBind(query).then((response) => {
if (response.code == 20000) {
this.$message.success("绑定成功");
this.getOrderDetails();
} else
this.$message.error(response.message);
}
).catch(() => {
});
},
selectSupUnit(row) {
let query = {
id: this.curRow.id,
supId: row.erpId,
};
updateBizBind(query).then((response) => {
if (response.code == 20000) {
this.$message.success("绑定成功");
this.getOrderDetails();
} else {
this.$message.error(response.message);
}
}).catch(() => {
});
}
,
closeBindDialog() {
this.selectRlVisible = false;
this.dialogTableVisible = false;
this.refreshPanel();
}
,
}
,
filters: {}
,
watch: {
'idQuery.billNo':
{
handler() {
this.refreshOrder(this.idQuery);
}
,
}
}
,
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
}
,
created() {
if (this.idQuery.billNo != null)
this.getOrderDetails();
}
,
}
;
</script>
<style scoped>
.el-table_fixed, el-table__fixed-right {
height: 80% !important;
}
.el-table__fixed-body-wrapper {
height: 80% !important;
}
.ao-text {
width: 100%;
font-size: 13px;
font-family: "Microsoft YaHei";
float: right;
text-align: right;
margin-top: 10px;
}
/**
解决el-input输入框 type=number时输入中文光标上移问题
*/
.el-input__inner {
line-height: 1px !important;
}
</style>

@ -160,8 +160,8 @@ import {stockQRCodeText, filterPrint, generateInnerQRCodeText} from "@/api/inout
import draggable from "vuedraggable";
import {
filterTemp, inspectionStockQRCodeTextPDFFromTemplateFile, inspectionStockQRCodeTextPDFFromTemplateStatementFile,
stockQRCodeTextPDFFromTemplateFile, stockQRCodeTextPDFFromTemplateFileMax
} from "@/api/itextpdf/itextpdf";
stockQRCodeTextPDFFromTemplateFile, stockQRCodeTextPDFFromTemplateFileMax, stockQRCodeTextPDFFromTemplateStatementFile
} from '@/api/itextpdf/itextpdf'
export default {

@ -105,11 +105,11 @@
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-dialog title="请选择对应的注册/备案证" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
<el-radio style="width: 100%; margin-top: 10px;" :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

@ -2,7 +2,9 @@
<div class="login-container">
<div>
<el-row>
<h3 class="toptitle">协和医院平潭分院</h3>
<!-- <h3 class="toptitle">漳州市中医院</h3>-->
<h3 class="toptitle">{{ title }}</h3>
</el-row>
<el-row>
<h3 class="topSubtitle">医院UDI管理系统</h3>
@ -121,6 +123,7 @@ import Verify from "vue2-verify";
import axios from "axios";
import Cookies from "js-cookie";
import {decrypt, encrypt} from "@/utils/jsencrypt";
import {getTitleConfig} from "@/api/login";
export default {
data() {
@ -157,6 +160,7 @@ export default {
showDialog: false, // dialog
redirect: null, //
hospName: "",
title: "福建省XXX医院"
};
},
methods: {
@ -246,7 +250,8 @@ export default {
.then((res) => {
this.$router
.push({path: this.redirect || "/"})
.catch((res) => {});
.catch((res) => {
});
})
.catch((res) => {
this.loading = false;
@ -265,6 +270,11 @@ export default {
}
});
},
getTitleConfig() {
getTitleConfig().then(res => {
this.title = res.data.title;
});
},
},
components: {
Verify,
@ -280,7 +290,7 @@ export default {
axios.get("./config.json").then((res) => {
this.hospName = res.data.hosp_name;
});
this.getTitleConfig();
this.getCookie();
},
};
@ -366,6 +376,7 @@ $light_gray: #eee;
text-align: center;
font-weight: bold;
}
.topSubtitle {
position: absolute;
font-size: 45px;
@ -406,6 +417,7 @@ $light_gray: #eee;
width: 490px;
}
}
.el-input--mini .el-input__icon {
line-height: 32px;
}

@ -15,7 +15,7 @@
</el-col>
<el-col :span="8">
<el-form-item prop="name">
<el-input v-model="formData.name" auto-complete="off" :disabled="formData.auditStatus == 1"></el-input>
<el-input v-model="formData.name" auto-complete="off" :disabled="formData.auditStatus == 1" :maxlength="30"></el-input>
</el-form-item>
</el-col>

@ -95,11 +95,11 @@
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-dialog title="请选择对应的注册/备案证" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
<el-radio style="width: 100%; margin-top: 10px;" :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

@ -100,11 +100,11 @@
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-dialog title="请选择对应的注册/备案证" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
<el-radio style="width: 100%; margin-top: 10px;" :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

@ -96,11 +96,11 @@
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-dialog title="请选择对应的注册/备案证" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
<el-radio style="width: 100%; margin-top: 10px;" :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

@ -138,11 +138,11 @@
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-dialog title="请选择对应的注册/备案证" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
<el-radio style="width: 100%; margin-top: 10px;" :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

@ -151,6 +151,8 @@
border
highlight-current-row="true"
@current-change="handleDetail"
:default-sort="defaultSort"
@sort-change="handleSortChange"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
@ -164,6 +166,8 @@
prop="auditTime"
width="150"
show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']"
></el-table-column>
<el-table-column
label="供应商"
@ -193,6 +197,8 @@
prop="arrivalTime"
width="150"
show-overflow-tooltip
sortable="custom"
:sort-orders="['ascending', 'descending']"
></el-table-column>
<el-table-column
label="订单说明"
@ -286,6 +292,7 @@ import {getInvListByUser} from "@/api/system/invWarehouse";
export default {
data() {
return {
defaultSort: {prop: 'auditTime', order: 'desc'},
BASE_URL: process.env.VUE_APP_BASE_API,
filterQuery: {
billAction: null,
@ -461,6 +468,18 @@ export default {
"/udiwms/image/register/file/getImage?type=image2&name=";
window.open(this.certFileUrl + this.filePath);
},
handleSortChange(column, prop, order) {
if (column.order === 'descending') {
this.filterQuery.sort = 'desc'
} else {
this.filterQuery.sort = 'asc'
}
this.filterQuery.orderBy = column.prop;
this.getList();
},
getList() {
if (this.auditTimes != null) {
this.filterQuery.startAuditDate = this.auditTimes[0];

@ -99,11 +99,11 @@
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-dialog title="请选择对应的注册/备案证" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
<el-radio style="width: 100%; margin-top: 10px;" :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

@ -95,11 +95,11 @@
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-dialog title="请选择对应的注册/备案证" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
<el-radio style="width: 100%; margin-top: 10px;" :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

@ -138,11 +138,11 @@
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-dialog title="请选择对应的注册/备案证" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
<el-radio style="width: 100%; margin-top: 10px;" :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>

@ -30,7 +30,7 @@
type="primary"
size="mini"
icon="search"
v-if="inputQuery.auditStatus == 0 || inputQuery.auditStatus == 6"
v-if=" inputQuery.auditStatus == 1"
@click="onModifySubmit(6)"
>提交审核
</el-button>
@ -40,11 +40,11 @@
size="mini"
icon="search"
v-if="
inputQuery.auditStatus == 3 ||
inputQuery.auditStatus == 1 ||
inputQuery.auditStatus == 2
inputQuery.auditStatus == 0 ||
inputQuery.auditStatus == 2 ||
inputQuery.auditStatus == 3
"
@click="onModifySubmit(inputQuery.auditStatus)"
@click="onModifySubmit(3)"
>提交审核
</el-button>
</div>
@ -580,9 +580,9 @@ export default {
//
if (val == 0) {
var str = "是否确定草稿保存?";
} else if (val == 6) {
} else if (val == 1) {
var str = "是否确定提交审核?";
} else if (val == 2) {
} else if (val == 2||val == 3|| val ==0) {
var str = "企业信息已拒绝审核,是否确认重新提交审核?";
} else {
var str = "企业信息已通过审核,是否确认重新提交审核?";

@ -1100,7 +1100,6 @@ export default {
type: "warning",
})
.then(() => {
debugger
this.updateLoading = true;
let query = {uuid: this.editQuery.uuid, originUuid: this.editQuery.originUuid};
syncOnline(query)

@ -83,50 +83,94 @@
</el-form-item>
</el-col>
</el-row>
<!-- <el-row type="flex" class="edit-row">-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="库存积压预警数量:">-->
<!-- <el-input-->
<!-- style="width: 80%"-->
<!-- size="small"-->
<!-- splaceholder="请输入内容"-->
<!-- v-model="editQuery.overStockNum"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="低库存预警数量:">-->
<!-- <el-input-->
<!-- style="width: 80%"-->
<!-- size="small"-->
<!-- splaceholder="请输入内容"-->
<!-- v-model="editQuery.lowStockNum"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row type="flex" class="edit-row">-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="近效期预警时间:">-->
<!-- <el-input-->
<!-- style="width: 80%"-->
<!-- size="small"-->
<!-- splaceholder="请输入内容"-->
<!-- v-model="editQuery.recentDateTime"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="预警时间单位:">-->
<!-- <el-select v-model="editQuery.isDateBy" style="width: 65%" placeholder="状态" clearable>-->
<!-- <el-option label="天" :value="1"></el-option>-->
<!-- <el-option label="小时" :value="2"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row type="flex" class="edit-row">
<el-col :span="12" v-if="productRemarkSet.remarkEnable1">
<el-form-item :label="productRemarkSet.remarkTitle1+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak1"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable2">
<el-form-item :label="productRemarkSet.remarkTitle2+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak2"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12" v-if="productRemarkSet.remarkEnable3">
<el-form-item :label="productRemarkSet.remarkTitle3+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak3"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable4">
<el-form-item :label="productRemarkSet.remarkTitle4+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak4"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12" v-if="productRemarkSet.remarkEnable5">
<el-form-item :label="productRemarkSet.remarkTitle5+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak5"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable6">
<el-form-item :label="productRemarkSet.remarkTitle6+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak6"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12" v-if="productRemarkSet.remarkEnable7">
<el-form-item :label="productRemarkSet.remarkTitle7+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak7"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable8">
<el-form-item :label="productRemarkSet.remarkTitle8+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak8"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12">
<el-form-item label="产品描述:">
@ -253,6 +297,7 @@ export default {
isDateBy: this.editQuery.isDateBy,
relSupId: this.editQuery.id,
groupBuy: this.editQuery.groupBuy,
uid: this.editQuery.uid,
}
updateById(data).then(res => {

@ -81,12 +81,12 @@
@click="addDiProductVisible = true"
>选入DI信息</el-button
>
<el-button
type="primary"
icon="el-icon-plus"
@click="addProductVisible = true"
>添加院内字典</el-button
>
<!-- <el-button-->
<!-- type="primary"-->
<!-- icon="el-icon-plus"-->
<!-- @click="addProductVisible = true"-->
<!-- >添加院内字典</el-button-->
<!-- >-->
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>

@ -534,7 +534,6 @@ export default {
},
onResetintent() {
debugger;
this.$router.push({
path: "",
});

@ -117,7 +117,7 @@
>文件预览
</el-button
>
<div>只能上传 jpg,png,pdf,doc 文件且不超过 10 MB</div>
<div>只能上传 jpg,png文件且不超过 10 MB</div>
</el-upload>

@ -438,7 +438,6 @@ export default {
previewPdf(row) {
debugger
let query = {id: row.id,module:row.module};
demoPrint(query).then((response) => {
//pdfurl

@ -1,10 +1,14 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="query" size="mini">
<el-form :inline="true" :model="query" size="mini" v-show="showSearch">
<el-row>
<el-col :span="8">
<el-form-item label="用户账号:">
<el-input v-model="query.userName" placeholder="用户账号" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" label="账号状态:">
<el-select v-model="query.userFlag" placeholder="请选择账号状态:">
<el-option label="全部" value=""></el-option>
@ -12,27 +16,27 @@
<el-option label="正常" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属部门:">
<el-input v-model="query.deptName" placeholder="所属部门" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="top-right-btn">
<el-button-group>
<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 icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"></el-button>
<el-button type="primary" @click.native="handleForm(null, null)" icon="el-icon-plus"
:disabled="!configParms.sysUser && query.customerId == 110"
v-hasPermi="['system:user:add']"
>新增
</el-button
>
v-hasPermi="['system:user:add']">新增</el-button>
</el-button-group>
</el-form-item>
</el-form>
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list"
style="width: 100%"
border highlight-current-row>
@ -71,7 +75,7 @@
</el-button>
<el-button
type="text"
:disabled="scope.row.id === 1 || !configParms.sysUser"
:disabled="scope.row.id === '1' || !configParms.sysUser"
@click.native="handleDel(scope.$index, scope.row)"
v-hasPermi="['system:user:remove']"
>删除
@ -102,13 +106,14 @@
<el-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="用户账号" prop="userName">
<el-input v-model="formData.userName" size="small" style="width: 90%"></el-input>
<el-input v-model="formData.userName" size="small" style="width: 90%"
:disabled="formData.id == 1"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="用户名称" prop="employeeName">
<el-input v-model="formData.employeeName" size="small"
style="width: 90%"></el-input>
style="width: 90%" :disabled="formData.id == 1"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -167,7 +172,7 @@
</el-col>
<el-col :span="11" type="flex">
<el-form-item label="状态" prop="userFlag">
<el-radio-group v-model="formData.userFlag" :disabled="formData.id === 1">
<el-radio-group v-model="formData.userFlag" :disabled="formData.id == 1">
<el-radio :label="1">正常</el-radio>
<el-radio :label="0">禁用</el-radio>
@ -205,8 +210,8 @@
</el-row>
<el-row :gutter="20" type="flex">
<el-col :span="11" type="flex">
<el-form-item label="角色">
<el-checkbox-group v-model="formData.roles" :disabled="formData.id === 1" >
<el-form-item label="角色" prop="roles">
<el-checkbox-group v-model="formData.roles" :disabled="formData.id == 1">
<el-checkbox
v-for="item in roles"
:key="item.roleId"
@ -291,10 +296,12 @@ export default {
}
};
return {
showSearch: true,
roles: [],
query: {
userName: "",
userFlag: "",
userFlag: "1",
deptName: "",
page: 1,
limit: 10,
roleId: "",
@ -340,6 +347,12 @@ export default {
depts: [
{required: true, message: "请选择所属部门", trigger: "change"}
],
roles: [
{required: true, message: "请选择用户角色"}
],
employeeName: [
{required: true, message: "请输入用户名称", trigger: "blur"}
]
},
editRules: {
userName: [
@ -356,13 +369,20 @@ export default {
};
},
methods: {
getDeptList(){
},
hideSearch() {
this.showSearch = !this.showSearch;
},
onReset() {
this.$router.push({
path: ""
});
this.query = {
userName: "",
userFlag: "",
userFlag: "1",
deptName: null,
page: 1,
limit: 10,
roleId: "",
@ -617,7 +637,6 @@ export default {
this.getSyncConfig();
this.findDeptMethod();
//
selectSysParamByKey({paramKey: "muti_inv_mode"}).then((res) => {
if (res.code === 20000) {

@ -5,7 +5,8 @@
<el-row>
<el-col :span="6">
<el-form-item label="产品编码:">
<el-input v-model="filterQuery.code" style="width: 90%" placeholder="请输入产品编码/商品条码/医保编码" clearable @keyup.enter.native="keyupErp_submit($event)"></el-input>
<el-input v-model="filterQuery.code" style="width: 90%" placeholder="请输入产品编码/商品条码/医保编码" clearable
@keyup.enter.native="keyupErp_submit($event)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@ -22,7 +23,8 @@
<el-row>
<el-col :span="6">
<el-form-item label="注册/备案号:">
<el-input v-model="filterQuery.registerNo" clearable style="width: 90%" placeholder="请输入注册/备案号"></el-input>
<el-input v-model="filterQuery.registerNo" clearable style="width: 90%"
placeholder="请输入注册/备案号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@ -53,7 +55,9 @@
<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="addProductVisible=true" :disabled="!configParms.basicThirdProducts">新增</el-button>
<el-button type="primary" icon="el-icon-plus" @click="addProductVisible=true"
:disabled="!configParms.basicThirdProducts">新增
</el-button>
</el-button-group>
</div>
@ -70,7 +74,9 @@
<el-table-column label="操作" width="180px">
<template slot-scope="scope">
<el-button type="text" @click.native.stop="detailDialog(scope.row)">详情</el-button>
<el-button type="text" @click.native.stop="deleteDialog(scope.row)" v-if="thirdSysDetail.fromType!=0" :disabled="!configParms.basicThirdProducts">
<el-button type="text" @click.native.stop="editDialog(scope.row)">编辑</el-button>
<el-button type="text" @click.native.stop="deleteDialog(scope.row)" v-if="thirdSysDetail.fromType!=0"
:disabled="!configParms.basicThirdProducts">删除
</el-button>
</template>
</el-table-column>
@ -112,21 +118,40 @@
class="dialog-two"
top="5vh"
>
<ThrProductsAdd
:newType="newType"
:closeAddDialog="closeAddDialog"></ThrProductsAdd>
</el-dialog>
<el-dialog
:close-on-click-modal="false"
:close-on-press-escape="false"
title="产品信息编辑"
:visible.sync="thrProductsEditVisible"
width="60%"
class="dialog-two"
top="5vh"
v-if="thrProductsEditVisible"
>
<thrProductsEdit
:newProductData="thisData"
:closeAddDialog="closeAddDialog"
></thrProductsEdit>
</el-dialog>
</div>
</template>
<script>
import {delThrProducts, saveNewProduct
import {
delThrProducts, saveNewProduct
} from "@/api/thrsys/thrProducts";
import {getInvbasdoc} from "@/api/thrsys/getErps";
import {getBasicThirdSys, filterDetailByKey} from "@/api/thrsys/basicThirdSys";
import {selectIp} from "@/api/system/systemParamConfig";
import thrProductsDetail from "./thrProductsDetail";
import ThrProductsAdd from "@/views/thirdSys/product/thrProductsAdd";
import thrProductsEdit from "@/views/thirdSys/product/thrProductsEdit";
import {findConfig} from "@/api/sync/spsSyncStatus";
export default {
@ -155,6 +180,7 @@ export default {
},
newType: 1,
thrProductsDetailVisible: false,
thrProductsEditVisible: false,
thisData: null,
loading: false,
addProductVisible: false,
@ -261,6 +287,12 @@ export default {
this.thisData = row;
this.thrProductsDetailVisible = true;
},
editDialog(row) {
this.thisData = row;
this.thrProductsEditVisible = true;
},
getBasicThirdSys() {
let query = {
enabled: true,
@ -316,6 +348,8 @@ export default {
})
},
closeAddDialog(val) {
this.thrProductsEditVisible = false;
this.thrProductsDetailVisible = false;
this.addProductVisible = false;
if (val) {
this.getList();
@ -334,7 +368,7 @@ export default {
},
},
components: {
thrProductsDetail, ThrProductsAdd
thrProductsDetail, ThrProductsAdd, thrProductsEdit
},
mounted() {
},

@ -0,0 +1,221 @@
<template>
<el-form :model="newProductData" label-width="120px">
<el-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="第三方系统" prop="thirdSysFk">
<el-select
style="width: 90%"
disabled
v-model="newProductData.thirdSysFk" 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-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="产品编码:" prop="code">
<el-input style="width: 90%" size="small" placeholder="请输入产品编码"
disabled
v-model.trim="newProductData.code"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" type="flex">
<el-form-item label="产品名称:" prop="name">
<el-input style="width: 90%" size="small" placeholder="请输入产品名称" v-model.trim="newProductData.name"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="规格型号:" prop="spec">
<el-input style="width: 90%" size="small" placeholder="请输入规格型号" v-model.trim="newProductData.spec"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="计量单位:" prop="measname">
<el-input style="width: 90%" size="small" placeholder="请输入计量单位"
v-model.trim="newProductData.measname"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入生产企业"
v-model.trim="newProductData.manufactory"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="注册证号:" prop="registerNo">
<el-input style="width: 90%" size="small" placeholder="请输入注册证号"
v-model.trim="newProductData.registerNo"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="医疗器械注册人:" prop="ylqxzcrbarmc">
<el-input style="width: 90%" size="small" placeholder="请输入医疗器械注册人"
v-model.trim="newProductData.ylqxzcrbarmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="注册人英文名称:" prop="ylqxzcrbarywmc">
<el-input style="width: 90%" size="small" placeholder="请输入注册人英文名称"
v-model.trim="newProductData.ylqxzcrbarywmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="产品类别:" prop="cplb">
<el-input style="width: 90%" size="small" placeholder="请输入产品类别" v-model.trim="newProductData.cplb"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="分类编码:" prop="flbm">
<el-input style="width: 90%" size="small" placeholder="请输入分类编码" v-model.trim="newProductData.flbm"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="商品条码:" prop="sptm">
<el-input style="width: 90%" size="small" placeholder="请输入商品条码" v-model.trim="newProductData.sptm"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" placeholder="请输入医保编码" v-model.trim="newProductData.ybbm"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="统一社会信用号:" prop="tyshxydm">
<el-input style="width: 90%" size="small" placeholder="请输入统一社会信用号"
v-model.trim="newProductData.tyshxydm"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="器械类别:" prop="qxlb">
<el-input style="width: 90%" size="small" placeholder="请输入器械类别" v-model.trim="newProductData.qxlb"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="23" class="el-col">
<el-form-item label="产品描述:" prop="cpms">
<el-input style="width: 92%" type="textarea" size="mini" rows="3" placeholder="请输入产品描述"
v-model.trim="newProductData.cpms"></el-input>
</el-form-item>
</el-col>
</el-row>
<div style='text-align: center; margin-bottom: 10px;'>
<el-button type="primary" @click="saveNewProduct"></el-button>
<el-button type="primary" @click="closeAddDialog"></el-button>
</div>
</el-form>
</template>
<script>
import {updateProduct} from "@/api/thrsys/thrProducts";
import {getBasicThirdSys} from "@/api/thrsys/basicThirdSys";
export default {
name: "thrProductsEdit",
props: {
newProductData: {
type: Object,
required: true,
},
closeAddDialog: {
type: Function,
required: true,
},
},
data() {
return {
thirdSys: [],
}
},
methods: {
saveNewProduct() {
this.addProductVisible = false;
if (this.$isBlank(this.newProductData.thirdSysFk)) {
this.$message.warning("第三方系统不能为空!");
return;
}
if (this.$isBlank(this.newProductData.code)) {
this.$message.warning("产品编码为空!");
return;
}
if (this.$isBlank(this.newProductData.name)) {
this.$message.warning("产品名称不能为空!");
return;
}
if (this.$isBlank(this.newProductData.spec)) {
this.$message.warning("规格型号不能为空");
return;
}
if (this.$isBlank(this.newProductData.measname)) {
this.$message.warning("计量单位不能为空!");
return;
}
if (this.$isBlank(this.newProductData.manufactory)) {
this.$message.warning("生产企业不能为空!");
return;
}
if (this.$isBlank(this.newProductData.registerNo)) {
this.$message.warning("注册证号不能为空!");
return;
}
updateProduct(this.newProductData).then((res) => {
if (res.code == 20000) {
this.$message.success("修改成功!");
this.closeAddDialog(true);
} else {
this.$message.error(res.message);
}
}).catch((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>

@ -257,8 +257,8 @@ export default {
systemParamConfigList(this.systemQuery)
.then((response) => {
this.systemLoading = false;
this.systemLists = response.data.list || [];
this.systemList = this.systemLists.filter(item => item.paramValue !=0);
this.systemList = response.data.list || [];
// this.systemList = this.systemLists.filter(item => item.paramValue !=0);
this.systemTotal = response.data.total || 0;
})
.catch(() => {

Loading…
Cancel
Save