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