From 16edb612abbfeafe6e4d2f3f8089b689e3c14456 Mon Sep 17 00:00:00 2001
From: lzhe <181968431@qq.com>
Date: 星期四, 11 四月 2024 23:51:06 +0800
Subject: [PATCH] 1

---
 src/views/master/person/main/personDepartment.vue |   94 ++++++++++++++-
 src/views/master/person/main/personPerson.vue     |   55 +++++++-
 src/views/master/person/main/department.vue       |  111 +++++++-----------
 src/views/master/person/main/personPost.vue       |   16 -
 src/views/master/person/main/save.vue             |   14 +
 src/layout/components/importTable.vue             |   55 +++++++++
 6 files changed, 243 insertions(+), 102 deletions(-)

diff --git a/src/layout/components/importTable.vue b/src/layout/components/importTable.vue
new file mode 100644
index 0000000..2b2ffe0
--- /dev/null
+++ b/src/layout/components/importTable.vue
@@ -0,0 +1,55 @@
+<template>
+	<div>
+		<el-steps direction="vertical" :active="1">
+		    <el-step title="鍑嗗鏁版嵁">
+		    	<span class="desc">瀵煎叆鐨勬暟鎹釜鏁伴渶灏忎簬200,鎵�鏈夊厑璁稿鍏ョ殑瀛楁璇峰弬鑰冩ā鏉�;
+		    		<span class="bolder">瀛楁涓嶇鍚堣鍒欙紝鏁存潯鏁版嵁涓嶄簣浠ュ鍏�</span>
+		    	</span>
+		    	<button type="button" class="el-button more-btn el-button--text el-button--mini"><span>鏇村瀛楁瀵煎叆瑙勫垯 <i class="el-icon-arrow-down no-open"></i></span></button>
+		    	<div class="desc">
+		    		<ul class="tip" style="">
+		    			<li>1銆佸憳宸ュ伐鍙凤細蹇呭~锛涘伐鍙蜂笉鍙噸澶嶏紱鏀寔澶у皬鍐欏瓧姣嶃�佹暟瀛楃粍鍚堬紱</li>
+		    			<li>2銆佸憳宸ュ鍚嶏細蹇呭~锛涘鏋滈噸鍚嶏紝寤鸿鍔犳暟瀛楀尯鍒嗭紝濡傗�滃紶涓�1鈥濓紱</li>
+		    			<li>3銆佺姸鎬侊細蹇呭~锛涢�夋嫨鍦ㄨ亴/绂昏亴锛�</li>
+		    			<li>4銆佺數璇濓細蹇呭~锛涘湪鏈紒涓氬唴涓嶅彲閲嶅锛�</li>
+		    			<li>5銆丳IN鐮侊細蹇呭~锛涙敮鎸�4-6浣嶆暟瀛楋紱</li>
+		    			<li>6銆佸矖浣嶏細闈炲繀濉紱鍙互濉叆澶氫釜宀椾綅锛屼互鑻辨枃閫楀彿鈥�,鈥欓棿闅旓紱涓嶅彲閲嶅悕锛�</li>
+		    			<li>7銆侀偖绠憋細闈炲繀濉紱閭鏍煎紡鏍¢獙锛屾瘮濡傗��***@126.com鈥濓紱</li>
+		    			<li>8銆侀儴闂細闈炲繀濉紱璇峰~鍐欓儴闂ㄥ畬鏁村眰绾э紱涓棿闂撮殧锛岃鐢ㄨ嫳鏂囩鍙封��-鈥滈棿闅斻�傚鈥漻x鍏徃-xx閮ㄩ棬-xx鈥�</li>
+		    			<li>9銆佸叆鑱屾棩鏈燂細闈炲繀濉紱鏃ユ湡鏍煎紡鈥淵Y-MM-DD鈥�</li>
+		    		</ul>
+		    		<a class="download el-link el-link--primary is-underline"><i class="el-icon-download"></i><span class="el-link--inner">涓嬭浇妯℃澘</span></a>
+		    	</div>
+		    </el-step>
+		    <el-step title="涓婁紶鏁版嵁鏂囦欢"></el-step>
+		  </el-steps>
+	</div>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+			}
+		},
+		mounted() {
+			
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style scoped>
+.desc {
+	color: #333;
+}
+.desc .bolder {
+	font-weight: bolder;
+}
+.tip {
+	font-size: 12px;
+    padding-left: 16px
+}
+</style>
diff --git a/src/views/master/person/main/department.vue b/src/views/master/person/main/department.vue
index e259fce..17136bb 100644
--- a/src/views/master/person/main/department.vue
+++ b/src/views/master/person/main/department.vue
@@ -1,27 +1,27 @@
 <template>
 	<el-dialog :title="titleMap[mode]" v-model="visible" :width="800" destroy-on-close @closed="$emit('closed')">
-		<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center">
+		<el-form :model="depatmentForm" :rules="depatmentRules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center">
 			<el-row>
 				<el-col :span="12">
-					<el-form-item label="閮ㄩ棬鍚嶇О" prop="userName">
-						<el-input v-model="form.userName" placeholder="閮ㄩ棬鍚嶇О" clearable></el-input>
+					<el-form-item label="閮ㄩ棬鍚嶇О" prop="name">
+						<el-input v-model="depatmentForm.name" placeholder="閮ㄩ棬鍚嶇О" clearable></el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
-					<el-form-item label="涓婄骇閮ㄩ棬" prop="name">
-						<el-input v-model="form.name" placeholder="涓婄骇閮ㄩ棬" clearable></el-input>
+					<el-form-item label="涓婄骇閮ㄩ棬" prop="parentId">
+						<el-tree-select @change= "parentIdChange" v-model="depatmentForm.parentId" clearable placeholder="涓婄骇閮ㄩ棬" default-expand-all check-on-click-nod :data="departmentList" check-strictly :props="{ label: 'name' }" node-key="id" ref="parentTree" style="width: 240px" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
 					<el-form-item label="浣跨敤鐘舵��" prop="name">
-						<el-switch v-model="value1" />
+						<el-switch v-model="depatmentForm.status" />
 					</el-form-item>
 				</el-col>
 			</el-row>
 		</el-form>
 		<template #footer>
 			<el-button @click="visible=false" >鍙� 娑�</el-button>
-			<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="submit()">淇� 瀛�</el-button>
+			<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="departmentSubmit()">淇� 瀛�</el-button>
 		</template>
 	</el-dialog>
 </template>
@@ -31,6 +31,7 @@
 		emits: ['success', 'closed'],
 		data() {
 			return {
+				departmentList: [],
 				value1: true,
 				mode: "add",
 				titleMap: {
@@ -41,50 +42,17 @@
 				visible: false,
 				isSaveing: false,
 				//琛ㄥ崟鏁版嵁
-				form: {
-					id:"",
-					userName: "",
-					avatar: "",
+				depatmentForm: {
 					name: "",
-					dept: "",
-					group: []
+					parentId: "",
+					groupCategory: 1,
+					groupType: "group_organization",
+					status: true
 				},
 				//楠岃瘉瑙勫垯
-				rules: {
-					avatar:[
-						{required: true, message: '璇蜂笂浼犲ご鍍�'}
-					],
-					userName: [
-						{required: true, message: '璇疯緭鍏ョ櫥褰曡处鍙�'}
-					],
-					name: [
-						{required: true, message: '璇疯緭鍏ョ湡瀹炲鍚�'}
-					],
-					password: [
-						{required: true, message: '璇疯緭鍏ョ櫥褰曞瘑鐮�'},
-						{validator: (rule, value, callback) => {
-							if (this.form.password2 !== '') {
-								this.$refs.dialogForm.validateField('password2');
-							}
-							callback();
-						}}
-					],
-					password2: [
-						{required: true, message: '璇峰啀娆¤緭鍏ュ瘑鐮�'},
-						{validator: (rule, value, callback) => {
-							if (value !== this.form.password) {
-								callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
-							}else{
-								callback();
-							}
-						}}
-					],
-					dept: [
-						{required: true, message: '璇烽�夋嫨鎵�灞為儴闂�'}
-					],
-					group: [
-						{required: true, message: '璇烽�夋嫨鎵�灞炶鑹�', trigger: 'change'}
-					]
+				depatmentRules: {
+					name: [{required: true, message: '璇疯緭鍏ラ儴闂ㄥ悕绉�'}],
+					parentId: [{required: true, message: '璇烽�夋嫨涓婄骇閮ㄩ棬'}]
 				},
 				//鎵�闇�鏁版嵁閫夐」
 				groups: [],
@@ -101,10 +69,20 @@
 			}
 		},
 		mounted() {
-			// this.getGroup()
-			// this.getDept()
+			this.getOrganizationList();
 		},
 		methods: {
+			getOrganizationList() {
+				this.$HTTP.get(`/api/blade-cps/organization/tree?groupType=group_organization&groupCategory=1`).then(res=> {
+					if(res.code == 200) {
+						this.departmentList = res.data;
+					}
+				})
+			},
+			parentIdChange(val) {
+				// var $parentId = this.$refs.parentTree.getCurrentNode().title;
+				// this.depatmentForm.$parentId = $parentId;
+			},
 			//鏄剧ず
 			open(mode='add'){
 				this.mode = mode;
@@ -121,19 +99,20 @@
 				this.depts = res.data;
 			},
 			//琛ㄥ崟鎻愪氦鏂规硶
-			submit(){
+			departmentSubmit(){
+				var obj = Object.assign({},this.depatmentForm);
+				obj.status = obj.status ? 1 : 0;
 				this.$refs.dialogForm.validate(async (valid) => {
 					if (valid) {
-						this.isSaveing = true;
-						var res = await this.$API.demo.post.post(this.form);
-						this.isSaveing = false;
-						if(res.code == 200){
-							this.$emit('success', this.form, this.mode)
-							this.visible = false;
-							this.$message.success("鎿嶄綔鎴愬姛")
-						}else{
-							this.$alert(res.message, "鎻愮ず", {type: 'error'})
-						}
+						this.$HTTP.post("/api/blade-cps/group",obj).then(res=> {
+							if(res.code == 200) {
+								this.$emit('success', this.depatmentForm, this.mode);
+								this.visible = false;
+								this.$message.success("鎿嶄綔鎴愬姛");
+							}else {
+								this.$alert(res.message, "鎻愮ず", {type: 'error'});
+							}
+						})
 					}else{
 						return false;
 					}
@@ -141,15 +120,9 @@
 			},
 			//琛ㄥ崟娉ㄥ叆鏁版嵁
 			setData(data){
-				this.form.id = data.id
-				this.form.userName = data.userName
-				this.form.avatar = data.avatar
-				this.form.name = data.name
-				this.form.group = data.group
-				this.form.dept = data.dept
-
+				data.status = data.status=="1"? true:false;
 				//鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
-				//Object.assign(this.form, data)
+				Object.assign(this.depatmentForm, data)
 			}
 		}
 	}
diff --git a/src/views/master/person/main/personDepartment.vue b/src/views/master/person/main/personDepartment.vue
index f2dde89..347dd2f 100644
--- a/src/views/master/person/main/personDepartment.vue
+++ b/src/views/master/person/main/personDepartment.vue
@@ -16,17 +16,19 @@
 				</div>
 				<div>
 					<el-select v-model="searchData.status" placeholder="鐘舵��" class="searchStatus">
-						<el-option v-for="item in statusList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" size="small"/>
+						<el-option key="1" label="鍚敤" value="1" size="small"/>
+						<el-option key="0" label="鍋滅敤" value="0" size="small"/>
 					</el-select>
-					<el-input v-model="searchData.name" style="width: 200px" size="small" placeholder="璇疯緭鍏ュ叧閿瓧杩涜杩囨护">
+					<el-input v-model="searchData.keywords" style="width: 200px" size="small" placeholder="璇疯緭鍏ュ叧閿瓧杩涜杩囨护">
 						<template #append>
-							<el-button :icon="searchIcon" @click="getOrganizationList" />
+							<el-button @click="getOrganizationList">
+								<i class="el-icon"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704z"></path></svg></i>
+							</el-button>
 						</template>
 					</el-input>
 				</div>
 			</div>
 			<div class="right-table">
-				<!-- lazy :load="tableLoad" -->
 				<el-table :data="departmentList" style="width: 100%;margin-bottom: 20px;"  row-key="id" border default-expand-all ref="treeRef" @selection-change="handleSelectionChange">
 					<el-table-column type="selection" width="55" />
 					<el-table-column prop="name" label="宀椾綅鍚嶇О"></el-table-column>
@@ -50,8 +52,20 @@
 			</div>
 		</div>
 	</div>
-	
-	<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSuccess" @closed="dialog.save=false"></save-dialog>
+	<!-- 鍒犻櫎 -->
+	<el-dialog title="" v-model="delPersonModel" :width="300" destroy-on-close>
+		<div>
+			<div style="margin-bottom: 6px;"><span class="delIcon">!</span>璇蜂綘璋ㄦ厧閫夋嫨锛�</div>
+			<div style="text-indent: 24px;">鍒犻櫎鏁版嵁浼氬奖鍝嶅凡鍏宠仈鐨勪笟鍔� ,鑻ユ偍鎯冲湪宸插叧鑱旂殑涓氬姟涓緷鐒舵樉绀鸿繖浜涙暟鎹�, 鎮ㄥ彲浠ラ�夋嫨 鍋滅敤 鎿嶄綔銆傚仠鐢ㄥ悗姝ゆ暟鎹皢涓嶈兘鍐嶈鏂颁笟鍔′娇鐢ㄣ��</div>
+		</div>
+		<template #footer>
+			<div class="footerDiv">
+				<div class="delBtn" @click="delData(0)">鍒犻櫎</div>
+				<div class="delBtn" @click="delData(1)">鍋滅敤</div>
+			</div>
+		</template>
+	</el-dialog>
+	<save-dialog v-if="dialog.save" ref="saveDialog" @success="addHandleSuccess" @closed="dialog.save=false"></save-dialog>
 </template>
 <script>
 	import saveDialog from './department'
@@ -59,6 +73,7 @@
 		name: "bakalaka",
 		data(){
 			return {
+				selectId: "",
 				selection: [],
 				total: 0,
 				searchData: {
@@ -72,7 +87,8 @@
 				dialog: {
 					save: false
 				},
-				departmentList: []
+				departmentList: [],
+				delPersonModel: false
 			}
 		},
 		created(){
@@ -86,6 +102,19 @@
 			saveDialog
 		},
 		methods: {
+			addHandleSuccess() {
+				this.getOrganizationList();
+			},
+			delData(type) {
+				this.$HTTP.delete(`/api/blade-cps/organization?ids=${this.selectId}&type=${type}`).then(res=> {
+					if(res.code == 200) {
+						this.$message.success("鎿嶄綔鎴愬姛");
+						this.delPersonModel = false;
+						this.selectId = "";
+						this.getOrganizationList();
+					}
+				})
+			},
 			removeHasChildren(arr) {  
 				return arr.map(item => {  
 					// 鍒涘缓涓�涓笉鍖呭惈hasChildren鐨勬柊瀵硅薄  
@@ -129,7 +158,21 @@
 			handleSelectionChange (selection) {
 				this.selection = selection;
 			},
-			delPerson() {},
+			delPerson() {
+				if(this.selection.length == 0) {
+					this.$message({
+			          message: '璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�',
+			          type: 'warning'
+			        });
+			        return;
+				}
+				var selStr = "";
+				this.selection.map(item=> {
+					selStr += item.id + ","
+				})
+				this.selectId = selStr.replace(/,$/, '');
+				this.delPersonModel = true;
+			},
 			handleSizeChange(val) {
 				console.log(`姣忛〉 ${val} 鏉);
 			},
@@ -236,4 +279,39 @@
 	.multipleTableRef {
 		margin-bottom: 8px;
 	}
+	.footerDiv {
+		text-align: center;
+	}
+	.delBtn {
+	    color: #fff;
+	    width: 112px;
+	    height: 32px;
+	    display: inline-block;
+	    color: #fa554c;
+	    background-color: #fff;
+	    border: 1px solid #fdbbb7;
+	    text-align: center;
+	    line-height: 32px;
+	    cursor: pointer;
+	}
+	.delBtn:nth-child(1) {
+		margin-right:4px;
+	}
+	.delBtn:hover {
+		background-color: #f34d5b;
+	    border-color: #f34d5b;
+	    color: #fff;
+	}
+	.delIcon {
+		color: #fff;
+	    background: red;
+	    border-radius: 50%; 
+	    display: inline-block;
+	    width: 20px;
+	    height: 20px;
+	    font-size: 14px;
+	    text-align: center;
+	    line-height: 20px;
+	    margin-right: 6px;
+	}
 </style>
diff --git a/src/views/master/person/main/personPerson.vue b/src/views/master/person/main/personPerson.vue
index 05d504b..8886cb4 100644
--- a/src/views/master/person/main/personPerson.vue
+++ b/src/views/master/person/main/personPerson.vue
@@ -18,7 +18,6 @@
 			</div>
 			<div class="person-tree">
 				<!-- 閮ㄩ棬 -->
-				<!-- <div v-for="(item,index) in titleList" :data-id="item.id" v-if="leftActive" :class="{treeActive: item.active}" @click="selectbtn(index)">{{item.name}}({{item.peopleNum}})</div> -->
 				<el-tree style="max-width: 600px" :data="titleList" :expand-on-click-node="false" default-expand-all :props="{label: 'name', children: 'children'}" class="treeActive" @node-click="titleListNode" />
 				<!-- 宀椾綅 -->
 				<div v-for="(item,index) in titleList" :data-id="item.id" v-if="!leftActive" :class="{treeActive: item.active}" @click="selectbtn(index)">{{item.postName}}</div>
@@ -98,10 +97,8 @@
 		<el-form :model="departmentFrom" :rules="departmentVisibleRules" :disabled="mode=='show'" ref="dialogForm" label-width="80px" label-position="center">
 			<el-row>
 				<el-col :span="24">
-					<el-form-item label="閮ㄩ棬" prop="department">
-						<el-select v-model="departmentFrom.department" style="width: 100%">
-							<el-option v-for="item in groups" :key="item.id" :label="item.label" :value="item.id"/>
-						</el-select>
+					<el-form-item label="閮ㄩ棬" prop="parentId">
+						<el-tree-select @change= "parentIdChange" v-model="departmentFrom.parentId" clearable placeholder="閮ㄩ棬" default-expand-all check-on-click-nod :data="titleList" check-strictly :props="{ label: 'name' }" node-key="id" ref="parentTree" />
 					</el-form-item>
 				</el-col>
 			</el-row>
@@ -140,7 +137,7 @@
 					current: 1,
 					size: 15,
 					status: "1",
-					total: "0",
+					total: "1",
 					keywords: "",
 					postId: "",  //postId
 					organizationCode: ""  //缁勭粐code
@@ -152,9 +149,7 @@
 					department: ""
 				},
 				departmentVisibleRules: {
-					department:[
-						{required: true, message: '璇烽�夋嫨閮ㄩ棬'}
-					]
+					parentId:[{required: true, message: '璇烽�夋嫨閮ㄩ棬'}]
 				},
 				departmentVisible: false,
 				dialog: {
@@ -165,7 +160,10 @@
 				statusList: [],
 				input3: '',
 				tableData: [],
-				selection: []
+				selection: [],
+				departmentFrom: {
+					parentId: ""
+				}
 			}
 		},
 		created(){
@@ -179,6 +177,10 @@
 			saveDialog
 		},
 		methods: {
+			parentIdChange(val) {
+				// var $parentId = this.$refs.parentTree.getCurrentNode().title;
+				// this.depatmentForm.$parentId = $parentId;
+			},
 			titleListNode(data) {
 				this.searchData.organizationCode = data.code;
 				this.searchPerson();
@@ -260,7 +262,26 @@
 				})
 			},
 			departmentSubmit() {
-				this.departmentVisible=false;  //閮ㄩ棬璋冩暣
+				var employeeIds = [];
+				this.selection.forEach(item=> {
+					employeeIds.push(item.id);
+				})
+				this.$refs.dialogForm.validate(async (valid) => {
+					if (valid) {
+						this.$HTTP.put(`/api/blade-cps/employee/change-organization?organizationId=${this.departmentFrom.parentId}&employeeIds=${employeeIds.join(",")}`).then(res=> {
+							if(res.code == 200) {
+								this.searchPerson();
+								this.departmentVisible=false;  //閮ㄩ棬璋冩暣
+								this.departmentFrom.parentId = "";
+								this.$message.success("鎿嶄綔鎴愬姛");
+							}else {
+								this.$alert(res.message, "鎻愮ず", {type: 'error'});
+							}
+						})
+					}else{
+						return false;
+					}
+				})
 			},
 			//娣诲姞
 			addPerson(){
@@ -299,6 +320,18 @@
 				this.delPersonModel = true;
 			},
 			changeDepartment() {
+				if(this.selection.length == 0) {
+					this.$message({
+			          message: '璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�',
+			          type: 'warning'
+			        });
+			        return;
+				}
+				var selStr = "";
+				this.selection.map(item=> {
+					selStr += item.id + ","
+				})
+				this.selectId = selStr.replace(/,$/, '');
 				this.departmentVisible = true;
 			},
 			changeTab(name) {
diff --git a/src/views/master/person/main/personPost.vue b/src/views/master/person/main/personPost.vue
index fd8cf6c..c1312b3 100644
--- a/src/views/master/person/main/personPost.vue
+++ b/src/views/master/person/main/personPost.vue
@@ -16,11 +16,14 @@
 				</div>
 				<div>
 					<el-select v-model="postSearchData.status" placeholder="鐘舵��" class="searchStatus">
-						<el-option v-for="item in statusList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" size="small"/>
+						<el-option key="1" label="鍚敤" value="1" size="small"/>
+						<el-option key="0" label="鍋滅敤" value="0" size="small"/>
 					</el-select>
 					<el-input v-model="postSearchData.keywords" style="width: 200px" size="small" placeholder="璇疯緭鍏ュ叧閿瓧杩涜杩囨护">
 						<template #append>
-							<el-button :icon="searchIcon" @click="searchPerson" />
+							<el-button @click="getPost">
+								<i class="el-icon"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704z"></path></svg></i>
+							</el-button>
 						</template>
 					</el-input>
 				</div>
@@ -71,7 +74,6 @@
 		data(){
 			return {
 				totle: "0",
-				statusList: [],
 				postSearchData: {
 					current: 1,
 					size: 15,
@@ -92,7 +94,6 @@
 			
 		},
 		mounted(){
-			this.getStatus();
 			this.getPost();
 		},
 		components: {
@@ -111,13 +112,6 @@
 			},
 			postHandleSuccess() {
 				this.getPost();
-			},
-			getStatus() {  //鑾峰彇鍏ㄩ儴璐﹀彿
-				this.$HTTP.get(`/api/blade-system/dict/dictionary?code=employee_status`).then(res=> {
-					if(res.code == 200) {
-						this.statusList = res.data;
-					}
-				})
 			},
 			getPost() {  //宀椾綅
 				this.$HTTP.get(`/api/blade-system/post/page?`+this.$TOOL.qsStringify(this.postSearchData)).then(res=> {
diff --git a/src/views/master/person/main/save.vue b/src/views/master/person/main/save.vue
index c8f3180..c1659f4 100644
--- a/src/views/master/person/main/save.vue
+++ b/src/views/master/person/main/save.vue
@@ -219,10 +219,18 @@
 			setData(data){
 				this.$HTTP.get(`/api/blade-cps/employee/detail/${data.id}`).then(res=> {
 					if(res.code == 200) {
-						res.data.postId = res.data.postId.split(",");
-						res.data.deptId = res.data.deptId.split(",");
+						if(res.data.postId) {
+							res.data.postId = res.data.postId.split(",");
+						}else {
+							res.data.postId = [];
+						}
+						if(res.data.deptId) {
+							res.data.deptId = res.data.deptId.split(",");
+						}else {
+							res.data.deptId = [];
+						}
 						//鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
-						Object.assign(this.addPersonForm, res.data)
+						Object.assign(this.addPersonForm, res.data);
 					}
 				})
 			}

--
Gitblit v1.9.3