代码备份,新增部门

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
}
)
}

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

@ -200,6 +200,39 @@
</el-col> </el-col>
</el-row> </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-row :gutter="20">
<el-col :span="20" class="el-col"> <el-col :span="20" class="el-col">
@ -431,7 +464,7 @@ import selectRlDialog from "./DialogSelectRl";
import editCodeDialog from "./editCode"; import editCodeDialog from "./editCode";
import A from "../../plugin/KeyScaner" import A from "../../plugin/KeyScaner"
import {deleteLog} from "@/api/basic/udiinfolog"; import {deleteLog} from "@/api/basic/udiinfolog";
import {filterDepts} from "@/api/auth/authDept";
export default { export default {
name: "idQuery", name: "idQuery",
@ -481,7 +514,7 @@ export default {
fromSubInvCode: null, fromSubInvCode: null,
codeFillCheck: null, codeFillCheck: null,
vailInv: null, vailInv: null,
deptCode: null,
}, },
editOriginCodeVisible: false, editOriginCodeVisible: false,
curId: null, curId: null,
@ -521,6 +554,7 @@ export default {
checkSuccess: false, checkSuccess: false,
codeDetail: null, codeDetail: null,
editTitle: "编辑条码", editTitle: "编辑条码",
fromDeptOptions: [],
}; };
}, },
components: { components: {
@ -544,6 +578,7 @@ export default {
fromCorpId: this.formData.fromCorpId, fromCorpId: this.formData.fromCorpId,
outChangeEnable: this.formData.outChangeEnable, outChangeEnable: this.formData.outChangeEnable,
preCheck: this.formData.preCheck, preCheck: this.formData.preCheck,
deptCode: this.formData.deptCode,
} }
submitOrderWeb(tQuery) submitOrderWeb(tQuery)
.then((response) => { .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) { getStorage(event) {
this.storageList = []; this.storageList = [];

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