From d1159b13a23fe823229ae35580496d2e3a28906f Mon Sep 17 00:00:00 2001 From: hailin <1356886193@qq.com> Date: 星期五, 14 七月 2023 16:05:36 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/yuanchu_code/lims-front-end --- src/views/laboratory/personnel/index.vue | 166 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 141 insertions(+), 25 deletions(-) diff --git a/src/views/laboratory/personnel/index.vue b/src/views/laboratory/personnel/index.vue index 6405a16..244d5a4 100644 --- a/src/views/laboratory/personnel/index.vue +++ b/src/views/laboratory/personnel/index.vue @@ -6,20 +6,48 @@ <el-form-item> <el-input placeholder="璇疯緭鍏ヤ汉鍛樺悕绉�" - v-model="searchData.keyword" + v-model="keyword" > <i slot="prefix" class="el-input__icon el-icon-search" /> </el-input> </el-form-item> <el-form-item> - <el-button type="primary">鏌ヨ</el-button> - <el-button type="primary" plain>閲嶇疆</el-button> + <el-button @click="searchData()" type="primary">鏌ヨ</el-button> + <el-button @click="resetData()" type="primary" plain>閲嶇疆</el-button> <!-- <el-button type="text">楂樼骇鎼滅储<i class="el-icon-arrow-down el-icon--right" /></el-button> --> </el-form-item> </el-form> </div> <div class="serve-btn"> - <el-button type="primary" icon="el-icon-plus">鏂板浜哄憳</el-button> + <el-button type="primary" @click="dialogFormVisible = true" icon="el-icon-plus">鏂板浜哄憳</el-button> + + <el-dialog title="鏂板浜哄憳" :visible.sync="dialogFormVisible"> + <el-form :model="form" :rules="rules" ref="form"> + <el-form-item label="璐﹀彿" :label-width="formLabelWidth" prop="account"> + <el-input v-model="form.account" autocomplete="off"></el-input> + </el-form-item> + <el-form-item label="骞撮緞" :label-width="formLabelWidth"> + <el-input v-model="form.age" autocomplete="off"></el-input> + </el-form-item> + <el-form-item label="閭" :label-width="formLabelWidth" prop="email"> + <el-input v-model="form.email" autocomplete="off"></el-input> + </el-form-item> + <el-form-item label="鍚嶅瓧" :label-width="formLabelWidth" prop="name"> + <el-input v-model="form.name" autocomplete="off"></el-input> + </el-form-item> + <el-form-item label="鐢佃瘽" :label-width="formLabelWidth" prop="phone"> + <el-input v-model="form.phone" autocomplete="off"></el-input> + </el-form-item> + + <el-form-item label="鏉冮檺" :label-width="formLabelWidth" prop="role_id"> + <el-input v-model="form.role_id" autocomplete="off"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitForm()">纭� 瀹�</el-button> + </div> + </el-dialog> </div> </div> <div class="content-main"> @@ -34,12 +62,12 @@ style="width: 100%" > <el-table-column - prop="roleName" + prop="username" label="瑙掕壊鍚嶇О" min-width="120" /> <el-table-column - prop="rolePermissions" + prop="roleName" label="瑙掕壊鏉冮檺" min-width="120" /> @@ -49,7 +77,7 @@ min-width="150" /> <el-table-column - prop="creatTime" + prop="createTime" label="鍒涘缓鏃堕棿" min-width="180" /> @@ -59,12 +87,12 @@ min-width="200" /> <el-table-column - prop="mailbox" + prop="email" label="閭" min-width="200" /> <el-table-column - prop="incumbentStatus" + prop="jobState" label="鍦ㄨ亴鐘舵��" min-width="120" :filters="[{ text: 0, value: 0 }, { text: 1, value: 1 }]" @@ -89,14 +117,15 @@ </el-table-column> </el-table> <div> + <!-- 鍒嗛〉鍣� --> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[100, 200, 300, 400]" - :page-size="100" + :page-size=pageSize layout="total, sizes, prev, pager, next, jumper" - :total="400"> + :total=this.personnerlTable.length> </el-pagination> </div> </div> @@ -105,34 +134,121 @@ </template> <script> +import axios from 'axios' +axios.defaults.baseURL = 'http://192.168.110.167:1234' export default { data() { return { currentPage: 1, - searchData: { - keyword: '' - }, + keyword: '', personnerlTable: [ - { - roleName: '寮犱笁', - rolePermissions: '绠$悊鍛�', - age: '18', - creatTime: '2023-07-07', - phone: '138888888', - mailbox: '138888888@qq.com', - incumbentStatus: '1' - } - ] + + ], + filteredpersonnerlTable:[], + currentindex:1, + currentPage: 1, // 褰撳墠椤电爜 + total: 20, // 鎬绘潯鏁� + pageSize: 100, // 姣忛〉鐨勬暟鎹潯鏁� + personData:[], //鐢ㄦ潵瀛樻斁鎺ュ彛浼犺繃鏉ョ殑浜哄憳鍒楄〃鏁版嵁 + dialogFormVisible:false, + form: { + account: "", + age: '', + email: "", + name: "", + phone: "", + role_id: '' + }, + formLabelWidth: '120px', + rules: { + account:[ + { + required: true, message: '璇疯緭鍏ヨ处鍙�', trigger: 'blur' + } + ], + name:[{ + required: true, message: '璇疯緭鍏ュ悕瀛�', trigger: 'blur' + }], + phone: [ + // { required: true, message: '璇疯緭鍏�11浣嶇數璇濆彿鐮�', trigger: 'blur' }, + { pattern: /^1[34578]\d{9}$/, message: '闈炴硶鎵嬫満鍙风爜', trigger: 'blur' } + ], + email: [ + // { required: true, message: '璇疯緭鍏ラ偖绠卞湴鍧�', trigger: 'blur' }, + { type: 'email', message: '闈炴硶閭鍦板潃', trigger: ['blur', 'change'] } + ], + role_id:[ + {required: true, message: '璇疯緭鍏ユ潈闄�(0鎴�1)', trigger: 'blur'} + + ] + }, } }, + mounted(){ + this.getData(); + }, methods: { + //姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 handleSizeChange(val) { console.log(`姣忛〉 ${val} 鏉) + this.currentPage = 1; + this.pageSize = val; }, + //褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤� handleCurrentChange(val) { console.log(`褰撳墠椤�: ${val}`) + this.currentPage = val; + }, + getData(){ + axios.get("/user/list_new_personnel",{ + params:{ + pageNo:0, + pageSize:20 + } + }).then(res=>{ + // console.log(res) + this.personData=res.data.data.row + this.personnerlTable=this.personData + }).catch(res=>{ + console.log("error") + }) + }, + searchData() { + this.filteredpersonnerlTable = this.personnerlTable.filter((item) =>{ + return item.username==this.keyword + } + ); + this.personnerlTable=this.filteredpersonnerlTable + }, + resetData(){ + // console.log("111111") + this.personnerlTable=this.personData + this.keyword='' + }, + // 鎻愪氦鏂板浜哄憳琛ㄥ崟 + submitForm() { + // Handle form submission here + // console.log(this.form); + // POST璇锋眰 + this.$refs.form.validate((valid)=>{ + if(valid){ + this.dialogFormVisible = false; + axios.post('/user/add_new_personnel', this.form) + .then(response => { + console.log(response); + // this.dialogVisible = false; + }) + .catch(error => { + console.error(error); + }); + }else{ + console.log('error submit!!'); + return false; + } + }) } - } + }, + } </script> -- Gitblit v1.9.3