Merge remote-tracking branch 'origin/master'

prod
郑明梁 3 years ago
commit eac256a75a

@ -1,75 +0,0 @@
import axios from "../../utils/request";
export function getLocalBusType(query) {
return axios({
url: "/udiwms/localBusType/filter",
method: "get",
params: query
});
}
export function getLocalJoinBusType(query) {
return axios({
url: "/udiwms/localBusType/filterJoin",
method: "get",
params: query
});
}
export function getLocalJoinByUser(query) {
return axios({
url: "/udiwms/localBusType/filterJoinByUser",
method: "get",
params: query
});
}
export function getLocalJoinNoUse(query) {
return axios({
url: "/udiwms/localBusType/filterUnUse",
method: "get",
params: query
});
}
export function filterByBus(query) {
return axios({
url: "/udiwms/localBusType/filterByBus",
method: "get",
params: query
});
}
export function addLocalBusType(query) {
return axios({
url: "/udiwms/localBusType/add",
method: "post",
data: query
});
}
export function deleteLocalBusType(query) {
return axios({
url: "/udiwms/localBusType/delete",
method: "post",
data: query
});
}
export function updateLocalBusType(query) {
return axios({
url: "/udiwms/localBusType/update",
method: "post",
data: query
});
}
export function filterForThirdSys() {
return axios({
url: "/udiwms/localBusType/filterForThirdSys",
method: "get",
param: null
})
}

@ -30,8 +30,6 @@ export function delBussinessType(query) {
});
}
export function downloadBussinessType(query) {
return axios({
url: "/udiwms/originBusType/download",

@ -57,3 +57,11 @@ export function exportFile(query) {
responseType: 'arraybuffer', //一定要设置响应类型否则页面会是空白pdf
});
}
export function filterForThirdSys() {
return axios({
url: "/udiwms/bussinessType/filterForThirdSys",
method: "get",
params: null
})
}

@ -0,0 +1,49 @@
import axios from "../../utils/request";
export function getBusTypePreResList(params) {
return axios({
url: "/spms/busTypePre/filterList",
method: "get",
params: params
});
}
export function getBusTypePreList(params) {
return axios({
url: "/spms/busTypePre/filter",
method: "get",
params: params
});
}
export function removeBusTypePre(data) {
return axios({
url: "/spms/busTypePre/remove",
method: "post",
data: data
});
}
export function deleteBusTypePre(data) {
return axios({
url: "/spms/busTypePre/delete",
method: "post",
data: data
});
}
export function updateBusTypePre(data) {
return axios({
url: "/spms/busTypePre/update",
method: "post",
data: data
});
}
export function addBusTypePre(data) {
return axios({
url: "/spms/busTypePre/insert",
method: "post",
data: data
});
}

@ -74,6 +74,7 @@
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
height: 45px; //
}
// menu hover

@ -0,0 +1,233 @@
<template>
<div>
<el-form :model="inputQuery" label-width="120px">
<span>单据设置</span>
<el-row type="flex">
<el-col :span="24">
<div class="check-box-group" style="margin-top: 12px;">
<el-checkbox v-model="inputQuery.enable" style="width: 200px"
border>启用单据类型
</el-checkbox>
<el-checkbox v-model="inputQuery.genUnit" :disabled="inputQuery.corpType !=2" style="width: 200px" border>
允许手动输入客户信息
</el-checkbox>
<el-checkbox v-model="inputQuery.useDyCount" :disabled="inputQuery.corpType !=2" style="width: 200px"
border>允许科室多次使用出库
</el-checkbox>
<el-checkbox v-model="inputQuery.outTospms" style="width: 200px" border>手持终端提交单据至自助平台
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="24">
<div class="check-box-group">
<el-checkbox v-model="inputQuery.entrutSpms" style="width: 200px" border>允许验收自助平台单据
</el-checkbox>
<el-checkbox v-model="inputQuery.advanceType" style="width: 200px" border>寄售类型单据
</el-checkbox>
<el-checkbox v-model="inputQuery.preIn" style="width: 200px" border>预验收
</el-checkbox>
<el-checkbox v-model="inputQuery.spUse" style="width: 200px" border>允许供应商使用
</el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
<span>单据默认选项</span>
<el-row type="flex">
<el-col :span="24">
<div class="check-box-group" style="margin-top: 12px">
<el-checkbox v-model="inputQuery.ullageFill" :disabled="!inputQuery.changeEnable" style="width: 200px"
border>单据默认自动补单
</el-checkbox>
<el-checkbox v-model="inputQuery.scanPreIn" :disabled="inputQuery.corpType!='2'" style="width: 200px"
border>出库时必须校验预验收库存
</el-checkbox>
<el-checkbox v-model="inputQuery.vailInv" :disabled="inputQuery.mainAction!='WareHouseOut'"
style="width: 200px" border>是否只允许有库存产品出库
</el-checkbox>
<el-checkbox v-model="inputQuery.codeFillCheck" style="width: 200px" border>采集UDI码时进行三期校验
</el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row type="flex">
<el-col :span="24">
<div class="text item">
<el-checkbox v-model="inputQuery.checkEnable" style="width: 240px">()
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="24">
<div class="check-box-group" style="margin-top: 12px;">
<el-checkbox v-model="inputQuery.checkWebNew" :disabled="!inputQuery.checkEnable"
style="width: 200px" border>web端新增单据
</el-checkbox>
<el-checkbox v-model="inputQuery.checkPdaUn" :disabled="!inputQuery.checkEnable"
style="width: 200px" border>手持终端未校验单据
</el-checkbox>
<el-checkbox v-model="inputQuery.checkPdaEd" :disabled="!inputQuery.checkEnable"
style="width: 200px" border>手持终端已校验单据
</el-checkbox>
<el-checkbox v-model="inputQuery.checkUdims" :disabled="!inputQuery.checkEnable"
style="width: 200px" border>UDIMS平台
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="24">
<div class="check-box-group">
<el-checkbox v-model="inputQuery.checkPc" :disabled="!inputQuery.checkEnable" style="width: 200px" border>
UDI扫码通
</el-checkbox>
<el-checkbox v-model="inputQuery.checkSp" :disabled="!inputQuery.checkEnable" style="width: 200px" border>
自助平台同步
</el-checkbox>
<el-checkbox v-model="inputQuery.checkChange" :disabled="!inputQuery.checkEnable" style="width: 200px"
border>自动补单
</el-checkbox>
<el-checkbox v-model="inputQuery.checkBalacne" :disabled="!inputQuery.checkEnable" style="width: 200px"
border>平衡补单
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="24">
<div class="check-box-group">
<el-checkbox v-model="inputQuery.checkCopy" :disabled="!inputQuery.checkEnable" style="width: 200px" border>
手动补单
</el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row type="flex">
<el-col :span="4">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckEnable"
:disabled="twoCheck" style="width: 240px">需要单据复核的单据来源类型(二次复核)
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="24">
<div class="check-box-group" style="margin-top: 12px">
<el-checkbox v-model="inputQuery.secCheckWebNew" :disabled="!inputQuery.secCheckEnable" style="width: 200px"
border>web端新增单据
</el-checkbox>
<el-checkbox v-model="inputQuery.secCheckPdaUn" :disabled="!inputQuery.secCheckEnable" style="width: 200px"
border>手持终端未校验单据
</el-checkbox>
<el-checkbox v-model="inputQuery.secCheckPdaEd" :disabled="!inputQuery.secCheckEnable" style="width: 200px"
border>手持终端已校验单据
</el-checkbox>
<el-checkbox v-model="inputQuery.secCheckUdims" :disabled="!inputQuery.secCheckEnable" style="width: 200px"
border>UDIMS平台
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="24">
<div class="check-box-group">
<el-checkbox v-model="inputQuery.secCheckPc" :disabled="!inputQuery.secCheckEnable" style="width: 200px"
border>UDI扫码通
</el-checkbox>
<el-checkbox v-model="inputQuery.secCheckSp" :disabled="!inputQuery.secCheckEnable" style="width: 200px"
border>自助平台同步
</el-checkbox>
<el-checkbox v-model="inputQuery.secCheckChange" :disabled="!inputQuery.secCheckEnable" style="width: 200px"
border>自动补单
</el-checkbox>
<el-checkbox v-model="inputQuery.secCheckBalacne" :disabled="!inputQuery.secCheckEnable"
style="width: 200px" border>平衡补单
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="24">
<div class="check-box-group">
<el-checkbox v-model="inputQuery.secCheckCopy" :disabled="!inputQuery.secCheckEnable" style="width: 200px"
border>手动补单
</el-checkbox>
</div>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
export default {
name: "busTypeAdvancedSettings",
props: {
inputQuery: {
type: Object,
required: true
}
},
data() {
return {}
}
}
</script>
<style scoped>
.check-box-group {
margin-bottom: 18px;
margin-left: 25px;
}
</style>

@ -46,43 +46,41 @@
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column label="序号" type="index" width="60" fixed></el-table-column>
<el-table-column label="单据类型" prop="name" fixed></el-table-column>
<el-table-column label="出入库类型" prop="mainAction" fixed>
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
<el-table-column label="序号" type="index" width="60"></el-table-column>
<el-table-column label="单据类型" prop="name"></el-table-column>
<el-table-column label="出入库类型" prop="mainAction">
<template slot-scope="scope">
<span>{{ mainActionMap[scope.row.mainAction] }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="扫码单据类型代码" prop="action" fixed></el-table-column>-->
<el-table-column label="是否启用" prop="enable" fixed>
<el-table-column label="是否启用" prop="enable">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.enable] }}</span>
</template>
</el-table-column>
<el-table-column label="一次校验" prop="checkEnable" fixed>
<el-table-column label="一次校验" prop="checkEnable">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.checkEnable] }}</span>
</template>
</el-table-column>
<el-table-column label="二次核对" prop="secCheckEnable" fixed>
<el-table-column label="二次核对" prop="secCheckEnable">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.secCheckEnable] }}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right">
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
:disabled="!configParms.typeScan"
:disabled="!configParams.typeScan"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
@ -103,13 +101,13 @@
top="5vh"
>
<modifyDialog :inputQuery="inputQuery"></modifyDialog>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onAddSubmit"
:disabled="!configParms.typeScan"
<div slot="footer" class="dialog-footer">
<el-button type="primary" size="small" @click="onAddSubmit"
:disabled="!configParams.typeScan"
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
<el-button size="small" @click="cancelDialog"
>取消
</el-button
>
@ -117,17 +115,17 @@
</el-dialog>
<el-dialog
title="编辑扫码单据类型"
title="编辑单据类型"
:visible.sync="modifyDialogVisible"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="modifyDialogVisible"
>
<modifyDialog :inputQuery="inputQuery"></modifyDialog>
<modifyDialog :inputQuery="inputQuery" :modifySubmit="onModifySubmit"></modifyDialog>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onModifySubmit"
:disabled="!configParms.typeScan"
:disabled="!configParams.typeScan"
>提交
</el-button
>
@ -177,7 +175,6 @@ export default {
mainAction: "",
thirdSysFk: "",
id: "",
localAction: null,
checkEnable: false,
genUnit: false,
innerOrder: false,
@ -218,6 +215,10 @@ export default {
defaultInv: null,
defaultSubInv: null,
orderVisibleType: 0,
advanceType: null,
preIn: null,
originAction: null,
comments: null,
},
enableMap: {
true: "是",
@ -232,7 +233,7 @@ export default {
multipleSelection: [],
uploadFileUrl: null,
headers: {},
configParms: {},
configParams: {},
loading: false,
};
@ -285,21 +286,18 @@ export default {
onAddSubmit() {
if (isBlank(this.inputQuery.name)) {
this.$message.error("扫码单据类型名称不能为空!");
this.$message.error("单据类型名称不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.corpType)) {
this.$message.error("往来信息类型不能为空!");
return;
}
if (this.inputQuery.enable && this.inputQuery.localAction == "") {
this.$message.error("本地单据类型不能为空!");
return;
}
if (this.inputQuery.mainAction == "" || this.inputQuery.mainAction == null) {
this.$message.error("出入库类型不能为空!");
return;
}
this.inputQuery.enable = 1;
insertBusType(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
@ -357,65 +355,13 @@ export default {
});
},
handleAddClick() {
this.inputQuery = {enable: false, expireTip: true};
this.addDialogVisible = true;
},
handleModifyClick(row) {
this.inputQuery = {
id: row.id,
remark: row.remark,
action: row.action,
name: row.name,
enable: row.enable,
mainAction: row.mainAction,
localAction: row.localAction,
thirdSysFk: row.thirdSysFk,
checkEnable: row.checkEnable,
genUnit: row.genUnit,
innerOrder: row.innerOrder,
spUse: row.spUse,
secCheckEnable: row.secCheckEnable,
checkUdims: row.checkUdims,
checkPdaEd: row.checkPdaEd,
checkPdaUn: row.checkPdaUn,
checkPc: row.checkPc,
checkWebNew: row.checkWebNew,
checkChange: row.checkChange,
secCheckUdims: row.secCheckUdims,
secCheckPdaEd: row.secCheckPdaEd,
secCheckPdaUn: row.secCheckPdaUn,
secCheckPc: row.secCheckPc,
secCheckWebNew: row.secCheckWebNew,
secCheckChange: row.secCheckChange,
thirdAction: row.thirdAction,
corpType: row.corpType + "",
storageCode: row.storageCode,
secCheckSp: row.secCheckSp,
checkSp: row.checkSp,
supplementOrderType: row.supplementOrderType,
checkBalacne: row.checkBalacne,
secCheckBalacne: row.secCheckBalacne,
defaultUnit: row.defaultUnit,
useDyCount: row.useDyCount,
expireTip: row.expireTip,
prefix: row.prefix,
outTospms: row.outTospms,
ullageFill: row.ullageFill,
scanPreIn: row.scanPreIn,
vailInv: row.vailInv,
entrutSpms: row.entrutSpms,
codeFillCheck: row.codeFillCheck,
changeEnable: row.changeEnable,
defaultSubInv: row.defaultSubInv,
defaultInv: row.defaultInv,
orderVisibleType: row.orderVisibleType,
checkCopy: row.checkCopy,
secCheckCopy: row.secCheckCopy,
};
this.inputQuery = row;
this.modifyDialogVisible = true;
},
@ -432,14 +378,6 @@ export default {
});
},
getActionName(action) {
for (let i = 0; i < this.busTypes.length; i++) {
if (this.busTypes[i].localAction === action) {
return this.busTypes[i].localName;
}
}
},
deleteOrders(data) {
this.loading = true;
let tquery = {
@ -484,7 +422,7 @@ export default {
findConfig()
.then((response) => {
if (response.code == 20000) {
this.configParms = response.data;
this.configParams = response.data;
}
})
.catch(() => {
@ -503,3 +441,9 @@ export default {
},
};
</script>
<style scoped>
.el-form-item--mini.el-form-item {
margin-bottom: 9px;
}
</style>

@ -1,15 +1,15 @@
<template>
<div>
<el-form :model="inputQuery" :rules="formRules" ref="dataForm" label-width="180px">
<el-form :model="inputQuery" :rules="formRules" ref="dataForm" label-width="120px" border>
<el-row type="flex">
<el-col :span="11" type="flex">
<el-col :span="11">
<el-form-item label="扫码单据类型" prop="name">
<el-input v-model="inputQuery.name" size="small" style="width: 90%"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-col :span="11">
<el-form-item label="单据类型代码" prop="action">
<el-input v-model="inputQuery.action" size="small"
<el-input v-model="inputQuery.action" :disabled="true" size="small"
style="width: 90%"></el-input>
</el-form-item>
</el-col>
@ -28,9 +28,13 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-col :span="11">
<el-form-item label="往来信息类型" prop="corpType">
<el-select v-model="inputQuery.corpType" placeholder="往来信息" @change="corpTypeChange">
<el-select v-model="inputQuery.corpType"
size="small"
style="width: 90%"
placeholder="往来信息"
@change="corpTypeChange">
<el-option
v-for="item in options"
:key="item.value"
@ -43,9 +47,11 @@
</el-row>
<el-row type="flex">
<el-col :span="11" type="flex">
<el-col :span="11">
<el-form-item label="内部进出平衡补单" prop="supplementOrderType">
<el-select :disabled="inputQuery.corpType !=1"
size="small"
style="width: 90%"
v-model="inputQuery.supplementOrderType"
clearable
placeholder="单据类型">
@ -59,12 +65,14 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-col :span="11">
<el-form-item label="特殊单据往来" prop="defaultUnit">
<el-select
v-model="inputQuery.defaultUnit"
filterable
remote
size="small"
style="width: 90%"
:disabled="inputQuery.corpType!=3"
clearable="true"
reserve-keyword
@ -84,16 +92,18 @@
</el-row>
<el-row type="flex">
<el-col :span="11" type="flex">
<el-col :span="11">
<el-form-item label="单据前缀" prop="prefix">
<el-input v-model="inputQuery.prefix" size="small" style="width: 90%"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="单据详情展示方式" prop="orderVisibleType">
<el-select v-model="inputQuery.orderVisibleType" style="margin-left: 5px"
<el-select v-model="inputQuery.orderVisibleType"
size="small"
style="width: 90%"
placeholder="单据详情展示方式"
size="mini">
>
<el-option label="批次号" :value=0></el-option>
<el-option label="条码清单" :value=1></el-option>
</el-select>
@ -101,6 +111,29 @@
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11">
<el-form-item label="第三方单据类型" prop="prefix">
<el-select v-model="inputQuery.originAction"
size="small"
style="width: 90%"
placeholder="请选择第三方系统单据类型"
>
<el-option
v-for="item in originTypes"
:key="item.name"
:label="item.name"
:value="item.action">
<span style="float: left;font-size: 13px">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px;margin-left: 10px">{{
item.action
}}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="23" type="flex">
<el-form-item prop="comments">
@ -111,186 +144,47 @@
</el-col>
</el-row>
<el-divider></el-divider>
<span>单据设置</span>
<el-row type="flex">
<el-col :span="23" class="el-col">
<div class="text item" style="margin-top: 6px">
<el-checkbox v-model="inputQuery.enable" :disabled="inputQuery.localAction==null"></el-checkbox>
<el-checkbox v-model="inputQuery.genUnit" :disabled="inputQuery.corpType !=2">
</el-checkbox>
<el-checkbox v-model="inputQuery.useDyCount" :disabled="inputQuery.corpType !=2">使
</el-checkbox>
<el-checkbox v-model="inputQuery.outTospms">
</el-checkbox>
<el-checkbox v-model="inputQuery.entrutSpms">
</el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
<span>单据默认选项</span>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="24" class="el-col">
<div class="text item" style="margin-top: 12px">
<el-checkbox v-model="inputQuery.ullageFill" :disabled="!inputQuery.changeEnable">
</el-checkbox>
<el-checkbox v-model="inputQuery.scanPreIn" :disabled="inputQuery.corpType!='2'">
</el-checkbox>
<el-checkbox v-model="inputQuery.vailInv" :disabled="inputQuery.mainAction!='WareHouseOut'">
</el-checkbox>
<el-checkbox v-model="inputQuery.codeFillCheck">UDI
</el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkEnable">()</el-checkbox>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex" style="margin-left: 15px">
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkWebNew" :disabled="!inputQuery.checkEnable">web
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkPdaUn" :disabled="!inputQuery.checkEnable">
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkPdaEd" :disabled="!inputQuery.checkEnable">
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkUdims" :disabled="!inputQuery.checkEnable">UDIMS
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkPc" :disabled="!inputQuery.checkEnable">UDI</el-checkbox>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex" style="margin-left: 15px">
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkSp" :disabled="!inputQuery.checkEnable"></el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkChange" :disabled="!inputQuery.checkEnable">
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkBalacne" :disabled="!inputQuery.checkEnable">
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkCopy" :disabled="!inputQuery.checkEnable">
</el-checkbox>
</div>
<el-col :span="23" type="flex">
<el-button type="text" size="large" style="margin-left: 10px;" @click="advancedSettings"></el-button>
</el-col>
</el-row>
</el-form>
<el-divider></el-divider>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckEnable"
:disabled="twoCheck">需要单据复核的单据来源类型(二次复核)
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex" style="margin-left: 15px">
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckWebNew" :disabled="!inputQuery.secCheckEnable">web
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckPdaUn" :disabled="!inputQuery.secCheckEnable">
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckPdaEd" :disabled="!inputQuery.secCheckEnable">
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckUdims" :disabled="!inputQuery.secCheckEnable">UDIMS
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckPc" :disabled="!inputQuery.secCheckEnable">UDI
</el-checkbox>
</div>
</el-col>
<el-dialog
title="单据类型高级设置"
:visible.sync="settingDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="settingDialogVisible"
class="dialog-two"
width="60%"
top="5vh"
append-to-body
>
<busTypeAdvancedSettings :inputQuery="inputQuery"></busTypeAdvancedSettings>
</el-row>
<el-row :gutter="20" class="el-row" type="flex" style="margin-left: 15px">
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckSp" :disabled="!inputQuery.secCheckEnable">
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckChange" :disabled="!inputQuery.secCheckEnable">
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckBalacne" :disabled="!inputQuery.secCheckEnable">
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckCopy" :disabled="!inputQuery.secCheckEnable">
</el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" size="small" @click="saveSettings"
>提交
</el-button
>
<el-button size="small" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import {getCandidateBussinessType} from "@/api/basic/bussinessType";
import {candidateBusType} from "@/api/basic/busType";
import busTypeAdvancedSettings from "@/views/basic/busType/busTypeAdvancedSettings.vue";
import {isBlank} from "@/utils/strUtil";
import {getOriginBusType} from "@/api/basic/busOriginType";
export default {
name: "BussinessTypeModify",
@ -299,6 +193,10 @@ export default {
type: Object,
required: true,
},
modifySubmit: {
type: Function,
required: true,
}
},
data() {
@ -309,30 +207,26 @@ export default {
isBuType: true,
isFilterBind: true,
},
storageList: [],
subInvList: [],
orderTypeList: [],
fromSpecialOptions: [],
thirdSys: [],
localTypes: [],
originTypes: [],
value: "",
options: [{
value: '0',
value: 0,
label: '供应商信息'
}, {
value: '1',
value: 1,
label: '仓库信息'
},
{
value: '2',
value: 2,
label: '客户信息'
}, {
value: '3',
value: 3,
label: '特殊往来'
}],
twoCheck: false,
settingDialogVisible: false
}
},
methods: {
@ -346,52 +240,7 @@ export default {
})
.catch(() => {
});
getBasicThirdSys(this.filterQuery)
.then((response) => {
this.thirdSys = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.list = [];
});
let query = {
curAction: this.inputQuery.localAction,
};
getLocalJoinNoUse(query)
.then((response) => {
this.localTypes = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.localTypes = [];
});
},
getStorage() {
this.storageList = [];
filterAll()
.then((response) => {
this.storageList = response.data || [];
this.findDefaultSubInv();
})
.catch(() => {
});
},
invChange() {
if (this.$isNotBlank(this.inputQuery.defaultSubInv))
this.inputQuery.defaultSubInv = null;
this.findDefaultSubInv();
},
findDefaultSubInv() {
this.subInvList = [];
let query = {
pcode: this.inputQuery.defaultInv
};
filterSubByInv(query)
.then((response) => {
this.subInvList = response.data || [];
})
.catch(() => {
});
this.inputQuery.corpType = 1;
},
findSpecialMethod() {
let query = {
@ -403,20 +252,12 @@ export default {
})
},
oneCheck(type) {
console.log(type);
if (!type) {
this.twoCheck = true;
this.inputQuery.secCheckEnable = false;
} else
this.twoCheck = false;
},
corpTypeChange(type) {
if (type != 2) {
this.inputQuery.genUnit = false;
}
}
,
},
//
getOrderType() {
this.orderTypeList = [];
@ -424,18 +265,40 @@ export default {
mainAction: this.inputQuery.mainAction,
curAction: this.inputQuery.supplementOrderType,
};
getCandidateBussinessType(query).then((response) => {
candidateBusType(query).then((response) => {
this.orderTypeList = response.data || [];
}).catch(() => {
})
},
//
advancedSettings() {
if (isBlank(this.inputQuery.id)) {
this.$message.warning("请先保存当前单据类型!");
} else {
this.settingDialogVisible = true;
}
},
//
saveSettings() {
this.modifySubmit(this.inputQuery);
},
//
cancelDialog() {
this.settingDialogVisible = false;
},
},
computed: {
corpType() {
return this.inputQuery.corpType;
}
},
components: {
busTypeAdvancedSettings
},
watch: {
corpType: function (val) {
if (val != 1) {
@ -452,34 +315,16 @@ export default {
this.getOrderType();
}
this.getList();
this.getStorage();
this.findSpecialMethod();
},
};
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
margin-bottom: 20px;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -8,9 +8,9 @@
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
type="primary"
icon="el-icon-refresh"
@click="onReset"
></el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="addSpace"></el-button>
@ -39,34 +39,33 @@
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
type="text"
@click.native.stop="editSpace(scope.row)"
type="text"
@click.native.stop="editSpace(scope.row)"
>编辑
</el-button>
<el-button
type="text"
@click.native.stop="deleteDialog(scope.row.id)"
type="text"
@click.native.stop="deleteDialog(scope.row.id)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
:current-page="filterQuery.page"
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
<pagination
v-show="total>0"
:total="total"
:page.sync="filterQuery.page"
:limit.sync="filterQuery.limit"
@pagination="getList"
/>
<el-dialog
:title="formMap[formName]"
:visible.sync="modifySpaceVisible"
width="60%"
:close-on-click-modal="false"
:close-on-press-escape="false"
append-to-body
v-if="modifySpaceVisible"
:title="formMap[formName]"
:visible.sync="modifySpaceVisible"
width="60%"
:close-on-click-modal="false"
:close-on-press-escape="false"
append-to-body
v-if="modifySpaceVisible"
>
<el-form :model="formData" :rules="rules" ref="formData" label-width="80px">
<el-row>
@ -76,7 +75,6 @@
placeholder="请输入货位编码"></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="name" label="货位名称">
<el-input v-model="formData.name" auto-complete="off" style="width: 90%"
@ -84,7 +82,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item prop="remark" label="货位分类">
@ -99,7 +96,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item prop="remark" label="备注">
@ -109,7 +105,6 @@
</el-form-item>
</el-col>
</el-row>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="saveSpace"
>提交
@ -146,7 +141,7 @@ export default {
invStorageCode: null,
key: null,
page: 1,
limit: 20,
limit: 10,
customerId: null,
},
list: [],
@ -204,7 +199,7 @@ export default {
invWarehouseCode: this.invInfo.invWarehouseCode,
invStorageCode: this.invInfo.invStorageCode,
page: 1,
limit: 20,
limit: 10,
};
this.getList();
},
@ -239,19 +234,19 @@ export default {
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let params = {id: rowId};
deleteSpace(params).then((res) => {
if (res.code === 20000) {
this.$message.success("删除成功!");
this.getList();
} else {
this.$message.error(res.message);
}
})
.then(() => {
let params = {id: rowId};
deleteSpace(params).then((res) => {
if (res.code === 20000) {
this.$message.success("删除成功!");
this.getList();
} else {
this.$message.error(res.message);
}
})
.catch(() => {
});
})
.catch(() => {
});
},
cancelDialog() {
this.modifySpaceVisible = false
@ -260,11 +255,11 @@ export default {
getStorage() {
this.storageList = [];
filterUplLocInv()
.then((response) => {
this.storageList = response.data || [];
})
.catch(() => {
});
.then((response) => {
this.storageList = response.data || [];
})
.catch(() => {
});
},
resetForm() {
if (this.$refs["formData"]) {

@ -0,0 +1,95 @@
<template>
<div>
<el-form :inline="true" :model="busQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="单据类型名称:">
<el-input
v-model="busQuery.key"
placeholder="请输入单据类型名称"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="selsectBussinessType"
>重置
</el-button>
<el-button type="primary" @click="selsectBussinessType"
icon="el-icon-search"
>查询
</el-button
>
<el-button type="primary" @click="addBussinessType()"
icon="el-icon-document-add"
>选入单据类型
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table :data="userBussinessTypeList" ref="typeList"
border
style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据类型名称" prop="name"></el-table-column>
<el-table-column label="单据类型编码" prop="action"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
type="text"
:disabled="!configParms.basicInv"
@click.native.stop="delWarehouseBussinessType(scope.row.id)"
>移除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog
title="仓库信息-选入单据类型"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="bussinessTypeFormVisible"
>
<el-table v-loading="loading" :data="bussinessTypeList" ref="typeList"
border
style="width: 100%">
<el-table-column
type="selection"
:reserve-selection="true"
width="55">
</el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据类型编码" prop="action"></el-table-column>
<el-table-column label="单据类型名称" prop="name"></el-table-column>
</el-table>
<pagination
v-show="bussinessTypeTotal>0"
:total="bussinessTypeTotal"
:page.sync="bussinessTypeQuery.page"
:limit.sync="bussinessTypeQuery.limit"
@pagination="getSelectUser"
/>
<div slot="footer" class="dialog-footer">
<el-button @click.native="bussinessTypeFormVisible = !bussinessTypeFormVisible"
>取消
</el-button
>
<el-button
type="primary"
@click.native="addBussinessTypeData()"
>提交
</el-button>
</div>
</el-dialog>
</div>
</template>
<script></script>
<style scoped>
</style>

@ -0,0 +1,312 @@
<template>
<div>
<el-form :inline="true" :model="userQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="用户名称/账号:">
<el-input
v-model="userQuery.key"
placeholder="请输入用户名称或用户账号"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onUserReset"
>重置
</el-button>
<el-button type="primary" @click="loadUserList"
icon="el-icon-search"
>查询
</el-button
>
<el-button type="primary" @click="addUser()"
icon="el-icon-document-add"
>选入用户
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table
:data="userData"
key="row.id"
border
style="width: 100%"
highlight-current-row
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
prop="employeeName"
label="用户名"
min-width="30%">
</el-table-column>
<el-table-column
prop="username"
label="账号"
min-width="20%">
</el-table-column>
<el-table-column
label="操作"
min-width="30%"
>
<template slot-scope="scope">
<el-button
type="text"
:disabled="!configParms.basicInv"
@click.native="rmInvUser(scope.row)">
移除
</el-button>
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small" :disabled="!configParms.basicInv"-->
<!-- @click.native="rmInvUser(scope.row)">-->
<!-- 授权-->
<!-- </el-button>-->
<el-button
type="text"
:disabled="!configParms.basicInv"
@click.native="relBusttype(scope.row)">
管理单据类型
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="userTotal>0"
:total="userTotal"
:page.sync="userQuery.page"
:limit.sync="userQuery.limit"
@pagination="loadUserList"
/>
<!--添加用户弹窗-->
<el-dialog
v-if="userFormVisible"
title="仓库信息-选入用户"
:close-on-click-modal="false"
width="45%"
append-to-body
:close-on-press-escape="false"
:visible.sync="userFormVisible"
>
<el-table v-loading="userloading" :data="selectUserList"
ref="selectUserList"
@selection-change="handleUserSelectionChange"
border
style="width: 100%">
<el-table-column
type="selection"
:reserve-selection="false"
width="55">
</el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="账号" prop="userName"></el-table-column>
<el-table-column label="用户名" prop="employeeName"></el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click.native="userFormVisible = !userFormVisible"
>取消
</el-button
>
<el-button
type="primary"
@click.native="addUserData()"
>选入
</el-button>
</div>
<pagination
v-show="selectUserToatl>0"
:total="selectUserToatl"
:page.sync="selectUserQuery.page"
:limit.sync="selectUserQuery.limit"
@pagination="getSelectUser"
/>
</el-dialog>
<!-- 用户业务单据类型关联-->
<el-dialog
title="仓库-用户单据类型管理"
:visible.sync="relBusUserVisile"
width="45%"
:close-on-click-modal="false"
:close-on-press-escape="false"
append-to-body
v-if="relBusUserVisile"
>
<inv-user-rel-bus-types :inputQuery="curSeleUser" :closeDialog="cancelRelBusDiaolog"></inv-user-rel-bus-types>
</el-dialog>
</div>
</template>
<script>
import {addWarehouseUser, deleteWarehouseUser, warehouseUserList} from "@/api/system/invWarehouse";
import {selectNotSelectUser} from "@/api/auth/authUser";
import InvUserRelBusTypes from "@/views/system/dept/invUserRelBusTypes";
export default {
name: "invRelUsers",
components: {InvUserRelBusTypes},
props: {
configParms: {
type: Object,
required: true,
},
inputQuery: {
type: Object,
required: true,
},
closeDialog: {
type: Function,
required: true,
},
},
data() {
return {
//-------------------------------------
userQuery: {
code: null,
page: 1,
limit: 10
},
userData: [],
userTotal: 0,
//--------------------
selectUserQuery: {
code: null,
page: 1,
limit: 10
},
userFormVisible: false,
userloading: false,
selectUserList: [],
selectUserToatl: 0,
selectAddUser: [],
//------------------------------
curSeleUser: null,
relBusUserVisile: false,
}
},
methods: {
//
onUserReset() {
this.userQuery = {
code: null,
page: 1,
limit: 10
};
},
loadUserList(val) { //
if (val != null) {
this.userQuery.page = val;
}
//
warehouseUserList(this.userQuery).then((res) => {
this.userData = res.data.list;
this.userTotal = res.data.total;
}).catch((error) => {
this.$message.error("用户数据加载失败")
});
},
addUser() { //
this.currentCode = this.inputQuery.code;
this.userFormVisible = true;
this.selectUserQuery.code = this.inputQuery.code;
this.selectUserQuery.page = 1;
this.getSelectUser();
},
rmInvUser(row) { //
this.$confirm("确定移除该仓库关联用户?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let params = {id: row.id};
deleteWarehouseUser(params).then((res) => {
if (res.code == 20000) {
this.loadUserList();
} else {
this.$message.error(res.message);
}
}).catch((error) => {
});
})
.catch(() => {
});
},
handleUserSelectionChange(val) {
this.selectAddUser = val;
},
getSelectUser() {
selectNotSelectUser(this.selectUserQuery).then((res) => {
this.selectUserList = res.data.list;
this.selectUserToatl = res.data.total;
}).catch((error) => {
this.$message.error("用户数据加载失败")
});
},
addUserData() { //
let query = {
code: this.currentCode,
userList: JSON.stringify(this.selectAddUser)
};
addWarehouseUser(query).then((res) => {
if (res.code === 20000) {
this.userFormVisible = false;
this.$message.success("添加成功");
this.userQuery = {
code: this.currentCode,
page: 1,
limit: 10
}
//
warehouseUserList(this.userQuery).then((res) => {
this.userData = res.data.list;
this.userTotal = res.data.total;
}).catch((error) => {
this.userData = [];
this.userTotal = 0;
});
} else {
this.$message.error(res.message);
}
}).catch((error) => {
this.$message.error("添加失败");
});
},
//-
relBusttype(row) {
this.curSeleUser = row;
this.relBusUserVisile = true;
},
cancelRelBusDiaolog() {
this.relBusUserVisile = false;
},
},
created() {
this.userQuery.code = this.inputQuery.code;
this.loadUserList();
}
}
</script>
<style scoped>
</style>

@ -1,9 +1,17 @@
<template>
<div style="margin-left: 15px">
<el-transfer v-model="value" :data="data"
class="edit_dev"
:titles="['未选入单据类型', '已选入单据类型']"
:button-texts="['移除', '选入']"
></el-transfer>
>
<template slot-scope="scope">
<span>
<span>{{ scope.option.label }}</span>
</span>
</template>
</el-transfer>
<div style="text-align: center;margin-top: 20px">
<el-button type="primary" size="small" icon="search" @click="onAddSubmit"
>提交
@ -115,5 +123,13 @@ export default {
</script>
<style scoped>
/*.edit_dev >>> .el-transfer__button {*/
/* display: flex;*/
/*}*/
/*.edit_dev >>> .el-transfer__button {*/
/* display: flex;*/
/* width: 50px;*/
/*}*/
</style>

@ -54,8 +54,9 @@
label="上级仓库"
>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width">
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
type="text"
:disabled="!configParms.basicInv"
@ -63,6 +64,24 @@
>编辑
</el-button
>
<el-button
type="text"
:disabled="!configParms.basicInv"
@click.native.stop="popInvRelUser( scope.row)"
>用户管理
</el-button
>
<el-button
type="text"
:disabled="!configParms.basicInv"
@click.native.stop="popInvRelBustype(scope.row)"
>单据类型
</el-button
>
<el-button
type="text"
:disabled="!configParms.basicInv"
@ -81,7 +100,7 @@
:limit.sync="query.limit"
@pagination="getList"
/>
<!--仓库编辑界面-->
<!--仓库编辑对话框-->
<el-dialog
:title="formMap[formName]"
:close-on-click-modal="false"
@ -195,235 +214,109 @@
>
</div>
</el-dialog>
</el-card>
<el-tabs type="border-card" style="margin: 15px">
<el-tab-pane>
<span slot="label">{{ currentRow.name }}-用户列表</span>
<el-form :inline="true" :model="userQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="用户名称/账号:">
<!-- 仓库关联第三方分库对话框-->
<el-dialog title="仓库信息-关联第三方仓库" :visible.sync="thrSubWareHouseVisible">
<el-form :inline="true" :model="thirdSubQuery" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input
v-model="userQuery.key"
placeholder="请输入用户名称或用户账号"
v-model="thirdSubQuery.name"
clearable
placeholder="仓库名称"
style="width: 400px"
></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onUserReset"
>重置
</el-button>
<el-button type="primary" @click="onUserReset"
icon="el-icon-search"
>查询
</el-button
>
<el-button type="primary" @click="addUser()"
icon="el-icon-document-add"
>选入用户
</el-button
>
<el-button type="primary" icon="search" @click="intentSubSelect"></el-button>
</el-button-group>
</el-form-item>
</el-form>
<el-table
:data="userData"
key="row.id"
:data="thrSubWarehouseData"
style="width: 100%;margin-top: 10px;"
row-key="id"
border
style="width: 100%"
highlight-current-row
@current-change="changeSubThrWarehouse"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
prop="employeeName"
label="用户名"
min-width="30%">
type="index"
label="序号"
>
</el-table-column>
<el-table-column
prop="username"
label="账号"
min-width="20%">
prop="code"
label="仓库编码"
>
</el-table-column>
<el-table-column
label="操作"
min-width="30%"
prop="name"
label="仓库名称"
>
<template slot-scope="scope">
<el-button
type="text"
:disabled="!configParms.basicInv"
@click.native="rmInvUser(scope.row)">
移除
</el-button>
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small" :disabled="!configParms.basicInv"-->
<!-- @click.native="rmInvUser(scope.row)">-->
<!-- 授权-->
<!-- </el-button>-->
<el-button
type="text"
:disabled="!configParms.basicInv"
@click.native="relBusttype(scope.row)">
管理单据类型
</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane>
<span slot="label">{{ currentRow.name }}-单据类型</span>
<el-form :inline="true" :model="userQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="单据类型名称:">
<el-input
v-model="userQuery.key"
placeholder="请输入单据类型名称"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="selsectBussinessType"
>重置
</el-button>
<el-button type="primary" @click="selsectBussinessType"
icon="el-icon-search"
>查询
</el-button
>
<el-button type="primary" @click="addBussinessType()"
icon="el-icon-document-add"
>选入单据类型
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table :data="userBussinessTypeList" ref="typeList"
border
style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据类型名称" prop="name"></el-table-column>
<el-table-column label="单据类型编码" prop="action"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
type="text"
:disabled="!configParms.basicInv"
@click.native.stop="delWarehouseBussinessType(scope.row.id)"
>移除
</el-button
>
</template>
<pagination
v-show="subTotal>0"
:total="subTotal"
:page.sync="thirdSubQuery.page"
:limit.sync="thirdSubQuery.limit"
@pagination="getList"
/>
</el-table-column>
</el-table>
</el-tab-pane>
<div slot="footer" class="dialog-footer">
<el-button @click.native="hideThrWarehouseTable()">取消</el-button>
<el-button
type="primary"
@click.native="bindSubThrWarehouse()"
>提交
</el-button>
</div>
</el-dialog>
<!-- 仓库关联用户对话框-->
<el-dialog
title="仓库-用户管理"
:visible.sync="relUserVisible"
width="60%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="relUserVisible"
>
<inv-rel-users :inputQuery="currentRow"
:configParms="configParms"
:closeDialog="cancelRelUser"
></inv-rel-users>
</el-dialog>
<!-- 仓库关联单据类型对话框-->
<el-dialog
title="仓库-单据类型"
:visible.sync="relBusTypeVisible"
width="45%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="relBusTypeVisible"
>
<inv-rel-bus-type :inputQuery="currentRow"
:configParms="configParms"
:closeDialog="cancelRelBustype"
></inv-rel-bus-type>
</el-dialog>
</el-card>
<el-tabs type="border-card" style="margin: 15px">
<!-- <el-tab-pane>-->
<!-- <span slot="label">{{ currentRow.name }}-用户列表</span>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane>-->
<!-- <span slot="label">{{ currentRow.name }}-单据类型</span>-->
<!-- </el-tab-pane>-->
<el-tab-pane>
<span slot="label">{{ currentRow.name }}-货位信息</span>
<invSpaceManage :invInfo="currentInvInfo"></invSpaceManage>
</el-tab-pane>
</el-tabs>
<!--添加用户弹窗-->
<el-dialog
v-if="userFormVisible"
title="仓库信息-选入用户"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="userFormVisible"
>
<el-table v-loading="userloading" :data="selectUserList"
ref="selectUserList"
@selection-change="handleUserSelectionChange"
border
style="width: 100%">
<el-table-column
type="selection"
:reserve-selection="false"
width="55">
</el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="账号" prop="userName"></el-table-column>
<el-table-column label="用户名" prop="employeeName"></el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click.native="userFormVisible = !userFormVisible"
>取消
</el-button
>
<el-button
type="primary"
@click.native="addUserData()"
>选入
</el-button>
</div>
<pagination
v-show="selectUserToatl>0"
:total="selectUserToatl"
:page.sync="selectUserQuery.page"
:limit.sync="selectUserQuery.limit"
@pagination="getSelectUser"
/>
</el-dialog>
<!--选入单据类型弹窗-->
<el-dialog
title="仓库信息-选入单据类型"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="bussinessTypeFormVisible"
>
<el-table v-loading="loading" :data="bussinessTypeList" ref="typeList"
border
style="width: 100%">
<el-table-column
type="selection"
:reserve-selection="true"
width="55">
</el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据类型编码" prop="action"></el-table-column>
<el-table-column label="单据类型名称" prop="name"></el-table-column>
</el-table>
<pagination
v-show="bussinessTypeTotal>0"
:total="bussinessTypeTotal"
:page.sync="bussinessTypeQuery.page"
:limit.sync="bussinessTypeQuery.limit"
@pagination="getSelectUser"
/>
<div slot="footer" class="dialog-footer">
<el-button @click.native="bussinessTypeFormVisible = !bussinessTypeFormVisible"
>取消
</el-button
>
<el-button
type="primary"
@click.native="addBussinessTypeData()"
>提交
</el-button>
</div>
</el-dialog>
<!-- 用户业务单据类型关联-->
<el-dialog
title="仓库-用户单据类型管理"
:visible.sync="relBusUserVisile"
width="45%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="relBusUserVisile"
>
<relBusUserDialog :inputQuery="curSeleUser" :closeDialog="cancelRelBusDiaolog"></relBusUserDialog>
</el-dialog>
</div>
@ -437,16 +330,17 @@ import {
import {getHospitalUserList, selectNotSelectUser} from "@/api/auth/authUser";
import {getJoinBussinessType} from "@/api/basic/bussinessType";
import {findConfig} from "@/api/thrsys/spsSyncStatus";
import relBusUserDialog from "./invUserRelBusTypes";
import {selectSysParamByKey} from "@/api/system/param/systemParamConfig";
import invSpaceManage from "@/views/inventory/InvSpaceManage";
import {
addWarehouseUser, deleteWarehouseBussinessType, deleteWarehouseUser, filterList,
addWarehouseUser, deleteWarehouseBussinessType, deleteWarehouseUser, filterList, filterThridSubByInv,
warehouseBussinessTypeList,
warehouseUserList
} from "@/api/system/invWarehouse";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import Treeselect from "@riophae/vue-treeselect";
import InvRelBusType from "@/views/system/dept/invRelBusType";
import InvRelUsers from "@/views/system/dept/invRelUsers";
export default {
data() {
@ -484,47 +378,20 @@ export default {
subData: {},
fromDeptOptions: [],
invOptions: [],
//-------------------------------------
userQuery: {
code: null,
page: 1,
limit: 10
},
userData: [],
userTotal: 0,
//--------------------
selectUserQuery: {
code: null,
page: 1,
limit: 10
},
userFormVisible: false,
userloading: false,
selectUserList: [],
selectUserToatl: 0,
selectAddUser: [],
//------------------------------
curSeleUser: null,
relBusUserVisile: false,
userBussinessTypeList: [],
bussinessTypeTotal: 0,
bussinessTypeQuery: {
enabled: true,
thirdSubQuery: {
parentId: null,
name: null,
page: 1,
limit: 10,
ids: ""
thirdSysFk: "thirdId",
},
thrSubWareHouseVisible: false,
thrSubWarehouseData: [],
checkSubThrWarehouseRow: null,
subTotal: 0,
busQuery: {
code: null,
page: 1,
limit: 10
},
selectBussinessTypeList: [],
bussinessTypeFormVisible: false,
relBusTypeVisible: false,
relUserVisible: false,
//
currentInvInfo: {
@ -546,7 +413,6 @@ export default {
name: "",
status: "",
};
this.userQuery.page = 1;
this.busQuery.page = 1;
this.getList();
},
@ -571,7 +437,6 @@ export default {
});
},
handleSubForm(data, formName) { //
this.formName = formName;
if (formName === "edit") {
this.subData = JSON.parse(JSON.stringify(data));
@ -661,165 +526,104 @@ export default {
this.currentCode = row.code;
this.currentRow = row;
this.curSeleUser = null;
//
this.loadLinkData(row)
//
this.selsectBussinessType(row);
//
this.invSpaceManage(row);
},
//-------------------------
loadUserList(val) { //
if (val != null) {
this.userQuery.page = val;
//
intentSubSelect(row) {
if (row != null) {
if (row.sysId != null && row.sysId != undefined) {
this.thirdSubQuery.thirdSysFk = row.sysId;
}
}
//
warehouseUserList(this.userQuery).then((res) => {
this.userData = res.data.list;
this.userTotal = res.data.total;
this.thrSubWarehouseData = [];
this.thrSubWareHouseVisible = true;
filterThridSubByInv(this.thirdSubQuery).then((res) => {
if (res.code == 20000) {
this.thrSubWarehouseData = res.data.list;
this.subTotal = res.data.total || 0;
} else {
this.$message.error(res.message);
}
}).catch((error) => {
this.$message.error("用户数据加载失败")
this.thrWarehouseData = [];
this.subTotal = 0;
this.$message.error("第三方分库库数据加载失败");
});
},
rmInvUser(row) { //
this.$confirm("确定移除该仓库关联用户?", "提示", {
changeSubThrWarehouse(row) {
this.checkSubThrWarehouseRow = row;
},
hideThrWarehouseTable() {
this.thrWareHouseVisible = false;
this.thrSubWareHouseVisible = false;
},
//
bindSubThrWarehouse() {
let params = {
id: this.subData.id,
thridWarehouseId: this.checkSubThrWarehouseRow.code,
sysId: this.checkSubThrWarehouseRow.thirdSysFk
}
bindThrSubWarehouse(params).then((res) => {
if (res.code == 20000) {
this.$message.success("绑定成功")
this.getSubThrsysDetailData();
}
this.thrSubWareHouseVisible = false;
}).catch((error) => {
this.$message.error("绑定失败");
this.thrSubWareHouseVisible = false;
})
},
//
unbindSubThrWarehouse(row) {
this.$confirm("确定解绑已关联第三方仓库信息?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let params = {id: row.id};
deleteWarehouseUser(params).then((res) => {
if (res.code == 20000) {
this.loadUserList();
} else {
this.$message.error(res.message);
}
let params = {
id: this.subData.id,
sysId: row.sysId
};
unbindSubThrWarehouse(params).then((res) => {
this.$message.success("解绑成功");
this.getSubThrsysDetailData();
}).catch((error) => {
});
this.$message.error("解绑失败");
})
})
.catch(() => {
});
},
loadLinkData(row) {
this.userQuery.page = 1;
this.userQuery.code = row.code;
this.curSeleUser = null;
//
this.loadUserList();
},
//
addUser() {
this.currentCode = this.currentRow.code;
this.userFormVisible = true;
this.selectUserQuery.code = this.currentRow.code;
this.selectUserQuery.page = 1;
this.getSelectUser();
},
handleUserSelectionChange(val) {
this.selectAddUser = val;
},
getSelectUser() {
selectNotSelectUser(this.selectUserQuery).then((res) => {
this.selectUserList = res.data.list;
this.selectUserToatl = res.data.total;
}).catch((error) => {
this.$message.error("用户数据加载失败")
});
},
addUserData() {
let query = {
code: this.currentCode,
userList: JSON.stringify(this.selectAddUser)
};
addWarehouseUser(query).then((res) => {
if (res.code === 20000) {
this.userFormVisible = false;
this.$message.success("添加成功");
this.userQuery = {
code: this.currentCode,
page: 1,
limit: 10
}
//
warehouseUserList(this.userQuery).then((res) => {
this.userData = res.data.list;
this.userTotal = res.data.total;
}).catch((error) => {
this.userData = [];
this.userTotal = 0;
});
} else {
this.$message.error(res.message);
}
}).catch((error) => {
this.$message.error("添加失败");
});
popInvRelBustype(row) {
this.relBusTypeVisible = true;
this.currentRow = row;
},
relBusttype(row) {
this.curSeleUser = row;
this.relBusUserVisile = true;
cancelRelBustype() {
this.relBusTypeVisible = false;
},
cancelRelBusDiaolog() {
this.relBusUserVisile = false;
this.getUserBusTypeList(1);
popInvRelUser(row) {
this.relUserVisible = true;
this.currentRow = row;
},
selsectBussinessType() {
var busQuery = {
code: this.currentCode,
page: 1,
limit: 50
}
warehouseBussinessTypeList(busQuery).then((res) => {
this.userBussinessTypeList = res.data.list;
}).catch((error) => {
this.$message.error("单据类型数据加载失败")
});
cancelRelUser() {
this.relUserVisible = false;
},
delWarehouseBussinessType(id) {
let params = {id: id};
deleteWarehouseBussinessType(params).then((res) => {
if (res.code == 20000) {
this.$message.success("已移除");
this.bussinessTypeData = [];
this.selectWhouseBussinessType();
var busQuerys = {
code: this.currentCode,
page: 1,
limit: 10
}
warehouseBussinessTypeList(busQuerys).then((res) => {
this.bussinessTypeData = res.data.list;
}).catch((error) => {
this.$message.error("单据类型数据加载失败")
});
} else {
this.$message.error(res.message);
}
}).catch((error) => {
this.$message.error("移除失败");
})
},
addBussinessType(row) {
var action = [];
for (var i = 0; i < this.userBussinessTypeList.length; i++) {
@ -885,7 +689,8 @@ export default {
mounted() {
},
components: {
relBusUserDialog,
InvRelUsers,
InvRelBusType,
invSpaceManage, Treeselect
},
created() {

@ -1,134 +0,0 @@
<template>
<div>
<el-table
:data="bussinessTypeData"
key="row.id"
ref="fileTable"
@selection-change="handleSelectionChange"
style="width: 100%">
<el-table-column type="selection" width="55"
></el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
prop="action"
label="单据类型编码"
min-width="30%">
</el-table-column>
<el-table-column
prop="name"
label="单据类型名称"
min-width="30%">
</el-table-column>
</el-table>
<div style="text-align: center;margin-top: 20px">
<el-button type="primary" size="small" icon="search" @click="onAddSubmit"
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button
>
</div>
</div>
</template>
<script>
import {
filterSelectInvUser, updateInvUser
} from "@/api/basic/invRelBusTypes";
export default {
name: "inputQuery",
props: {
inputQuery: {
type: Object,
required: true,
},
closeDialog: {
type: Function,
required: true,
},
},
data() {
return {
filterQuery: {
subInvCode: null,
userId: null,
},
bussinessTypeData: null,
multipleSelection: []
}
},
methods: {
getList() {
this.filterQuery = {
subInvCode: this.inputQuery.code,
userId: this.inputQuery.userid,
};
filterSelectInvUser(this.filterQuery).then((res) => {
if (res.code == 20000) {
this.bussinessTypeData = res.data;
this.$nextTick(() => {
for (let i = 0; i < this.bussinessTypeData.length; i++) {
this.$refs.fileTable.toggleRowSelection(this.bussinessTypeData[i], this.bussinessTypeData[i].select)
}
});
} else {
this.$message.error(res.message);
}
}).catch((error) => {
});
},
checkSelectable(row) {
return !row.select;
},
cancelDialog() {
this.closeDialog();
},
onAddSubmit() {
let postRequesty = {
subInvCode: this.inputQuery.code,
userId: this.inputQuery.userid,
invBusUserEntities: [],
};
let datas = [];
this.multipleSelection.forEach((obj) => {
datas.push(obj);
});
postRequesty.invBusUserEntities = datas;
updateInvUser(postRequesty).then((res) => {
if (res.code == 20000) {
this.closeDialog();
} else {
this.$message.error(res.message);
}
});
},
handleSelectionChange(val) {
this.multipleSelection = val;
}
},
created() {
this.getList();
},
};
</script>

@ -0,0 +1,435 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="单据类型名称:">
<el-input
v-model="filterQuery.name"
placeholder="单据类型名称"
></el-input>
</el-form-item>
<el-form-item class="query-form-item" label="单据类型代码:">
<el-input
v-model="filterQuery.originAction"
placeholder="单据类型代码"
></el-input>
</el-form-item>
<el-form-item>
<el-button-group style="margin-left: 10px;display:flex;">
<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="handleAddClick">
</el-button
>
<el-button type="primary" icon="el-icon-download" @click="exportJsonFile"></el-button>
<el-upload
:action="uploadFileUrl"
multiple
:limit="3"
:headers="headers"
:show-file-list="false"
:on-success="handleChange"
:file-list="fileList"
>
<el-button icon="el-icon-upload2" type="primary">导入单据类型</el-button>
</el-upload>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
<el-table-column label="序号" type="index" width="60"></el-table-column>
<el-table-column label="单据类型" prop="name"></el-table-column>
<el-table-column label="出入库类型" prop="mainAction">
<template slot-scope="scope">
<span>{{ mainActionMap[scope.row.mainAction] }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="扫码单据类型代码" prop="action" fixed></el-table-column>-->
<el-table-column label="是否启用" prop="enable">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.enable] }}</span>
</template>
</el-table-column>
<el-table-column label="一次校验" prop="checkEnable">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.checkEnable] }}</span>
</template>
</el-table-column>
<el-table-column label="二次核对" prop="secCheckEnable">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.secCheckEnable] }}</span>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
type="text"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
:disabled="!configParams.typeScan"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog
title="新增扫码单据类型"
:visible.sync="addDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="addDialogVisible"
class="dialog-two"
width="60%"
top="5vh"
>
<div slot="footer" class="dialog-footer">
<el-button type="primary" size="small" @click="onAddSubmit"
:disabled="!configParams.typeScan"
>提交
</el-button
>
<el-button size="small" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
<el-dialog
title="编辑单据类型"
:visible.sync="modifyDialogVisible"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="modifyDialogVisible"
>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onModifySubmit"
:disabled="!configParams.typeScan"
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
<pagination
v-show="total>0"
:total="total"
:limit.sync="filterQuery.limit"
:page.sync="filterQuery.page"
@pagination="getList"
></pagination>
</el-card>
</div>
</template>
<script>
import {getBusTypeList, deleteBusType, updateBusType, insertBusType, exportFile} from "@/api/basic/busType";
import axios from "axios";
import store from "@/store";
import {findConfig} from "@/api/thrsys/spsSyncStatus";
import {isBlank} from "@/utils/strUtil";
export default {
data() {
return {
filterQuery: {
name: null,
mainAction: null,
enable: "1",
page: 1,
limit: 20,
},
addDialogVisible: false,
modifyDialogVisible: false,
list: [],
inputQuery: {
action: "",
name: "",
enable: null,
remark: "",
mainAction: "",
thirdSysFk: "",
id: "",
checkEnable: false,
genUnit: false,
innerOrder: false,
spUse: null,
secCheckEnable: null,
checkUdims: null,
checkPdaEd: null,
checkPdaUn: null,
checkPc: null,
checkWebNew: null,
checkChange: null,
checkCopy: null,
secCheckUdims: null,
secCheckPdaEd: null,
secCheckPdaUn: null,
secCheckPc: null,
secCheckWebNew: null,
secCheckChange: null,
thirdAction: null,
secCheckSp: null,
checkSp: null,
checkBalacne: null,
secCheckBalacne: null,
secCheckCopy: null,
corpType: null,
storageCode: null,
supplementOrderType: null,
defaultUnit: null,
useDyCount: null,
expireTip: true,
prefix: null,
outTospms: null,
ullageFill: null,
scanPreIn: null,
vailInv: null,
entrutSpms: null,
codeFillCheck: null,
defaultInv: null,
defaultSubInv: null,
orderVisibleType: 0,
advanceType: null,
preIn: null,
originAction: null,
comments: null,
},
enableMap: {
true: "是",
false: "否",
},
mainActionMap: {
WareHouseIn: "入库",
WareHouseOut: "出库"
},
fileList: [],
total: 0,
multipleSelection: [],
uploadFileUrl: null,
headers: {},
configParams: {},
loading: false,
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
name: null,
mainAction: null,
enable: "1",
page: 1,
limit: 20,
};
this.getList();
},
cancelDialog() {
this.modifyDialogVisible = false;
this.addDialogVisible = false;
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getBusTypeList(this.filterQuery)
.then((response) => {
if (response.code === 20000) {
this.list = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
this.loading = false;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
onAddSubmit() {
if (isBlank(this.inputQuery.name)) {
this.$message.error("单据类型名称不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.corpType)) {
this.$message.error("往来信息类型不能为空!");
return;
}
if (this.inputQuery.mainAction == "" || this.inputQuery.mainAction == null) {
this.$message.error("出入库类型不能为空!");
return;
}
this.inputQuery.enable = 1;
insertBusType(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
onModifySubmit() {
if (this.inputQuery.mainAction == "" || this.inputQuery.mainAction == null) {
this.$message.error("出入库类型不能为空!");
return;
}
updateBusType(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
exportJsonFile() {
exportFile().then((response) => {
const binaryData = [];
binaryData.push(response);
let url = window.URL.createObjectURL(
new Blob(binaryData, {type: "application/json"})
);
this.loading = false;
const eleLink = document.createElement('a');
// var timestamp = "yyyy-MM-dd_hh:mm";
eleLink.download = "扫码单据类型导出" + ".json";
eleLink.style.display = 'none';
eleLink.href = url;
document.body.appendChild(eleLink)
eleLink.click()
document.body.removeChild(eleLink)
}).catch(() => {
this.loading = false;
});
},
handleAddClick() {
this.inputQuery = {enable: false, expireTip: true};
this.addDialogVisible = true;
},
handleModifyClick(row) {
this.inputQuery = row;
this.modifyDialogVisible = true;
},
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该扫码类型信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.deleteOrders(rowId);
})
.catch(() => {
});
},
deleteOrders(data) {
this.loading = true;
let tquery = {
id: data.id + "",
};
deleteBusType(tquery)
.then((response) => {
this.getList();
if (response.code == 20000) {
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
handleChange(response, files, fileList) {
if (response.code != 20000) {
this.$message.error(response.message);
} else {
this.$message.success(response.data);
this.getList();
}
},
init() {
axios.get("./config.json").then(res => {
//
let response = res.data.BASE_URL;
this.uploadFileUrl = response + "/udiwms/busstiness/file/upload";
});
this.headers = {
ADMIN_ID: store.getters.adminId,
ADMIN_TOKEN: store.getters.token,
};
},
getSyncConfig() {
findConfig()
.then((response) => {
if (response.code == 20000) {
this.configParams = response.data;
}
})
.catch(() => {
});
},
},
mounted() {
},
created() {
this.init();
this.getSyncConfig();
this.getList();
},
};
</script>
<style scoped>
.el-form-item--mini.el-form-item {
margin-bottom: 9px;
}
</style>

@ -0,0 +1,339 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-form-item class="query-form-item" label="单据类型名称:">
<el-input
v-model="filterQuery.name"
placeholder="请输入单据类型名称"
></el-input>
</el-form-item>
<el-form-item class="query-form-item" label="单据类型代码:">
<el-input
v-model="filterQuery.originAction"
placeholder="请输入单据类型代码"
></el-input>
</el-form-item>
<el-form-item>
<el-button-group style="margin-left: 10px;display:flex;">
<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="handleAddClick"></el-button>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
<el-table-column label="序号" type="index" width="60"></el-table-column>
<el-table-column label="补单类型名称" prop="originName"></el-table-column>
<el-table-column label="补单类型代码" prop="originAction"></el-table-column>
<el-table-column label="目标单据类型" prop="targetBusName"></el-table-column>
<el-table-column label="类型" prop="type">
<template slot-scope="scope">
<span>{{ typeMap[scope.row.type] }}</span>
</template>
</el-table-column>
<el-table-column label="状态" prop="enable">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.enable] }}</span>
</template>
</el-table-column>
<el-table-column label="是否启用" prop="enable">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.enable] }}</span>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
type="text"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
:disabled="scope.row.systemDefault"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog
:title="formMap[formName]"
:visible.sync="addDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="addDialogVisible"
class="dialog-two"
width="60%"
top="5vh"
>
<modifyDialog :inputQuery="inputQuery"></modifyDialog>
<div slot="footer" class="dialog-footer">
<el-button type="primary" size="small" @click="onAddSubmit"
:disabled="!configParams.typeScan"
>提交
</el-button
>
<el-button size="small" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
<pagination
v-show="total>0"
:total="total"
:limit.sync="filterQuery.limit"
:page.sync="filterQuery.page"
@pagination="getList"
></pagination>
</el-card>
</div>
</template>
<script>
import {getBusTypeList, deleteBusType, updateBusType, insertBusType} from "@/api/basic/busType";
import {findConfig} from "@/api/thrsys/spsSyncStatus";
import {isBlank} from "@/utils/strUtil";
import modifyDialog from "@/views/system/param/busTypePreModify.vue";
import {
getBusTypePreResList,
getBusTypePreList,
addBusTypePre,
updateBusTypePre,
deleteBusTypePre,
removeBusTypePre
} from "@/api/basic/busTypePre";
export default {
data() {
return {
filterQuery: {
name: null,
originAction: null,
page: 1,
limit: 20,
},
addDialogVisible: false,
modifyDialogVisible: false,
list: [],
inputQuery: {
id: null,
originName: null,
originAction: null,
targetBusAction: null,
targetBusName: null,
systemDefault: null,
enable: null,
remark: null
},
enableMap: {
true: "禁用",
false: "启用",
},
mainActionMap: {
WareHouseIn: "入库",
WareHouseOut: "出库"
},
fileList: [],
total: 0,
multipleSelection: [],
headers: {},
configParams: {},
loading: false,
typeMap: {
1: "耗材领用",
2: "产品申购",
3: "采购计划",
},
formMap: {
add: "新增补单设置",
edit: "编辑补单设置",
},
formName: null,
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
name: null,
originAction: null,
page: 1,
limit: 20,
};
this.getList();
},
cancelDialog() {
this.modifyDialogVisible = false;
this.addDialogVisible = false;
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getBusTypeList(this.filterQuery)
.then((response) => {
if (response.code === 20000) {
this.list = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
this.loading = false;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
onAddSubmit() {
if (isBlank(this.inputQuery.name)) {
this.$message.error("单据类型名称不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.corpType)) {
this.$message.error("往来信息类型不能为空!");
return;
}
if (this.inputQuery.mainAction == "" || this.inputQuery.mainAction == null) {
this.$message.error("出入库类型不能为空!");
return;
}
this.inputQuery.enable = 1;
insertBusType(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
onModifySubmit() {
if (this.inputQuery.mainAction == "" || this.inputQuery.mainAction == null) {
this.$message.error("出入库类型不能为空!");
return;
}
updateBusType(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
handleAddClick() {
this.formName = 'add';
this.inputQuery = {enable: false, expireTip: true};
this.addDialogVisible = true;
},
handleModifyClick(row) {
this.inputQuery = row;
this.modifyDialogVisible = true;
},
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该扫码类型信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.deleteOrders(rowId);
})
.catch(() => {
});
},
deleteOrders(data) {
this.loading = true;
let tquery = {
id: data.id + "",
};
deleteBusType(tquery)
.then((response) => {
this.getList();
if (response.code == 20000) {
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
handleChange(response, files, fileList) {
if (response.code != 20000) {
this.$message.error(response.message);
} else {
this.$message.success(response.data);
this.getList();
}
},
getSyncConfig() {
findConfig()
.then((response) => {
if (response.code == 20000) {
this.configParams = response.data;
}
})
.catch(() => {
});
},
},
components: {
modifyDialog
},
created() {
this.init();
this.getSyncConfig();
this.getList();
},
};
</script>
<style scoped>
.el-form-item--mini.el-form-item {
margin-bottom: 9px;
}
</style>

@ -0,0 +1,134 @@
<template>
<div>
<el-form :model="inputQuery" :rules="formRules" ref="dataForm" label-width="120px" border>
<el-row type="flex">
<el-col :span="11">
<el-form-item label="补单类型名称" prop="originName">
<el-input v-model="inputQuery.originName" :disabled="!isAdd" size="small" placeholder="请输入内容" style="width: 90%"></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="补单类型代码" prop="originAction">
<el-input v-model="inputQuery.originAction" :disabled="!isAdd" size="small" placeholder="请输入内容" style="width: 90%"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11">
<el-form-item label="目标单据类型" prop="targetBusAction">
<el-select v-model="inputQuery.targetBusAction" placeholder="请选择" clearable size="small" style="width: 90%">
<el-option
v-for="item in busTypes"
:key="item.action"
:label="item.name"
:value="item.action">
<span style="float: left"> {{item.name}}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{item.action}}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="启用状态" prop="enable">
<el-select v-model="inputQuery.enable"
size="small"
:disabled="inputQuery.systemDefault"
placeholder="启用状态"
style="width: 90%"
clearable
>
<el-option label="启用" :value="false"></el-option>
<el-option label="禁用" :value="true"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="23" type="flex">
<el-form-item prop="comments">
<label slot="label">&emsp;&emsp;</label>
<el-input v-model="inputQuery.remark" size="small" style="width: 90%" type="textarea"
row="3"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
export default {
name: "BusTypePreModify",
props: {
inputQuery: {
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {
enabled: true,
isBuType: true,
},
busTypes: [],
isAdd: false,
formRules: {
originName: [
{
required: true,
message: "单据类型名称不能为空",
trigger: "blur"
}
],
originAction: [
{
required: true,
message: "单据类型代码不能为空",
trigger: "blur"
}
],
targetBusAction: [
{
required: true,
message: "目标单据类型不能为空",
trigger: "blur"
}
],
enable: [
{
required: true,
message: "请选择启用状态",
trigger: "blur"
}
],
},
}
},
methods: {
getBusType() {
}
},
created() {
if (this.inputQuery.originAction == null) {
this.isAdd = true;
}
this.getBusType();
}
}
</script>
<style scoped>
</style>

@ -382,7 +382,7 @@ import {
import {getOriginBusType} from "@/api/basic/busOriginType";
import modifyDialog from "./BasicThirdSysModify";
import modifyDetailDialog from "./BasicThirdSysDetailModify";
import {filterForThirdSys} from "@/api/basic/busLocalType";
import {filterForThirdSys} from "@/api/basic/busType";
import {isBlank} from "@/utils/strUtil";
export default {

@ -75,10 +75,6 @@ import {
getBasicThirdSys,
} from "@/api/thrsys/basicThirdSys";
import {
getLocalBusType,
} from "@/api/basic/busLocalType";
export default {
name: "inputQuery",
props: {

@ -9,13 +9,6 @@
placeholder="关键字搜索"
></el-input>
</el-form-item>
<el-form-item class="query-form-item" label="仓库类型:">
<el-select v-model="query.advanceType" placeholder="请选择仓库类型" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="寄售" value=true></el-option>
<el-option label="仓库" value=false></el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item" label="第三方系统:">
<el-select v-model="query.thirdSysFk" placeholder="请选择第三方系统"
@change="thirdSysFkChange()">
@ -33,7 +26,7 @@
<el-button type="primary" icon="el-icon-search" @click="getList"></el-button>
<el-button type="primary" @click.native="handleForm(null, null,'addTop')"
icon="el-icon-plus" :disabled="!configParms.basicThirdInv"
>添加仓库
>添加部门/科室
</el-button>
<el-button type="primary" @click.native="downloadWarehouse()"
icon="el-icon-download"
@ -54,21 +47,21 @@
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column
prop="code"
label="仓库编码"
label="部门编码"
>
</el-table-column>
<el-table-column
prop="name"
label="仓库名称"
label="部门名称"
>
</el-table-column>
<el-table-column
prop="advanceType"
label="仓库类型">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.advanceType] }}</span>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="advanceType"-->
<!-- label="仓库类型">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ enableMap[scope.row.advanceType] }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="thirdName" label="第三方系统名称">
<template slot-scope="scope">
<span>{{ getThirdSysFkName(scope.row.thirdSysFk) }}</span>
@ -82,7 +75,7 @@
size="small"
@click.native.stop="handleSubForm( scope.row, 'add')"
:disabled="!configParms.basicThirdInv"
>添加
>添加
</el-button
>
@ -112,56 +105,59 @@
:limit.sync="query.limit"
@pagination="getList"
/>
<!-- <el-table-->
<!-- :data="subList"-->
<!-- border-->
<!-- highlight-current-row-->
<!-- style="width: 100%;margin-top: 35px">-->
<!-- <el-table-column type="index" label="序号" width="50"></el-table-column>-->
<!-- <el-table-column-->
<!-- prop="code"-->
<!-- label="分库编码"-->
<!-- >-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="name"-->
<!-- label="分库名称"-->
<!-- >-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="parentName"-->
<!-- label="所属仓库"-->
<!-- >-->
<!-- </el-table-column>-->
<!-- <el-table-column label="操作">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- :disabled="!configParms.basicThirdInv"-->
<!-- @click.native.stop="handleSubForm( scope.row, 'edit')"-->
<!-- >编辑-->
<!-- </el-button-->
<!-- >-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- :disabled="!configParms.basicThirdInv"-->
<!-- @click.native.stop="handleSubDel(scope.row)"-->
<!-- >删除-->
<!-- </el-button-->
<!-- >-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- <pagination-->
<!-- v-show="subTotal>0"-->
<!-- :total="subTotal"-->
<!-- :page.sync="subQuery.page"-->
<!-- :limit.sync="subQuery.limit"-->
<!-- @pagination="getSubList"-->
<!-- />-->
</el-card>
<el-card>
<el-table
:data="subList"
border
highlight-current-row
style="width: 100%;margin-top: 35px">
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column
prop="code"
label="仓库编码"
>
</el-table-column>
<el-table-column
prop="name"
label="仓库名称"
>
</el-table-column>
<el-table-column
prop="parentName"
label="所属部门"
>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
type="text"
size="small"
:disabled="!configParms.basicThirdInv"
@click.native.stop="handleSubForm( scope.row, 'edit')"
>编辑
</el-button
>
<el-button
type="text"
size="small"
:disabled="!configParms.basicThirdInv"
@click.native.stop="handleSubDel(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="subTotal>0"
:total="subTotal"
:page.sync="subQuery.page"
:limit.sync="subQuery.limit"
@pagination="getSubList"
/>
</el-card>
<!--仓库弹窗编辑页面-->
<el-dialog
@ -186,12 +182,12 @@
auto-complete="off"
></el-input>
</el-form-item>
<el-form-item class="query-form-item" prop="advanceType" label="仓库类型" label-width="100px">
<el-select v-model="formData.advanceType" placeholder="仓库类型" clearable style="width: 80%">
<el-option label="寄售" :value='true'></el-option>
<el-option label="仓库" :value='false'></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item class="query-form-item" prop="advanceType" label="仓库类型" label-width="100px">-->
<!-- <el-select v-model="formData.advanceType" placeholder="仓库类型" clearable style="width: 80%">-->
<!-- <el-option label="寄售" :value='true'></el-option>-->
<!-- <el-option label="仓库" :value='false'></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item class="query-form-item" prop="thirdSysFk" label="第三方系统" label-width="100px">
<el-select v-model="formData.thirdSysFk" placeholder="请选择第三方系统" clearable style="width: 80%">
<el-option
@ -337,9 +333,9 @@ export default {
add: "添加货位",
edit: "仓库信息-编辑"
},
subMap:{
add: "库信息-添加",
edit: "库信息-编辑"
subMap: {
add: "库信息-添加",
edit: "库信息-编辑"
},
enableMap: {
true: "寄售",

@ -101,7 +101,7 @@
</template>
<script>
import {delThrOrders, delAll, downloadAll} from "@/api/thrsys/thrOrder";
import {getLocalJoinBusType} from "@/api/basic/busLocalType";
import {getBussinessType} from "@/api/basic/bussinessType";
import {getOriginBusType} from "@/api/basic/busOriginType";
import {getBasicThirdSys, filterDetailByKey} from "@/api/basic/basicThirdSys";
import {selectIp} from "@/api/param/systemParamConfig";
@ -364,7 +364,7 @@ export default {
let query = {
enabled: true,
};
getLocalJoinBusType(query)
getBussinessType(query)
.then((response) => {
this.busTypes = response.data.list || [];
// this.getList();

Loading…
Cancel
Save