代码备份,新增部门

purchase
anthonyywj2 3 years ago
parent ce8cf494d5
commit b469674003

@ -0,0 +1,33 @@
import axios from "../../utils/axios";
export function filterDepts(query) {
return axios({
url: "/udi/auth/dept/filter",
method: "get",
params: query
});
}
export function addDept(data) {
return axios({
url: "/udi/auth/dept/add",
method: "post",
data: data
});
}
export function updateDept(data) {
return axios({
url: "/udi/auth/dept/update",
method: "post",
data: data
});
}
export function deleteDept(data) {
return axios({
url: "/udi/auth/dept/delete",
method: "post",
data: data
});
}

@ -0,0 +1,22 @@
import axios from "../../utils/axios";
export function filterSelectInvUser(query) {
return axios({
url: "/spms/bus/user/select/filter",
method: "get",
params: query
});
}
export function updateInvUser(query) {
return axios(
{
url: "/spms/bus/user/warehouse/update",
method: "post",
data: query
}
)
}

@ -198,11 +198,6 @@
<div>
<el-card style="width: 49%; float: left; margin-right: 0px;">
<!-- <div slot="header" class="clearfix" style="margin-bottom: 20px;">-->
<!-- <el-button style="float: right;" type="primary" @click="addUser()"-->
<!-- :disabled="currentRow.status == 0 || !configParms.basicInv">添加用户-->
<!-- </el-button>-->
<!-- </div>-->
<el-table
:data="userData"
key="row.id"
@ -223,26 +218,26 @@
min-width="30%"
>
<template slot-scope="scope">
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native="updateDirector(scope.row)">-->
<!-- {{ directorMap[scope.row.director] }}-->
<!-- </el-button>-->
<el-button
type="text"
size="small"
:disabled="!configParms.basicInv"
size="small" :disabled="!configParms.basicInv"
@click.native="delWarehouseUser(scope.row.id)">
移除
</el-button>
<el-button
type="text"
size="small" :disabled="!configParms.basicInv"
@click.native="relBusttype(scope.row)">
关联单据类型
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="userQuery.limit"
@current-change="handleCurrentChange"
@current-change="loadUserList"
layout="prev, pager, next"
:total="userTotal"
:current-page="userQuery.page"
@ -251,11 +246,6 @@
</el-card>
<el-card style="width: 49%; float: right; margin-left: 0px;">
<!-- <div slot="header" class="clearfix" style="margin-bottom: 20px;">-->
<!-- <el-button style="float: right;" @click="addBussinessType()" type="primary"-->
<!-- :disabled="currentRow.status == 0 || !configParms.basicInv">添加单据类型-->
<!-- </el-button>-->
<!-- </div>-->
<el-table
:data="bussinessTypeData"
key="row.id"
@ -278,17 +268,17 @@
<template slot-scope="scope">
<el-button
type="text"
size="small"
:disabled="!configParms.basicInv"
size="small" :disabled="!configParms.basicInv"
@click.native="delWarehouseBussinessType(scope.row.id)">
移除
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="busQuery.limit"
@current-change="handleCurrentChange"
@current-change="loadBusList"
layout="prev, pager, next"
:total="busTotal"
:current-page="busQuery.page"
@ -544,7 +534,8 @@
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<el-form-item class="query-form-item" label="仓库等级:">
<el-select v-model="formData.level" placeholder="仓库等级" clearable @change="changeLevel">
<el-select v-model="formData.level" placeholder="仓库等级" clearable @change="changeLevel"
:disabled="!mutiInvMode">
<el-option label="1 级库" :value='1'></el-option>
<el-option label="2 级库" :value='2'></el-option>
<el-option label="3 级库" :value='3'></el-option>
@ -556,6 +547,7 @@
<el-col :span="12" class="el-col">
<el-form-item class="query-form-item" label="上级仓库:">
<el-select v-model="formData.pcode" placeholder="请选择当前仓库"
:disabled="!mutiInvMode"
clearable="true" size="mini" @change="pcodeChange">
<el-option
v-for="item in pCodes"
@ -675,8 +667,6 @@
</el-button>
</div>
</el-dialog>
<el-dialog title="关联分库" :visible.sync="thrSubWareHouseVisible">
<el-form :inline="true" :model="thirdSubQuery" class="query-form" size="mini">
<el-form-item class="query-form-item">
@ -722,7 +712,7 @@
@current-change="handleSubCurrentChange"
layout="prev, pager, next"
:total="subTotal"
:current-page="thirdQuery.page"
:current-page="thirdSubQuery.page"
>
</el-pagination>
<div slot="footer" class="dialog-footer">
@ -736,6 +726,18 @@
</div>
</el-dialog>
<!--用戶關聯單據類型-->
<el-dialog
title="业务类型关联"
:visible.sync="relBusUserVisile"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="relBusUserVisile"
>
<relBusUserDialog :inputQuery="curSeleUser" :closeDialog="cancelRelBusDiaolog"></relBusUserDialog>
</el-dialog>
</div>
</template>
@ -761,6 +763,8 @@ import axios from "axios";
import store from "@/store";
import {findConfig} from "@/api/thrsys/spsSyncStatus";
import {isBlank} from "@/utils/strUtil";
import relBusUserDialog from "./invWarehouseRelBusTypes";
import {selectSysParamByKey} from "@/api/param/systemParamConfig";
const formJson = {
id: null,
@ -834,6 +838,7 @@ export default {
userList: null,
bussinessTypeList: null,
userFormVisible: false,
relBusUserVisile: false,
currentCode: null,
superRow: null,
currentRow: {status: 1},
@ -868,6 +873,8 @@ export default {
thirdSysFk: "thirdId",
},
configParms: {},
mutiInvMode: true,
subData: {},
subFromName: "add",
userQuery: {
@ -892,7 +899,8 @@ export default {
page: 1,
limit: 10
},
bussinessTypeTotal: 0
bussinessTypeTotal: 0,
curSeleUser: null,
};
},
methods: {
@ -904,6 +912,8 @@ export default {
name: "",
status: "",
};
this.userQuery.page = 1;
this.busQuery.page = 1;
this.getList();
},
onSubmit() {
@ -941,7 +951,6 @@ export default {
},
//
handleForm(data, formName) {
// let no = this.getProjectNum() + Math.floor(Math.random() * 10000)
if (null != data) {
this.currentId = data.id;
this.thirdSysVisible = true;
@ -960,15 +969,10 @@ export default {
this.formData = Object.assign({}, data);
} else {
// this.formData.code = no;
this.formVisible = true;
}
this.formName = formName;
// if (data && data.id) {
// this.index = this.mergeList.findIndex((d) => d.id === data.id);
// }
this.getParentInv(this.formData.level);
this.getThrsysDetailData();
},
getThrsysDetailData() {
@ -1285,20 +1289,20 @@ export default {
loadLinkData(row) {
this.userQuery.page = 1;
this.userQuery.code = row.code;
this.busQuery.page = 1;
this.userQuery.code = row.code;
this.busQuery.code = row.code;
//
this.loadUserData();
this.loadUserList();
//
this.loadBusData();
this.loadBusList();
},
loadUserData(val) {
loadUserList(val) {
if (val != null) {
this.userQuery.page = val;
}
//
warehouseUserList(this.userQuery).then((res) => {
this.userData = res.data.list;
this.userTotal = res.data.total;
@ -1306,10 +1310,11 @@ export default {
this.$message.error("用户数据加载失败")
});
},
loadBusData(val) {
loadBusList(val) {
if (val != null) {
this.busQuery.page = val;
}
//
warehouseBussinessTypeList(this.busQuery).then((res) => {
this.bussinessTypeData = res.data.list;
this.busTotal = res.data.total;
@ -1331,6 +1336,9 @@ export default {
this.getHospitalUser();
}
},
cancelRelBusDiaolog() {
this.relBusUserVisile = false;
},
getHospitalUser(val) {
if (val != null) {
this.hospitalUserQuery.page = val;
@ -1361,7 +1369,7 @@ export default {
getJoinBussinessType(this.bussinessTypeQuery).then((res) => {
this.selectBussinessTypeList = [];
this.bussinessTypeList = res.data.list;
this.bussinessTypeTotal = res.data.total;
var that = this;
that.$nextTick(() => {
if (that.$refs.typeList) {
@ -1498,6 +1506,12 @@ export default {
this.$message.error("移除失败");
})
},
relBusttype(row) {
this.curSeleUser = row;
this.relBusUserVisile = true;
},
delWarehouseBussinessType(id) {
let params = {id: id};
deleteWarehouseBussinessType(params).then((res) => {
@ -1650,6 +1664,20 @@ export default {
})
.catch(() => {
});
let query = {
paramKey: "muti_inv_mode",
};
selectSysParamByKey(query).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.mutiInvMode = true;
} else {
this.mutiInvMode = false;
}
}
});
},
}
,
@ -1675,6 +1703,9 @@ export default {
mounted() {
}
,
components: {
relBusUserDialog,
},
created() {
//
this.init();

@ -0,0 +1,134 @@
<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/inventory/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>

@ -164,6 +164,7 @@
</el-col>
</el-row>
<el-row :gutter="20" style="margin-top: -10px">
<el-col :span="3">
<div class="ao-text">
@ -210,10 +211,44 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="3">
<div class="ao-text">
<span>所属部门</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item class="query-form-item" prop="corpName"
>
<el-select
v-model="formData.deptCode"
filterable
remote :disabled="codeArray.length>0"
clearable="true"
reserve-keyword
placeholder="请选择部门"
:remote-method="findDeptMethod"
:loading="loading"
@focus="findDeptMethod('')"
@change="deptChange"
>
<el-option
v-for="item in fromDeptOptions"
:key="item.id"
:label="item.name"
:value="item"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="margin-top: -10px;">
<el-col :span="3">
<div class="ao-text">
@ -423,6 +458,7 @@ import {filterAll, filterAllByLoc, filterAllByUser} from "@/api/basic/invWarehou
import dialogInvProduct from "../inventory/DialogInvProduct"
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
import {isBlank} from "@/utils/strUtil";
import {filterDepts} from "@/api/auth/authDept";
export default {
name: "idQuery",
@ -460,6 +496,7 @@ export default {
type: null,
corpName: "",
corpId: "",
deptCode: null,
},
formRules: {
corpName: [
@ -1273,7 +1310,26 @@ export default {
})
.catch(() => {
});
}
},
findDeptMethod() {
let query = {
flag: 1
};
filterDepts(query)
.then((response) => {
this.loading = false;
this.fromDeptOptions = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.fromDeptOptions = [];
});
},
deptChange(row) {
this.formData.corpId = row.code;
this.formData.corpName = row.name;
},
},
@ -1305,6 +1361,7 @@ export default {
noInvOut: "",
locStorageCode: store.getters.locInvCode,
invWarehouseCode: store.getters.locSubInvCode,
deptCode: null,
};
this.iCount = 0;
this.orderEditor = false;

@ -200,6 +200,39 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="2">
<div class="ao-text">
<span>所属部门</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" prop="corpName"
>
<el-select
v-model="formData.deptCode"
filterable
clearable="true"
reserve-keyword
placeholder="请选择部门信息"
:remote-method="findDeptMethod"
:loading="loading"
@focus="findDeptMethod('')"
@change="deptChange"
>
<el-option
v-for="item in fromDeptOptions"
:key="item.id"
:label="item.name"
:value="item"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20" class="el-col">
@ -431,7 +464,7 @@ import selectRlDialog from "./DialogSelectRl";
import editCodeDialog from "./editCode";
import A from "../../plugin/KeyScaner"
import {deleteLog} from "@/api/basic/udiinfolog";
import {filterDepts} from "@/api/auth/authDept";
export default {
name: "idQuery",
@ -481,7 +514,7 @@ export default {
fromSubInvCode: null,
codeFillCheck: null,
vailInv: null,
deptCode: null,
},
editOriginCodeVisible: false,
curId: null,
@ -521,6 +554,7 @@ export default {
checkSuccess: false,
codeDetail: null,
editTitle: "编辑条码",
fromDeptOptions: [],
};
},
components: {
@ -544,6 +578,7 @@ export default {
fromCorpId: this.formData.fromCorpId,
outChangeEnable: this.formData.outChangeEnable,
preCheck: this.formData.preCheck,
deptCode: this.formData.deptCode,
}
submitOrderWeb(tQuery)
.then((response) => {
@ -999,6 +1034,26 @@ export default {
}
,
findDeptMethod() {
let query = {
flag: 1
};
filterDepts(query)
.then((response) => {
this.loading = false;
this.fromDeptOptions = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.fromDeptOptions = [];
});
},
deptChange(row) {
this.formData.corpId = row.code;
this.formData.corpName = row.name;
},
getStorage(event) {
this.storageList = [];

@ -99,7 +99,7 @@
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<el-form-item label="用户账号" prop="userName">
<el-input v-model="formData.userName" size="small"></el-input>
<el-input v-model="formData.userName" size="small" style="width: 80%"></el-input>
</el-form-item>
</div>
</el-col>
@ -107,7 +107,8 @@
<div class="text item">
<div class="text item">
<el-form-item label="用户名称" prop="employeeName">
<el-input v-model="formData.employeeName" size="small"></el-input>
<el-input v-model="formData.employeeName" size="small"
style="width: 80%"></el-input>
</el-form-item>
</div>
</div>
@ -120,7 +121,7 @@
<el-form-item label="登录密码" prop="passWord">
<el-input
type="password"
size="small"
size="small" style="width: 80%"
v-model="formData.passWord"
></el-input>
</el-form-item>
@ -132,7 +133,7 @@
<el-form-item label="确认密码" prop="checkPassword">
<el-input
type="password"
size="small"
size="small" style="width: 80%"
v-model="formData.checkPassword"
></el-input>
</el-form-item>
@ -144,8 +145,8 @@
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<el-form-item label="备注" prop="comments">
<el-input v-model="formData.comments" size="small"></el-input>
<el-form-item label="备&nbsp&nbsp注" prop="comments">
<el-input v-model="formData.comments" size="small" style="width: 80%"></el-input>
</el-form-item>
</div>

@ -0,0 +1,326 @@
<template>
<div>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-row>
<el-form-item class="query-form-item">
<el-input
style="width: 400px"
v-model="filterQuery.name"
placeholder="部门名称"
></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
></el-button>
<el-button type="primary" icon="search" @click="onSubmit"
>查询
</el-button
>
<el-button type="primary" icon="search" @click="addDeptDialog"
>添加
</el-button
>
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="部门编码"
prop="code"
width="230"
></el-table-column>
<el-table-column
label="部门名称"
prop="name"
width="230"
></el-table-column>
<el-table-column label="状态" prop="flage" width="120">
<template slot-scope="scope">
<el-tag :type="scope.row.flag | statusFilterType">{{
scope.row.flag | statusFilterName
}}
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" width="120">
</el-table-column>
<el-table-column label="操作" fixed="right" width="120">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="updateDeptDialog(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog :title="formMap[formName]" :visible.sync="formVisible" width="60%">
<el-form :model="formData" ref="dataForm">
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<el-form-item label="部门名称" prop="name">
<el-input
v-model="formData.name"
style="width: 60%"
size="small"
></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="text item">
<el-form-item label="备注" prop="remark">
<el-input
v-model="formData.remark"
size="small"
style="width: 60%"
></el-input>
</el-form-item>
</div>
</div>
</el-col>
</el-row>
<el-form-item label="状态:" prop="flag">
<el-radio-group v-model="formData.flag">
<el-radio :label="0">禁用</el-radio>
<el-radio :label="1">正常</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="cancelDialog" size="small">取消</el-button>
<el-button type="primary" size="small" @click.native="formSubmit()"
>提交
</el-button
>
</div>
</el-dialog>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
</div>
</template>
<script>
import {filterDepts, addDept, updateDept, deleteDept} from "../../api/auth/authDept";
export default {
data() {
return {
filterQuery: {
companyName: "",
checkType: "",
page: 1,
limit: 20,
},
total: 0,
loading: false,
formVisible: false,
userflag: {
0: "禁用",
1: "正常",
2: "未验证",
},
list: [],
isTip: {
0: "否",
1: "是",
},
formData: {},
formMap: {
add: "新增",
edit: "编辑",
},
formName: null,
};
},
filters: {
statusFilterType(status) {
const statusMap = {
0: "gray",
1: "success",
2: "danger",
};
return statusMap[status];
},
statusFilterName(status) {
const statusMap = {
0: "禁用",
1: "正常",
2: "未验证",
};
return statusMap[status];
},
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
name: "",
page: 1,
limit: 20,
};
this.getList();
},
formSubmit() {
if (this.formName == "add") {
addDept(this.formData)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
if (response.code === 20000) {
this.$message({
type: "success",
message: "添加成功!",
});
} else {
this.$message.warning("添加失败!");
}
})
.catch(() => {
this.cancelDialog();
this.loading = false;
});
} else if (this.formName == "edit") {
updateDept(this.formData)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
if (response.code === 20000) {
this.$message({
type: "success",
message: "更新成功!",
});
} else {
this.$message.warning("更新失败");
}
})
.catch(() => {
this.cancelDialog();
this.loading = false;
});
}
},
onSubmit() {
this.getList();
},
addDeptDialog() {
this.formName = "add";
this.formVisible = true;
this.formData = {
name: "",
flag: 1,
remark: "",
};
},
updateDeptDialog(row) {
this.formName = "edit";
this.formVisible = true;
this.formData = row;
},
getList() {
this.loading = true;
filterDepts(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
cancelDialog() {
this.formVisible = false;
},
handleSizeChange(val) {
this.filterQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
closeCustomerDialog() {
this.currentCustomer = null;
},
deleteDialog(row) {
this.$confirm("是否删除该部门?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let tQuery = {
id: row.id,
};
deleteDept(tQuery).then(() => {
this.getList();
});
})
.catch(() => {
});
},
},
components: {},
mounted() {
},
created() {
this.getList();
},
};
</script>
Loading…
Cancel
Save