From 377e00b443a02f1567e84aef14d6134124603813 Mon Sep 17 00:00:00 2001
From: Goldennfish <1981343953@qq.com>
Date: 星期二, 25 七月 2023 08:57:00 +0800
Subject: [PATCH] 设备台账弹出框及调整了所有弹出框样式

---
 src/views/laboratory/ledger/index.vue |  375 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 342 insertions(+), 33 deletions(-)

diff --git a/src/views/laboratory/ledger/index.vue b/src/views/laboratory/ledger/index.vue
index 619ac3b..4f8a8ce 100644
--- a/src/views/laboratory/ledger/index.vue
+++ b/src/views/laboratory/ledger/index.vue
@@ -19,15 +19,24 @@
         </el-form>
       </div>
       <div class="serve-btn">
-        <el-button type="primary" icon="el-icon-plus">鏂板浜哄憳</el-button>
+        <el-button type="primary" icon="el-icon-plus" @click="drawerFormVisible = true">鏂板浜哄憳</el-button>
       </div>
     </div>
     <div class="content-main">
       <div class="library-bom">
-        <el-input
-          v-model="filterText"
-          placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
-        />
+        <div class="bom-item-search">
+          <el-row>
+            <el-col :span="19">
+              <el-input
+                v-model="filterText"
+                placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+              />
+            </el-col>
+            <el-col :span="5">
+              <el-button type="primary" size="small" @click="FormVisible = true"><i class="el-icon-plus" /></el-button>
+            </el-col>
+          </el-row>
+        </div>
         <el-tree
           ref="tree"
           class="filter-tree"
@@ -57,56 +66,46 @@
         <div class="table-box">
           <el-table
             ref="personnerlTable"
-
+            :max-height="800"
             :cell-style="{textAlign: 'center'}"
             :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
             :data="personnerlTable"
             style="width: 100%"
           >
             <el-table-column
-              prop="roleName"
+              prop="id"
               label="搴忓彿"
               min-width="90"
             />
             <el-table-column
-              prop="rolePermissions"
+              prop="equipment_code"
               label="浠櫒璁惧缂栧彿"
-              min-width="150"
+              min-width="200"
             />
             <el-table-column
-              prop="age"
+              prop="equipment_name"
               label="浠櫒璁惧鍚嶇О"
-              min-width="150"
-            />
-            <el-table-column
-              prop="creatTime"
-              label="瑙勬牸鍨嬪彿"
-              min-width="150"
-            />
-            <el-table-column
-              prop="phone"
-              label="涓婃璁¢噺鏃堕棿"
               min-width="200"
             />
             <el-table-column
-              prop="mailbox"
-              label="涓婃璁¢噺鍗曚綅"
+              prop="specification_models"
+              label="鍨嬪彿瑙勬牸"
               min-width="200"
             />
             <el-table-column
-              prop="mailbox"
-              label="鎴鏈夋晥鏈�"
+              prop="keeper"
+              label="淇濈浜�"
               min-width="200"
             />
             <el-table-column
-              prop="mailbox"
-              label="璁¢噺鍛ㄦ湡"
+              prop="term_validity"
+              label="璁¢噺鎴鏈夋晥鏈�"
               min-width="200"
             />
             <el-table-column
-              prop="incumbentStatus"
+              prop="conditions"
               label="璁惧鐘舵��"
-              min-width="120"
+              min-width="200"
               :filters="[{ text: 0, value: 0 }, { text: 1, value: 1 }]"
               :filter-method="filterTag"
               filter-placement="bottom-end"
@@ -119,16 +118,42 @@
               </template>
             </el-table-column>
             <el-table-column
+              prop="storage_place"
+              label="瀛樻斁鍦�"
+              min-width="200"
+            />
+            <el-table-column
               label="鎿嶄綔"
-              min-width="120"
-              :fixed="true"
+              min-width="200"
+              fixed="right"
             >
               <template slot-scope="scope">
-                <el-button type="text" size="small" @click="handleClick(scope.row)">缂栬緫</el-button>
-                <!-- <el-button type="text" size="small">缂栬緫</el-button> -->
+                <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button>
+                <el-button type="text" size="small">鍒犻櫎</el-button>
               </template>
             </el-table-column>
           </el-table>
+          <!-- 寮瑰嚭琛ㄥ崟椤� -->
+          <div>
+            <!-- 娣诲姞鍒嗙被 -->
+            <el-dialog title="娣诲姞鍒嗙被" :visible.sync="FormVisible" width="33%">
+              <el-form :model="treeForm">
+                <el-form-item label="鍒嗙被鍚嶇О" label-width="100px">
+                  <el-input v-model="treeForm.name" autocomplete="off" />
+                </el-form-item>
+                <el-form-item label="鐖剁骇鍒嗙被" label-width="100px">
+                  <el-select v-model="treeForm.type" placeholder="璇烽�夋嫨">
+                    <el-option label="鍘熸潗鏂�" value="0" />
+                    <el-option label="鐢电嚎鐢电紗" value="1" />
+                  </el-select>
+                </el-form-item>
+              </el-form>
+              <div slot="footer" class="dialog-footer">
+                <el-button @click="FormVisible = false">鍙� 娑�</el-button>
+                <el-button type="primary">纭� 瀹�</el-button>
+              </div>
+            </el-dialog>
+          </div>
           <div>
             <el-pagination
               :current-page="currentPage"
@@ -143,6 +168,179 @@
         </div>
       </div>
     </div>
+    <!-- 鎶藉眽 -->
+    <el-drawer
+              title="鏂板浠櫒璁惧"
+              :before-close="handleClose"
+              :visible.sync="drawerFormVisible"
+              direction="rtl"
+              custom-class="demo-drawer"
+              ref="drawer"
+              size="40%"
+              >
+              <div class="demo-drawer__content">
+                <el-form label-position="top" :model="equipmentform">
+                  <el-row :gutter="50">
+                    <el-col :span="11">
+                      <el-form-item label="鎵�灞炲垎绫伙細" label-width="80">
+                        <el-select
+                          v-model="equipmentform.classifyId"
+                          clearable
+                          filterable
+                          :allow-create="true"
+                          placeholder="璇烽�夋嫨"
+                          @blur="productSelect"
+                          style="width:100%"
+                        >
+                          <el-option
+                            v-for="item in fatherOpetions"
+                            :key="item.id"
+                            :label="item.label"
+                            :value="item.label"
+                          />
+                        </el-select>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="11">
+                      <el-form-item label="璁惧缂栧彿锛�" label-width="80">
+                        <el-input v-model="equipmentform.equipmentCode" autocomplete="off" />
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row :gutter="50">
+                      <el-col :span="11">
+                      <el-form-item label="浠櫒璁惧鍚嶇О锛�" label-width="80">
+                        <el-input v-model="equipmentform.name" autocomplete="off" />
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="11">
+                      <el-form-item label="鐘舵�侊細" label-width="80">
+                        <el-select
+                          v-model="equipmentform.classifyId"
+                          clearable
+                          filterable
+                          :allow-create="true"
+                          placeholder="璇烽�夋嫨浠櫒璁惧鐘舵��"
+                          @blur="productSelect"
+                          style="width:100%"
+                        >
+                          <el-option
+                            v-for="item in fatherOpetions"
+                            :key="item.id"
+                            :label="item.label"
+                            :value="item.label"
+                          />
+                        </el-select>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row :gutter="50">
+                    <el-col :span="11">
+                      <el-form-item label="鍨嬪彿瑙勬牸锛�" label-width="80">
+                        <el-input v-model="equipmentform.specification_models" autocomplete="off" />
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="11">
+                      <el-form-item label="娴嬮噺鑼冨洿锛�" label-width="80">
+                        <el-input v-model="equipmentform.measuringRange" autocomplete="off" />
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row :gutter="50">
+                    <el-col :span="11">
+                      <el-form-item label="涓嶇‘瀹氬害/鍑嗙‘搴�/鏈�澶у厑璁歌宸細" label-width="80">
+                        <el-input v-model="equipmentform.errorRate" autocomplete="off" />
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="11">
+                      <el-form-item label="鐢熶骇鍘傚锛�" label-width="80">
+                        <el-input v-model="equipmentform.manufacturer" autocomplete="off" />
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row :gutter="50">
+                    <el-col :span="11">
+                      <el-form-item label="瀛樻斁鍦扮偣锛�" label-width="80">
+                        <el-input v-model="equipmentform.storagePlace" autocomplete="off" />
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="11">
+                      <el-form-item label="鍒拌揣鏃ユ湡锛�" label-width="80">
+                        <el-date-picker
+                          v-model="equipmentform.arrivalDate"
+                          type="date"
+                          placeholder="璇烽�夋嫨鍒拌揣鏃ユ湡"
+                          style="width:100%">
+                        </el-date-picker>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row :gutter="50">
+                    <el-col :span="11">
+                      <el-form-item label="楠屾敹鏃ユ湡锛�" label-width="80">
+                        <el-date-picker
+                          v-model="equipmentform.acceptanceDate"
+                          type="date"
+                          placeholder="璇烽�夋嫨楠屾敹鏃ユ湡"
+                          style="width:100%">
+                        </el-date-picker>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="11">
+                      <el-form-item label="淇濈浜猴細" label-width="80">
+                        <el-select
+                          v-model="equipmentform.keeper"
+                          clearable
+                          filterable
+                          :allow-create="true"
+                          placeholder="璇烽�夋嫨淇濈浜�"
+                          @blur="productSelect"
+                          style="width:100%"
+                        >
+                          <el-option
+                            v-for="item in fatherOpetions"
+                            :key="item.id"
+                            :label="item.label"
+                            :value="item.label"
+                          />
+                        </el-select>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row :gutter="50">
+                    <el-col :span="11">
+                      <el-form-item label="鏄惁鏀寔鏁伴噰锛�" label-width="80">
+                        <el-radio v-model="equipmentform.whetherDataAcquisition" label="1">鏄�</el-radio>
+                        <el-radio v-model="equipmentform.whetherDataAcquisition" label="2">鍚�</el-radio>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="11">
+                      <el-form-item label="浠櫒璁惧璁¢噺锛�" label-width="80">
+                        <el-radio v-model="equipmentform.equipmentMeasurement" label="1">闇�瑕�</el-radio>
+                        <el-radio v-model="equipmentform.equipmentMeasurement" label="2">涓嶉渶瑕�</el-radio>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row :gutter="50">
+                    <el-col :span="11">
+                    <el-form-item label="鎻忚堪锛�" label-width="80">
+                      <el-input
+                          type="textarea"
+                          :rows="2"
+                          placeholder="璇疯緭鍏ュ唴瀹�"
+                          v-model=equipmentform.descriptiveness
+                          style="width:217%">
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+                  </el-row>
+                </el-form>
+                <div class="demo-drawer__footer">
+                  <el-button @click="drawerFormVisible = false" class="el-button--default">鍙� 娑�</el-button>
+                  <el-button type="primary" class="el-button--primary el-button--medium">纭� 瀹�</el-button>
+                </div>
+              </div>
+            </el-drawer>
   </div>
 </template>
 
@@ -166,6 +364,20 @@
           }]
         }]
       }],
+      treeForm: [{
+        name: '',
+        type: ''
+      }],
+      personnerlTable: [{
+        specification_models: 'WCDMS-1', // 鍨嬪彿瑙勬牸
+        equipment_name: '鏁板瓧鐢垫ˉ', // 浠櫒璁惧鍚嶇О
+        term_validity: 12, // 璁¢噺鎴鏈夋晥鏈�
+        equipment_code: 'JSTC-W1-00001', // 浠櫒璁惧缂栧彿
+        keeper: 0, // 淇濈浜�
+        id: 1, // 搴忓彿
+        conditions: 1, // 璁惧鐘舵��
+        storage_place: '鍦扮悆浜氭床涓浗姹熻嫃鍗楅��' // 瀛樻斁鍦�
+      }],
       // tree榛樿鍊�
       defaultProps: {
         children: 'children',
@@ -178,7 +390,29 @@
       // 琛ㄦ牸鎼滅储鍗曢�夊��
       radioValue: '鍏ㄩ儴',
       // 琛ㄦ牸鎼滅储宸茶繃鏈�
-      isOut: false
+      isOut: false,
+      FormVisible: false,
+      drawerFormVisible: false,
+      loading: false,
+      equipmentform: {
+        acceptanceDate: '', // 楠屾敹鏃ユ湡
+        arrivalDate: '', // 鍒拌揣鏃ユ湡
+        classifyId: '', // 鎵�灞炲垎绫�
+        conditions: '', // 鐘舵��
+        descriptiveness: '', // 鎻忚堪
+        equipmentCode: '', // 璁惧缂栧彿
+        equipmentMeasurement: '', // 浠櫒璁惧璁¢噺
+        equipmentName: '', // 浠櫒璁惧鍚嶇О
+        errorRate: '', // 涓嶇‘瀹氬害/鍑嗙‘搴�/鏈�澶у厑璁歌宸�
+        keeper: '', // 淇濈浜�
+        manufacturer: '', // 鐢熶骇鍘傚
+        measuringRange: '', // 娴嬮噺鑼冨洿
+        specificationsModels: '', // 鍨嬪彿瑙勬牸
+        storagePlace: '', // 瀛樻斁鍦扮偣
+        whetherDataAcquisition: '' // 鏄惁鏀寔鏁伴噰
+      },
+      timer: null,
+      formLabelWidth: '80'
     }
   },
   watch: {
@@ -191,11 +425,49 @@
       if (!value) return true
       return data.label.indexOf(value) !== -1
     }
+  },
+  handleClose(done) {
+    if (this.loading) {
+      return
+    }
+    this.$confirm('纭畾瑕佹彁浜よ〃鍗曞悧锛�')
+      .then(_ => {
+        this.loading = true
+        this.timer = setTimeout(() => {
+          done()
+          // 鍔ㄧ敾鍏抽棴闇�瑕佷竴瀹氱殑鏃堕棿
+          setTimeout(() => {
+            this.loading = false
+          }, 400)
+        }, 2000)
+      })
+      .catch(_ => {})
   }
 }
 </script>
 
 <style lang="scss" scoped>
+.demo-drawer__content{
+  margin-left: 50px;
+  // margin-right: 5px;
+}
+.demo-drawer__footer {
+  display: flex;
+  justify-content: space-between;
+}
+
+.demo-drawer__footer .el-button--default {
+  background-color: #fff;
+  color: #333;
+  width: 45%;
+}
+
+.demo-drawer__footer .el-button--primary {
+  background-color: #409EFF;
+  color: #fff;
+  width: 45%;
+  margin-right: 60px;
+}
 .ledger-main{
   width: 100%;
   height: 100%;
@@ -235,6 +507,43 @@
     .library-bom{
       flex: 2;
       margin-right: 12px;
+      .bom-item-search{
+        margin-bottom: 12px;
+        ::v-deep .el-input{
+          input{
+            height: 33px;
+            line-height: 33px;
+          }
+        }
+        .tips{
+          height: 33px !important;
+          display: flex;
+          height: 24px;
+          align-items: center;
+          font-size: 16px;
+          // margin-bottom: 12px;
+          >span{
+            display: inline-block;
+            margin-right: 10px;
+            width: 4px;
+            height: 16px;
+            background: #0077DB;
+           }
+           >div{
+              height: 100%;
+              line-height: 36px;
+            }
+            .el-button{
+              padding: 0;
+            }
+        }
+      }
+         .bom-item-search .el-row{
+          // display: flex;
+          .el-col{
+            text-align: right;
+           }
+          }
       .el-tree {
         margin-top: 12px;
         ::v-deep .el-tree-node__content{

--
Gitblit v1.9.3