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