| | |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'App', |
| | | created() { |
| | | // const changeFavicon = link => { |
| | | // let $favicon = document.querySelector('link[rel="icon"]'); |
| | | // if ($favicon !== null) { |
| | | // $favicon.href = link; |
| | | // } else { |
| | | // $favicon = document.createElement("link"); |
| | | // $favicon.rel = "icon"; |
| | | // $favicon.href = link; |
| | | // document.head.appendChild($favicon); |
| | | // } |
| | | // }; |
| | | // let icon = '../../../../../static/img/heisur/logo.png'; // å¾çå°å |
| | | // changeFavicon(icon); // å¨æä¿®æ¹ç½ç«å¾æ |
| | | } |
| | | export default { |
| | | name: "App", |
| | | created() { |
| | | // const changeFavicon = link => { |
| | | // let $favicon = document.querySelector('link[rel="icon"]'); |
| | | // if ($favicon !== null) { |
| | | // $favicon.href = link; |
| | | // } else { |
| | | // $favicon = document.createElement("link"); |
| | | // $favicon.rel = "icon"; |
| | | // $favicon.href = link; |
| | | // document.head.appendChild($favicon); |
| | | // } |
| | | // }; |
| | | // let icon = '../../../../../static/img/heisur/logo.png'; // å¾çå°å |
| | | // changeFavicon(icon); // å¨æä¿®æ¹ç½ç«å¾æ |
| | | } |
| | | }; |
| | | </script> |
| | | <style> |
| | | /* @import url("../static/img/alifont/iconfont.css"); */ |
| | | @import url("//at.alicdn.com/t/c/font_4179845_enf3r8ak8d.css"); |
| | | /* @import url("../static/img/alifont/iconfont.css"); */ |
| | | @import url("//at.alicdn.com/t/c/font_4179845_lomzsmcvwfg.css"); |
| | | |
| | | * { |
| | | margin: 0; |
| | | padding: 0; |
| | | font-size: 16px; |
| | | font-family: "微软é
é»"; |
| | | } |
| | | * { |
| | | margin: 0; |
| | | padding: 0; |
| | | font-size: 16px; |
| | | font-family: "微软é
é»"; |
| | | } |
| | | |
| | | a { |
| | | text-decoration: none; |
| | | } |
| | | a { |
| | | text-decoration: none; |
| | | } |
| | | |
| | | .router-link-active { |
| | | text-decoration: none; |
| | | } |
| | | .router-link-active { |
| | | text-decoration: none; |
| | | } |
| | | |
| | | .el-scrollbar .el-scrollbar__bar { |
| | | opacity: 1 !important; |
| | | } |
| | | .el-scrollbar .el-scrollbar__bar { |
| | | opacity: 1 !important; |
| | | } |
| | | |
| | | .el-select-dropdown__item span,.el-cascader-node__label{ |
| | | font-size: 0.8rem; |
| | | } |
| | | .el-select-dropdown__item span, |
| | | .el-cascader-node__label { |
| | | font-size: 0.8rem; |
| | | } |
| | | |
| | | .el-dialog{ |
| | | border-radius: 6px; |
| | | overflow: hidden; |
| | | margin: 0 !important; |
| | | } |
| | | .el-dialog { |
| | | border-radius: 6px; |
| | | overflow: hidden; |
| | | margin: 0 !important; |
| | | } |
| | | |
| | | .el-dialog__wrapper { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .el-dialog__wrapper { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | input::-webkit-input-placeholder, |
| | | textarea::-webkit-input-placeholder { |
| | | /* Chrome/Opera/Safari */ |
| | | color: #999 !important; |
| | | font-size: 10px; |
| | | } |
| | | input::-webkit-input-placeholder, |
| | | textarea::-webkit-input-placeholder { |
| | | /* Chrome/Opera/Safari */ |
| | | color: #999 !important; |
| | | font-size: 10px; |
| | | } |
| | | |
| | | input::-moz-placeholder, |
| | | textarea::-moz-placeholder { |
| | | /* Firefox 19+ */ |
| | | color: #999 !important; |
| | | font-size: 10px; |
| | | } |
| | | input::-moz-placeholder, |
| | | textarea::-moz-placeholder { |
| | | /* Firefox 19+ */ |
| | | color: #999 !important; |
| | | font-size: 10px; |
| | | } |
| | | |
| | | input:-ms-input-placeholder, |
| | | textarea:-ms-input-placeholder { |
| | | /* IE 10+ */ |
| | | color: #999 !important; |
| | | font-size: 10px; |
| | | } |
| | | input:-ms-input-placeholder, |
| | | textarea:-ms-input-placeholder { |
| | | /* IE 10+ */ |
| | | color: #999 !important; |
| | | font-size: 10px; |
| | | } |
| | | |
| | | input:-moz-placeholder, |
| | | textarea:-moz-placeholder { |
| | | /* Firefox 18- */ |
| | | color: #999 !important; |
| | | font-size: 10px; |
| | | } |
| | | input:-moz-placeholder, |
| | | textarea:-moz-placeholder { |
| | | /* Firefox 18- */ |
| | | color: #999 !important; |
| | | font-size: 10px; |
| | | } |
| | | |
| | | .el-message p{ |
| | | color: #666 !important; |
| | | font-size: 12px; |
| | | } |
| | | .el-message p { |
| | | color: #666 !important; |
| | | font-size: 12px; |
| | | } |
| | | |
| | | .el-message{ |
| | | background-color: #fff; |
| | | border: 1px solid rgba(0, 0, 0, 0.1); |
| | | padding: 6px 10px; |
| | | min-width: 0; |
| | | border-radius: 6px; |
| | | } |
| | | .el-message { |
| | | background-color: #fff; |
| | | border: 1px solid rgba(0, 0, 0, 0.1); |
| | | padding: 6px 10px; |
| | | min-width: 0; |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | table{ |
| | | border-collapse:collapse; |
| | | } |
| | | table { |
| | | border-collapse: collapse; |
| | | } |
| | | |
| | | .el-popover{ |
| | | padding: 0; |
| | | } |
| | | .el-popover { |
| | | padding: 0; |
| | | } |
| | | |
| | | .el-popper .popper__arrow{ |
| | | display: none ; |
| | | } |
| | | .el-popper .popper__arrow { |
| | | display: none; |
| | | } |
| | | /**ä¿®æ¹å
¨å±çæ»å¨æ¡*/ |
| | | /**æ»å¨æ¡ç宽度*/ |
| | | ::-webkit-scrollbar { |
| | | width: 8px; |
| | | |
| | | width: 8px; |
| | | } |
| | | ::-webkit-scrollbar-thumb { |
| | | background-color: #bdbfc4; |
| | | border-radius: 3px; |
| | | background-color: #bdbfc4; |
| | | border-radius: 3px; |
| | | } |
| | | /* å
¨å±è¡¨æ ¼æ ·å¼ */ |
| | | .el-table th.el-table__cell , |
| | | .has-gutter .el-table__cell { |
| | | background-color: #F0F1F5 !important; |
| | | color: #333; |
| | | } |
| | | .has-gutter .el-table__cell .cell { |
| | | font-size: 16px; |
| | | font-weight: 500; |
| | | } |
| | | .cell { |
| | | color:rgb(51, 51, 51); |
| | | padding-left: 17px !important; |
| | | font-size: 14px; |
| | | } |
| | | .cell span{ |
| | | font-size: 14px; |
| | | font-weight: 400; |
| | | } |
| | | .el-table th.el-table__cell>.cell{ |
| | | font-size: 16px; |
| | | font-weight: 400; |
| | | color:rgb(51, 51, 51); |
| | | } |
| | | .el-table th.el-table__cell, |
| | | .has-gutter .el-table__cell { |
| | | background-color: #f0f1f5 !important; |
| | | color: #333; |
| | | } |
| | | .has-gutter .el-table__cell .cell { |
| | | font-size: 16px; |
| | | font-weight: 500; |
| | | } |
| | | .cell { |
| | | color: rgb(51, 51, 51); |
| | | padding-left: 17px !important; |
| | | font-size: 14px; |
| | | } |
| | | .cell span { |
| | | font-size: 14px; |
| | | font-weight: 400; |
| | | } |
| | | .el-table th.el-table__cell > .cell { |
| | | font-size: 16px; |
| | | font-weight: 400; |
| | | color: rgb(51, 51, 51); |
| | | } |
| | | /* å
¨å±å页卿 ·å¼ */ |
| | | .el-pager .number { |
| | | font-size: 14px; |
| | | border: 1px solid rgba(0, 0, 0, 0.2); |
| | | border-radius: 4px; |
| | | margin: 0 2px; |
| | | color: #999; |
| | | font-weight: 500; |
| | | } |
| | | .el-pager .number.active { |
| | | background-color: #004EA2; |
| | | color: #fff; |
| | | border: 0; |
| | | } |
| | | /* å
¨å±æ¨¡ææ¡æ ·å¼ */ |
| | | .el-dialog__header{ |
| | | box-sizing: border-box; |
| | | height: 56px; |
| | | border-bottom: 1px solid rgb(238, 238, 238); |
| | | padding: 0px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .el-dialog__header::before{ |
| | | content: ''; |
| | | display: inline-block; |
| | | width: 4px; |
| | | height: 30.24px; |
| | | background: rgb(0, 95, 201); |
| | | border-radius:10px; |
| | | margin-left: 32px; |
| | | margin-right: 8.5px; |
| | | } |
| | | .el-dialog__header .el-dialog__title{ |
| | | font-size: 16px !important; |
| | | } |
| | | .el-pager .number { |
| | | font-size: 14px; |
| | | border: 1px solid rgba(0, 0, 0, 0.2); |
| | | border-radius: 4px; |
| | | margin: 0 2px; |
| | | color: #999; |
| | | font-weight: 500; |
| | | } |
| | | .el-pager .number.active { |
| | | background-color: #004ea2; |
| | | color: #fff; |
| | | border: 0; |
| | | } |
| | | /* å
¨å±æ¨¡ææ¡æ ·å¼ */ |
| | | .el-dialog__header { |
| | | box-sizing: border-box; |
| | | height: 56px; |
| | | border-bottom: 1px solid rgb(238, 238, 238); |
| | | padding: 0px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .el-dialog__header::before { |
| | | content: ""; |
| | | display: inline-block; |
| | | width: 4px; |
| | | height: 30.24px; |
| | | background: rgb(0, 95, 201); |
| | | border-radius: 10px; |
| | | margin-left: 32px; |
| | | margin-right: 8.5px; |
| | | } |
| | | .el-dialog__header .el-dialog__title { |
| | | font-size: 16px !important; |
| | | } |
| | | |
| | | .el-dialog__footer .el-button *{ |
| | | font-size: 14px !important; |
| | | } |
| | | .el-dialog__footer .el-button * { |
| | | font-size: 14px !important; |
| | | } |
| | | |
| | | .el-dialog__footer .el-button{ |
| | | height: 36px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 14px; |
| | | } |
| | | .el-dialog__footer .el-button { |
| | | height: 36px; |
| | | border: 1px solid rgba(190, 190, 190, 0.44); |
| | | box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); |
| | | padding: 0 14px; |
| | | } |
| | | |
| | | .el-button--primary{ |
| | | background: #004EA2; |
| | | } |
| | | .el-button--primary { |
| | | background: #004ea2; |
| | | } |
| | | |
| | | .el-dialog__body{ |
| | | padding: 15px 20px; |
| | | } |
| | | .el-dialog__body { |
| | | padding: 15px 20px; |
| | | } |
| | | |
| | | .el-input.is-disabled input{ |
| | | color: #666 !important; |
| | | background-color: rgba(0, 0, 0, 0.05) !important; |
| | | } |
| | | /* å
¨å±è¾å
¥æ¡æ ·å¼ */ |
| | | /* å
¨å±æé®æ ·å¼ */ |
| | | .el-input.is-disabled input { |
| | | color: #666 !important; |
| | | background-color: rgba(0, 0, 0, 0.05) !important; |
| | | } |
| | | /* å
¨å±è¾å
¥æ¡æ ·å¼ */ |
| | | /* å
¨å±æé®æ ·å¼ */ |
| | | </style> |
| | |
| | | <el-row> |
| | | <el-col :span="12" class="top_left_name">å®éªå®¤ç®¡ç</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button @click="testItem()" type="primary" size="mini" icon="el-icon-plus" style="background: #004EA2; ">æ°å¢ä»ªå¨è®¾å¤</el-button> |
| | | <el-button |
| | | @click="testItem()" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-plus" |
| | | style="background: #004EA2; " |
| | | >æ°å¢ä»ªå¨è®¾å¤</el-button |
| | | > |
| | | <el-dialog |
| | | title="æ°å¢ä»ªå¨è®¾å¤" |
| | | :visible.sync="dialogVisible" |
| | | width="750px" |
| | | :before-close="handleClose"> |
| | | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="demo-ruleForm"> |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form |
| | | :model="ruleForm" |
| | | :rules="rules" |
| | | ref="ruleForm" |
| | | label-width="130px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设å¤åç§°" prop="name"> |
| | | <el-input placeholder="请è¾å
¥ä»ªå¨è®¾å¤ç¼å·" style="width: 206px" clearable v-model="ruleForm.name"></el-input> |
| | | <el-input |
| | | placeholder="请è¾å
¥ä»ªå¨è®¾å¤ç¼å·" |
| | | style="width: 206px" |
| | | clearable |
| | | v-model="ruleForm.name" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设å¤ç¨é" prop="type"> |
| | | <el-select v-model="ruleForm.type" placeholder="è¯·éæ©è®¾å¤ç¨é"> |
| | | <el-select |
| | | v-model="ruleForm.type" |
| | | placeholder="è¯·éæ©è®¾å¤ç¨é" |
| | | > |
| | | <el-option label="ç产设å¤" value="1"></el-option> |
| | | <el-option label="æ£æµè®¾å¤" value="2"></el-option> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ç¶çº§åç±»"> |
| | | <el-select v-model="value" @blur="productSelect" filterable allow-create placeholder="è¯·éæ©ç¶çº§åç±»"> |
| | | <el-select |
| | | v-model="value" |
| | | @blur="productSelect" |
| | | filterable |
| | | allow-create |
| | | placeholder="è¯·éæ©ç¶çº§åç±»" |
| | | > |
| | | <el-option |
| | | v-for="list in parentClassificationList" |
| | | :key="list.index" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="仪å¨è®¾å¤ç¼å·" prop="name"> |
| | | <el-input placeholder="请è¾å
¥ä»ªå¨è®¾å¤ç¼å·" style="width: 206px" clearable v-model="ruleForm.code"></el-input> |
| | | <el-input |
| | | placeholder="请è¾å
¥ä»ªå¨è®¾å¤ç¼å·" |
| | | style="width: 206px" |
| | | clearable |
| | | v-model="ruleForm.code" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ä¿ç®¡äºº" prop="keeper"> |
| | | <el-select v-model="ruleForm.keeper" placeholder="è¯·éæ©ä¿ç®¡äºº"> |
| | | <el-select |
| | | v-model="ruleForm.keeper" |
| | | placeholder="è¯·éæ©ä¿ç®¡äºº" |
| | | > |
| | | <el-option |
| | | v-for="list in keeperList" |
| | | :key="list.index" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设å¤ç¶æ" prop="deviceStatus" required> |
| | | <el-select v-model="ruleForm.deviceStatus" placeholder="è¯·éæ©è®¾å¤ç¶æ"> |
| | | <el-option label="è¿è¡" style="color: #66c03b" value="1"></el-option> |
| | | <el-option label="æ¥åº" style="color: #ac9299" value="2"></el-option> |
| | | <el-option label="æ£ä¿®" style="color: #52d6c0" value="3"></el-option> |
| | | <el-option label="æ
é" style="color: #f36b6c" value="4"></el-option> |
| | | <el-option label="空é²" style="color: #fcb642" value="5"></el-option> |
| | | <el-select |
| | | v-model="ruleForm.deviceStatus" |
| | | placeholder="è¯·éæ©è®¾å¤ç¶æ" |
| | | > |
| | | <el-option |
| | | label="è¿è¡" |
| | | style="color: #66c03b" |
| | | value="1" |
| | | ></el-option> |
| | | <el-option |
| | | label="æ¥åº" |
| | | style="color: #ac9299" |
| | | value="2" |
| | | ></el-option> |
| | | <el-option |
| | | label="æ£ä¿®" |
| | | style="color: #52d6c0" |
| | | value="3" |
| | | ></el-option> |
| | | <el-option |
| | | label="æ
é" |
| | | style="color: #f36b6c" |
| | | value="4" |
| | | ></el-option> |
| | | <el-option |
| | | label="空é²" |
| | | style="color: #fcb642" |
| | | value="5" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åå®¶" prop="factory" required> |
| | | <el-input style="width: 206px" placeholder="请è¾å
¥åå®¶" clearable v-model="ruleForm.factory"></el-input> |
| | | <el-input |
| | | style="width: 206px" |
| | | placeholder="请è¾å
¥åå®¶" |
| | | clearable |
| | | v-model="ruleForm.factory" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ£æµé¡¹ç®" prop="rawInsProductId" required> |
| | | <el-select v-model="ruleForm.rawInsProductId" placeholder="è¯·éæ©æ£æµé¡¹ç®"> |
| | | <el-option v-for="item in inspectionList" |
| | | :key="item.index" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | <el-select |
| | | v-model="ruleForm.rawInsProductId" |
| | | placeholder="è¯·éæ©æ£æµé¡¹ç®" |
| | | > |
| | | <el-option |
| | | v-for="item in inspectionList" |
| | | :key="item.index" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | placeholder="æ£æµæ ·å" |
| | | :disabled="true" |
| | | style="width: 206px" |
| | | v-model="showCodeNameModel.name"> |
| | | v-model="showCodeNameModel.name" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-form-item> |
| | |
| | | placeholder="è§æ ¼åå·" |
| | | :disabled="true" |
| | | style="width: 206px" |
| | | v-model="showCodeNameModel.specifications"> |
| | | v-model="showCodeNameModel.specifications" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | placeholder="æ£æµäºº" |
| | | :disabled="true" |
| | | style="width: 206px" |
| | | v-model="showCodeNameModel.user_name"> |
| | | v-model="showCodeNameModel.user_name" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row class="left_row"> |
| | | <div :style="`width: ${isCollapse?300:0}px;transition: 1s;opacity: ${isCollapse?1:0};`" class="class_sidebar"> |
| | | <el-radio-group class="ai-tab-change" style="width: 270px; margin-top: 5px" v-model="radio1"> |
| | | <div |
| | | :style=" |
| | | `width: ${isCollapse ? 300 : 0}px;transition: 1s;opacity: ${ |
| | | isCollapse ? 1 : 0 |
| | | };` |
| | | " |
| | | class="class_sidebar" |
| | | > |
| | | <el-radio-group |
| | | class="ai-tab-change" |
| | | style="width: 270px; margin-top: 5px" |
| | | v-model="radio1" |
| | | > |
| | | <el-radio-button size="small" label="true"> |
| | | <div class="el_radio_button_div">ç产设å¤</div> |
| | | <div>ç产设å¤</div> |
| | | </el-radio-button> |
| | | <el-radio-button size="small" label="false"> |
| | | <div class="el_radio_button_div">æ£æµè®¾å¤</div> |
| | | <div>æ£æµè®¾å¤</div> |
| | | </el-radio-button> |
| | | </el-radio-group> |
| | | <el-input |
| | |
| | | placeholder="请è¾å
¥åç±»åç§°" |
| | | size="small" |
| | | > |
| | | <i slot="suffix" class="el-icon-search" style="font-size: 23px; padding: 5px 0;cursor:pointer;" @click="handlerDeptList"></i> |
| | | <i |
| | | slot="suffix" |
| | | class="el-icon-search" |
| | | style="font-size: 23px; padding: 5px 0;cursor:pointer;" |
| | | @click="handlerDeptList" |
| | | ></i> |
| | | </el-input> |
| | | <el-tree |
| | | :data="towTree" ref="tree" |
| | | :props="{children: 'children',label: 'father'}" |
| | | :data="towTree" |
| | | ref="tree" |
| | | :props="{ children: 'children', label: 'father' }" |
| | | node-key="id" |
| | | default-expand-all |
| | | @node-click="handleNodeClick" |
| | | > |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <span><i :class="`node_i ${data.code != '[4]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> |
| | | {{ data.name }}</span> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </div> |
| | | > |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <span |
| | | ><i |
| | | :class=" |
| | | `node_i ${ |
| | | data.code != '[4]' |
| | | ? 'el-icon-folder-opened' |
| | | : 'el-icon-tickets' |
| | | }` |
| | | " |
| | | ></i> |
| | | {{ data.name }}</span |
| | | > |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <div class="table_div" :style="`width: calc(100vw - ${isCollapse?'475':'170'}px);`"> |
| | | <div :title="isCollapse ? 'ç¹å»å±å¼' : 'ç¹å»æ¶èµ·'" class="box_bgd" @click="isC"> |
| | | <div |
| | | class="table_div" |
| | | :style="`width: calc(100vw - ${isCollapse ? '475' : '170'}px);`" |
| | | > |
| | | <div |
| | | :title="isCollapse ? 'ç¹å»å±å¼' : 'ç¹å»æ¶èµ·'" |
| | | class="box_bgd" |
| | | @click="isC" |
| | | > |
| | | <div class="upper_triangle"></div> |
| | | <div class="corner"> |
| | | <!-- ç¹å»å±å¼æ¶èµ·å¯¼èªå忢坹åºå¾æ --> |
| | | <i :class="!isCollapse ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"></i> |
| | | <i |
| | | :class=" |
| | | !isCollapse ? 'el-icon-arrow-left' : 'el-icon-arrow-right' |
| | | " |
| | | ></i> |
| | | </div> |
| | | <div class="under_triangle"></div> |
| | | </div> |
| | |
| | | v-model="codeNameModel" |
| | | prefix-icon="el-icon-search" |
| | | placeholder="请è¾å
¥ç¼å·/设å¤åç§°/åå·è§æ ¼" |
| | | clearable> |
| | | clearable |
| | | > |
| | | </el-input> |
| | | <el-button size="mini" @click="reset"><span>é ç½®</span></el-button> |
| | | <el-button size="mini" type="primary" @click="selectSearch" style="background: #004EA2;"><span>æ¥ è¯¢</span></el-button> |
| | | <el-select v-model="value" size="small" placeholder="è¯·éæ©è®¾å¤ç¶æ" class="table_top"> |
| | | <el-option label="è¿è¡" style="color: #66c03b" value="1"></el-option> |
| | | <el-option label="æ¥åº" style="color: #ac9299" value="2"></el-option> |
| | | <el-option label="æ£ä¿®" style="color: #52d6c0" value="3"></el-option> |
| | | <el-option label="æ
é" style="color: #f36b6c" value="4"></el-option> |
| | | <el-option label="空é²" style="color: #fcb642" value="5"></el-option> |
| | | <el-button |
| | | size="mini" |
| | | type="primary" |
| | | @click="selectSearch" |
| | | style="background: #004EA2;" |
| | | ><span>æ¥ è¯¢</span></el-button |
| | | > |
| | | <el-select |
| | | @change="staueValueChange" |
| | | v-model="staue_value" |
| | | size="small" |
| | | placeholder="è¯·éæ©è®¾å¤ç¶æ" |
| | | class="table_top" |
| | | > |
| | | <el-option |
| | | label="è¿è¡" |
| | | style="color: #66c03b" |
| | | value="1" |
| | | ></el-option> |
| | | <el-option |
| | | label="æ¥åº" |
| | | style="color: #ac9299" |
| | | value="2" |
| | | ></el-option> |
| | | <el-option |
| | | label="æ£ä¿®" |
| | | style="color: #52d6c0" |
| | | value="3" |
| | | ></el-option> |
| | | <el-option |
| | | label="æ
é" |
| | | style="color: #f36b6c" |
| | | value="4" |
| | | ></el-option> |
| | | <el-option |
| | | label="空é²" |
| | | style="color: #fcb642" |
| | | value="5" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | height="calc(100vh - 220px)" |
| | | style="padding: 10px;"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="åºå·" |
| | | width="60"> |
| | | style="padding: 10px;" |
| | | > |
| | | <el-table-column prop="date" label="åºå·" width="60"> |
| | | <template v-slot="scope"> |
| | | {{ scope.$index + 1 }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="code" |
| | | label="仪å¨è®¾å¤ç¼å·" |
| | | width="125"> |
| | | <el-table-column prop="code" label="仪å¨è®¾å¤ç¼å·" width="125"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="仪å¨è®¾å¤åç§°" |
| | | width="125"> |
| | | <el-table-column prop="name" label="仪å¨è®¾å¤åç§°" width="125"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="keeper" |
| | | label="ä¿ç®¡äºº"> |
| | | </el-table-column> |
| | | <el-table-column prop="keeper" label="ä¿ç®¡äºº"> </el-table-column> |
| | | <el-table-column |
| | | prop="end_measure" |
| | | label="è®¡éæªè³æææ" |
| | | width="147"> |
| | | width="147" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="device_status" |
| | | label="使ç¨ç¶æ"> |
| | | <el-table-column prop="device_status" label="使ç¨ç¶æ"> |
| | | <template slot-scope="scope"> |
| | | <el-tag v-if="scope.row.device_status==1" disable-transitions type="success">è¿è¡</el-tag> |
| | | <el-tag v-else-if="scope.row.device_status==2" disable-transitions type="info">æ¥åº</el-tag> |
| | | <el-tag v-else-if="scope.row.device_status==3" style="color: #52d6c0" disable-transitions type="info">æ£ä¿®</el-tag> |
| | | <el-tag v-else-if="scope.row.device_status==4" disable-transitions type="danger">æ
é</el-tag> |
| | | <el-tag v-else-if="scope.row.device_status==5" style="color: #fcb642" disable-transitions type="info">空é²</el-tag> |
| | | <el-tag |
| | | v-if="scope.row.device_status == 1" |
| | | disable-transitions |
| | | type="success" |
| | | >è¿è¡</el-tag |
| | | > |
| | | <el-tag |
| | | v-else-if="scope.row.device_status == 2" |
| | | disable-transitions |
| | | type="info" |
| | | >æ¥åº</el-tag |
| | | > |
| | | <el-tag |
| | | v-else-if="scope.row.device_status == 3" |
| | | style="color: #52d6c0" |
| | | disable-transitions |
| | | type="info" |
| | | >æ£ä¿®</el-tag |
| | | > |
| | | <el-tag |
| | | v-else-if="scope.row.device_status == 4" |
| | | disable-transitions |
| | | type="danger" |
| | | >æ
é</el-tag |
| | | > |
| | | <el-tag |
| | | v-else-if="scope.row.device_status == 5" |
| | | style="color: #fcb642" |
| | | disable-transitions |
| | | type="info" |
| | | >空é²</el-tag |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="factory" |
| | | label="åå®¶" |
| | | :show-overflow-tooltip="true"> |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="inspectProject" |
| | | label="æ£æµé¡¹ç®"> |
| | | <el-table-column prop="inspectProject" label="æ£æµé¡¹ç®"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="testSample" |
| | | label="æ£éªæ ·å"> |
| | | <el-table-column prop="testSample" label="æ£éªæ ·å"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="user_name" |
| | | label="æ£æµäºº"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æä½"> |
| | | <el-table-column prop="user_name" label="æ£æµäºº"> </el-table-column> |
| | | <el-table-column prop="name" label="æä½"> |
| | | <template v-slot="scope"> |
| | | <el-button @click="handleClick(scope.$index, tableData, scope.row)" type="text" size="small">å é¤</el-button> |
| | | <el-button |
| | | @click="handleClick(scope.$index, tableData, scope.row)" |
| | | type="text" |
| | | size="small" |
| | | >å é¤</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | name: "LaboratoryManagement", |
| | | data() { |
| | | return { |
| | | value: '', |
| | | value: "", |
| | | dialogVisible: false, |
| | | isCollapse: true, //é»è®¤ä¸ºå±å¼ |
| | | radio1: 'true', // åç±»åæ¢ |
| | | tableData: [], |
| | | radio1: "true", // åç±»åæ¢ |
| | | tableData: [], // ä¸»é¡µè¡¨æ ¼æ°æ® |
| | | inspectionList: [], //æ£éªé¡¹ç®ä¸ææ¡å表 |
| | | showCodeNameModel: {}, // æ°å¢ä»ªå¨å±ç¤ºç¦æ¢æ¡ |
| | | keeperList: [], // æ°å¢è®¾å¤ä¿ç®¡äººä¸ææ¡ |
| | | parentClassificationList: [], // æ°å¢è®¾å¤ç¶çº§åç±»ä¸ææ¡ |
| | | search_class: '', // åç±»æç´¢æ¡å
容 |
| | | codeNameModel: '', // ç¼ç åç§°åå·æ¨¡ç³æ¥è¯¢ |
| | | search_class: "", // åç±»æç´¢æ¡å
容 |
| | | codeNameModel: "", // ç¼ç åç§°åå·æ¨¡ç³æ¥è¯¢ |
| | | staue_value: "", // ä¸»é¡µè¡¨æ ¼ä¸æ¹çç¶æéæ© |
| | | // BOMæ æ°æ®ç»æ |
| | | towTree: [], |
| | | ruleForm: { |
| | | code: '', |
| | | father: '', |
| | | deviceStatus: '', |
| | | endMeasure: '', |
| | | factory: '', |
| | | keeper: '', |
| | | name: '', |
| | | rawInsProductId: '', |
| | | type: '' |
| | | // æ°å¢ä»ªå¨è¡¨å |
| | | code: "", |
| | | father: "", |
| | | deviceStatus: "", |
| | | endMeasure: "", |
| | | factory: "", |
| | | keeper: "", |
| | | name: "", |
| | | rawInsProductId: "", |
| | | type: "" |
| | | }, |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: '请è¾å
¥ä»ªå¨è®¾å¤ç¼å·', trigger: 'blur' }, |
| | | { min: 2, max: 25, message: 'é¿åº¦å¨ 2 å° 25 个å符', trigger: 'blur' } |
| | | { required: true, message: "请è¾å
¥ä»ªå¨è®¾å¤ç¼å·", trigger: "blur" }, |
| | | { min: 2, max: 25, message: "é¿åº¦å¨ 2 å° 25 个å符", trigger: "blur" } |
| | | ], |
| | | keeper: [ |
| | | { required: true, message: 'è¯·éæ©ä¿ç®¡äºº', trigger: 'change' } |
| | | { required: true, message: "è¯·éæ©ä¿ç®¡äºº", trigger: "change" } |
| | | ], |
| | | endMeasure: [ |
| | | { type: 'date', required: true, message: 'è¯·éæ©è®¡éæªè³æææ', trigger: 'change' } |
| | | { |
| | | type: "date", |
| | | required: true, |
| | | message: "è¯·éæ©è®¡éæªè³æææ", |
| | | trigger: "change" |
| | | } |
| | | ], |
| | | deviceStatus: [ |
| | | { required: true, message: 'è¯·éæ©è®¾å¤ç¶æ', trigger: 'change' } |
| | | { required: true, message: "è¯·éæ©è®¾å¤ç¶æ", trigger: "change" } |
| | | ], |
| | | factory: [ |
| | | { required: true, message: '请è¾å
¥åå®¶', trigger: 'blur' }, |
| | | { min: 2, max: 25, message: 'é¿åº¦å¨ 2 å° 50 个å符', trigger: 'blur' } |
| | | { required: true, message: "请è¾å
¥åå®¶", trigger: "blur" }, |
| | | { min: 2, max: 25, message: "é¿åº¦å¨ 2 å° 50 个å符", trigger: "blur" } |
| | | ], |
| | | rawInsProductId: [ |
| | | { required: true, message: 'è¯·éæ©æ£æµé¡¹ç®', trigger: 'change' } |
| | | { required: true, message: "è¯·éæ©æ£æµé¡¹ç®", trigger: "change" } |
| | | ], |
| | | type: [ |
| | | { required: true, message: 'è¯·éæ©è®¾å¤ç¨é', trigger: 'change' } |
| | | ] |
| | | type: [{ required: true, message: "è¯·éæ©è®¾å¤ç¨é", trigger: "change" }] |
| | | }, |
| | | pickerOptions:{ |
| | | pickerOptions: { |
| | | //ç¦ç¨å½åæ¥æä¹åçæ¥æ |
| | | disabledDate(time) { |
| | | //Date.now()æ¯javascriptä¸çå
ç½®å½æ°ï¼å®è¿åèª1970å¹´1æ1æ¥00:00:00 UTC以æ¥ç»è¿çæ¯«ç§æ°ã |
| | | return time.getTime() < Date.now() - 8.64e7; |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | }; |
| | | }, |
| | | methods: { |
| | | // 卿æ§å¶å±å¼ä¸æ¶èµ·å忢坹åºå¾æ |
| | |
| | | }, |
| | | productSelect(e) { |
| | | let value = e.target.value; // è¾å
¥æ¡å¼ |
| | | if(value) { // ä½ è¾å
¥ææè¿ä¸ªå¼ ä¸ä¸ºç©ºï¼å¦æä½ 䏿æ¡éæ©çè¯ è¿ä¸ªå¼ä¸ºç©º |
| | | this.value = value |
| | | if (value) { |
| | | // ä½ è¾å
¥ææè¿ä¸ªå¼ ä¸ä¸ºç©ºï¼å¦æä½ 䏿æ¡éæ©çè¯ è¿ä¸ªå¼ä¸ºç©º |
| | | this.value = value; |
| | | } |
| | | }, |
| | | submitForm() { |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | this.$refs.ruleForm.validate(valid => { |
| | | if (valid) { |
| | | this.ruleForm.father = this.value |
| | | this.$axios.post(this.$api.url.addDeviceInstrument, this.ruleForm,{ |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.keeperList = res.data |
| | | // æåå
³éæ°å¢å¼¹åºæ¡ |
| | | this.dialogVisible = false |
| | | }) |
| | | this.ruleForm.father = this.value; |
| | | this.$axios |
| | | .post(this.$api.url.addDeviceInstrument, this.ruleForm, { |
| | | headers: { |
| | | "Content-Type": "application/json" |
| | | } |
| | | }) |
| | | .then(res => { |
| | | this.keeperList = res.data; |
| | | // æåå
³éæ°å¢å¼¹åºæ¡ |
| | | this.dialogVisible = false; |
| | | }); |
| | | } else { |
| | | console.log('error submit!!'); |
| | | console.log("error submit!!"); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | handleClose(done) { |
| | | this.$confirm('确认å
³éï¼') |
| | | this.$confirm("确认å
³éï¼") |
| | | .then(_ => { |
| | | done(); |
| | | }) |
| | | .catch(_ => {}); |
| | | }, |
| | | testItem() { |
| | | this.dialogVisible = true |
| | | this.dialogVisible = true; |
| | | this.$axios.get(this.$api.url.addDeviceKeeper).then(res => { |
| | | this.keeperList = res.data |
| | | }) |
| | | this.keeperList = res.data; |
| | | }); |
| | | this.$axios.get(this.$api.url.addDeviceInspectDownBox).then(res => { |
| | | this.inspectionList = res.data |
| | | }) |
| | | this.inspectionList = res.data; |
| | | }); |
| | | this.$axios.get(this.$api.url.addDeviceParentClassification).then(res => { |
| | | this.parentClassificationList = res.data |
| | | }) |
| | | this.parentClassificationList = res.data; |
| | | }); |
| | | }, |
| | | twoTreeApi() { |
| | | this.$axios.get(this.$api.url.towTree).then(res => { |
| | | let list = res.data |
| | | let list = res.data; |
| | | list.forEach(i => { |
| | | if (i.name === undefined){ |
| | | i.name = i.children[0].name |
| | | i.children = undefined |
| | | if (i.name === undefined) { |
| | | i.name = i.children[0].name; |
| | | i.id = i.children[0].id; |
| | | i.children = undefined; |
| | | } |
| | | }) |
| | | this.towTree = res.data |
| | | }) |
| | | }); |
| | | this.towTree = res.data; |
| | | }); |
| | | }, |
| | | tableDataApi() { |
| | | this.$axios.get(this.$api.url.tableDeviceList).then(res => { |
| | | this.tableData = res.data |
| | | }) |
| | | this.tableData = res.data; |
| | | }); |
| | | }, |
| | | reset() { |
| | | this.tableDataApi() |
| | | this.radio1 = 'true' |
| | | this.codeNameModel = '' |
| | | this.tableDataApi(); |
| | | this.radio1 = "true"; |
| | | this.codeNameModel = ""; |
| | | this.staue_value = ""; |
| | | }, |
| | | handleNodeClick(data) { |
| | | if (data.id === undefined) { |
| | | this.$axios.get(this.$api.url.tableDeviceList, {params: {fatherName: data.name}}).then(res => { |
| | | this.tableData = res.data |
| | | }) |
| | | } else if (data.id !== undefined){ |
| | | this.$axios.get(this.$api.url.tableDeviceList, {params: {deviceId: data.id}}).then(res => { |
| | | this.tableData = res.data |
| | | }) |
| | | this.$axios |
| | | .get(this.$api.url.tableDeviceList, { |
| | | params: { fatherName: data.name } |
| | | }) |
| | | .then(res => { |
| | | this.tableData = res.data; |
| | | }); |
| | | } else if (data.id !== undefined) { |
| | | this.$axios |
| | | .get(this.$api.url.tableDeviceList, { params: { deviceId: data.id } }) |
| | | .then(res => { |
| | | this.tableData = res.data; |
| | | }); |
| | | } |
| | | }, |
| | | handlerDeptList() { |
| | | this.towTree = [] |
| | | let val = 1 |
| | | if (this.radio1 === "false"){ |
| | | val = 2 |
| | | this.towTree = []; |
| | | let val = 1; |
| | | if (this.radio1 === "false") { |
| | | val = 2; |
| | | } |
| | | this.$axios.get(this.$api.url.towTree, {params: {type: val, search_class: this.search_class}}).then(res => { |
| | | this.towTree = res.data |
| | | }) |
| | | this.$axios |
| | | .get(this.$api.url.towTree, { |
| | | params: { type: val, search_class: this.search_class } |
| | | }) |
| | | .then(res => { |
| | | this.towTree = res.data; |
| | | }); |
| | | }, |
| | | selectSearch() { |
| | | this.tableData = [] |
| | | if (this.radio1 === 'false'){ |
| | | this.$axios.get(this.$api.url.tableDeviceList, {params: {type: 1, codeNameModel: this.codeNameModel}}).then(res => { |
| | | this.tableData = res.data |
| | | }) |
| | | } else if (this.radio1 === 'true') { |
| | | this.$axios.get(this.$api.url.tableDeviceList, {params: {type: 2, codeNameModel: this.codeNameModel}}).then(res => { |
| | | this.tableData = res.data |
| | | }) |
| | | this.tableData = []; |
| | | if (this.radio1 === "false") { |
| | | this.$axios |
| | | .get(this.$api.url.tableDeviceList, { |
| | | params: { type: 1, codeNameModel: this.codeNameModel } |
| | | }) |
| | | .then(res => { |
| | | this.tableData = res.data; |
| | | }); |
| | | } else if (this.radio1 === "true") { |
| | | this.$axios |
| | | .get(this.$api.url.tableDeviceList, { |
| | | params: { type: 2, codeNameModel: this.codeNameModel } |
| | | }) |
| | | .then(res => { |
| | | this.tableData = res.data; |
| | | }); |
| | | } |
| | | }, |
| | | handleClick(index, datas, row) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥è®¾å¤, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | this.$confirm("æ¤æä½å°æ°¸ä¹
å é¤è¯¥è®¾å¤, æ¯å¦ç»§ç»?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.$axios.delete(this.$api.url.deleteDevice,{params: {deviceId: row.id}}).then(res => { |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'success' |
| | | this.$axios |
| | | .delete(this.$api.url.deleteDevice, { params: { deviceId: row.id } }) |
| | | .then(res => { |
| | | this.$message({ |
| | | message: res.message, |
| | | type: "success" |
| | | }); |
| | | datas.splice(index, 1); |
| | | }) |
| | | .catch(err => { |
| | | this.$message({ |
| | | message: err.message, |
| | | type: "warning" |
| | | }); |
| | | }); |
| | | datas.splice(index, 1); |
| | | }).catch(err => { |
| | | this.$message({ |
| | | message: err.message, |
| | | type: 'warning' |
| | | }); |
| | | }) |
| | | }) |
| | | }); |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥è®¾å¤, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | this.$confirm("æ¤æä½å°æ°¸ä¹
å é¤è¯¥è®¾å¤, æ¯å¦ç»§ç»?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning" |
| | | }).then(() => { |
| | | console.log(data) |
| | | let val = ''; |
| | | if(data.id === undefined && data.children === undefined ) { |
| | | this.$axios.delete(this.$api.url.deleteIdorFather,{params: {deviceFather: data.name}}).then(res => { |
| | | if (res.code === 200){ |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'success' |
| | | }); |
| | | this.handlerDeptList() |
| | | this.selectSearch() |
| | | } else { |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'warning' |
| | | }); |
| | | } |
| | | }) |
| | | } else if (data.id !== undefined){ |
| | | this.$axios.delete(this.$api.url.deleteIdorFather,{params: {id: data.id}}).then(res => { |
| | | if (res.code === 200){ |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'success' |
| | | }); |
| | | this.handlerDeptList() |
| | | this.selectSearch() |
| | | } else { |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'warning' |
| | | }); |
| | | } |
| | | }) |
| | | console.log(`output->data`, data); |
| | | let val = 1; |
| | | if (this.radio1 === "false") { |
| | | val = 2; |
| | | } |
| | | }) |
| | | if (data.id === undefined) { |
| | | console.log(`output->æ§è¡å`, "+++++++++++++++"); |
| | | this.$axios |
| | | .delete(this.$api.url.deleteIdorFather, { |
| | | params: { deviceFather: data.name, type: val } |
| | | }) |
| | | .then(res => { |
| | | if (res.code === 200) { |
| | | this.$message({ |
| | | message: res.message, |
| | | type: "success" |
| | | }); |
| | | this.handlerDeptList(); |
| | | this.selectSearch(); |
| | | } else { |
| | | this.$message({ |
| | | message: res.message, |
| | | type: "warning" |
| | | }); |
| | | } |
| | | }); |
| | | } else if (data.id !== undefined) { |
| | | console.log(`output->æ§è¡å`, "----------------"); |
| | | this.$axios |
| | | .delete(this.$api.url.deleteIdorFather, { params: { id: data.id } }) |
| | | .then(res => { |
| | | if (res.code === 200) { |
| | | this.$message({ |
| | | message: res.message, |
| | | type: "success" |
| | | }); |
| | | this.handlerDeptList(); |
| | | this.selectSearch(); |
| | | } else { |
| | | this.$message({ |
| | | message: res.message, |
| | | type: "warning" |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | staueValueChange() { |
| | | this.tableData = []; |
| | | let val = 1; |
| | | if (this.radio1 === "false") { |
| | | val = 2; |
| | | } |
| | | this.$axios |
| | | .get(this.$api.url.tableDeviceList, { |
| | | params: { type: val, deviceStatue: this.staue_value } |
| | | }) |
| | | .then(res => { |
| | | this.tableData = res.data; |
| | | }); |
| | | } |
| | | }, |
| | | mounted() { |
| | | // åå§åè°ç¨äºçº§æ |
| | | this.twoTreeApi() |
| | | this.twoTreeApi(); |
| | | // åå§åè°ç¨è¡¨æ ¼æ°æ® |
| | | this.tableDataApi() |
| | | this.tableDataApi(); |
| | | }, |
| | | watch: { |
| | | 'ruleForm.rawInsProductId': { //çå¬ruleForm.rawInsProductId |
| | | handler: function (newVal, oldVal) { |
| | | if (newVal != null && newVal !== ''){ |
| | | this.$axios.get(this.$api.url.selectDeviceInspectMessage,{params: {inspectId: newVal}}).then(res => { |
| | | this.showCodeNameModel = res.data |
| | | }) |
| | | "ruleForm.rawInsProductId": { |
| | | //çå¬ruleForm.rawInsProductId |
| | | handler: function(newVal, oldVal) { |
| | | if (newVal != null && newVal !== "") { |
| | | this.$axios |
| | | .get(this.$api.url.selectDeviceInspectMessage, { |
| | | params: { inspectId: newVal } |
| | | }) |
| | | .then(res => { |
| | | this.showCodeNameModel = res.data; |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | dialogVisible: { |
| | | handler: function (newVal, oldVal) { |
| | | if (newVal){ |
| | | handler: function(newVal, oldVal) { |
| | | if (newVal) { |
| | | // æåæ¸
空è¾å
¥å
容 |
| | | this.ruleForm = {} |
| | | this.value = '' |
| | | this.showCodeNameModel = {} |
| | | this.$refs.ruleForm.resetFields() |
| | | this.ruleForm = {}; |
| | | this.value = ""; |
| | | this.showCodeNameModel = {}; |
| | | this.$refs.ruleForm.resetFields(); |
| | | } |
| | | } |
| | | }, |
| | | radio1: { |
| | | handler: function (newVal, oldVal) { |
| | | this.towTree = [] |
| | | this.tableData = [] |
| | | if (newVal === "true"){ |
| | | this.twoTreeApi() |
| | | this.tableDataApi() |
| | | handler: function(newVal, oldVal) { |
| | | this.towTree = []; |
| | | this.tableData = []; |
| | | if (newVal === "true") { |
| | | this.twoTreeApi(); |
| | | this.tableDataApi(); |
| | | } else if (newVal === "false") { |
| | | this.$axios.get(this.$api.url.towTree, {params: {type: 2}}).then(res => { |
| | | let list = res.data |
| | | list.forEach(i => { |
| | | if (i.name === undefined){ |
| | | i.name = i.children[0].name |
| | | i.children = undefined |
| | | } |
| | | }) |
| | | this.towTree = res.data |
| | | }) |
| | | this.$axios.get(this.$api.url.tableDeviceList, {params: {type: 2}}).then(res => { |
| | | this.tableData = res.data |
| | | }) |
| | | this.$axios |
| | | .get(this.$api.url.towTree, { params: { type: 2 } }) |
| | | .then(res => { |
| | | let list = res.data; |
| | | list.forEach(i => { |
| | | if (i.name === undefined) { |
| | | i.name = i.children[0].name; |
| | | i.id = i.children[0].id; |
| | | i.children = undefined; |
| | | } |
| | | }); |
| | | this.towTree = res.data; |
| | | }); |
| | | this.$axios |
| | | .get(this.$api.url.tableDeviceList, { params: { type: 2 } }) |
| | | .then(res => { |
| | | this.tableData = res.data; |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | |
| | | background-color: transparent; |
| | | } |
| | | .el-form-item >>> .el-form-item__error { |
| | | color: #F56C6C; |
| | | color: #f56c6c; |
| | | font-size: 12px; |
| | | line-height: 1; |
| | | padding-top: 6px; |
| | |
| | | top: 100%; |
| | | left: 18px; |
| | | } |
| | | /deep/ .el-icon-arrow-left{ |
| | | /deep/ .el-icon-arrow-left { |
| | | display: flex; |
| | | line-height: 60px !important; |
| | | justify-content: center; |
| | | } |
| | | /deep/ .el-icon-arrow-right{ |
| | | /deep/ .el-icon-arrow-right { |
| | | display: flex; |
| | | line-height: 60px !important; |
| | | justify-content: center; |
| | | } |
| | | .top_left_name{ |
| | | .top_left_name { |
| | | padding-left: 20px; |
| | | line-height: 32px; |
| | | } |
| | | .left_row{ |
| | | .left_row { |
| | | height: calc(100vh - 165px); |
| | | margin-top: 9px; |
| | | } |
| | | .frame_input{ |
| | | .frame_input { |
| | | width: 90%; |
| | | margin: 10px 0; |
| | | transition: 1.5s; |
| | | } |
| | | .table_top_div{ |
| | | .table_top_div { |
| | | margin-left: 20px; |
| | | padding-top: 15px; |
| | | padding-bottom: 15px |
| | | padding-bottom: 15px; |
| | | } |
| | | .el-dialog__footer { |
| | | padding: 0px 20px 20px; |
| | |
| | | -webkit-box-sizing: border-box; |
| | | box-sizing: border-box; |
| | | } |
| | | .table_top{ |
| | | .table_top { |
| | | float: right; |
| | | width: 224px; |
| | | margin-right: 52px; |
| | | } |
| | | .main_table_div{ |
| | | .main_table_div { |
| | | background-color: #fbfbfd; |
| | | height: 100%; |
| | | } |
| | | .dialog-footer{ |
| | | .dialog-footer { |
| | | display: block; |
| | | text-align:center |
| | | text-align: center; |
| | | } |
| | | .table_div{ |
| | | .table_div { |
| | | padding-left: 5px; |
| | | transition: 1s; |
| | | float: left; |
| | | position: relative |
| | | position: relative; |
| | | } |
| | | .table_top_input{ |
| | | .table_top_input { |
| | | width: 20%; |
| | | margin-right: 24px; |
| | | } |
| | |
| | | padding-right: 8px; |
| | | width: 250px; |
| | | } |
| | | .el-tree{ |
| | | .el-tree { |
| | | width: 280px; |
| | | margin: 0 10px; |
| | | } |
| | | .custom-tree-node span{ |
| | | font-size: 14px!important; |
| | | .custom-tree-node span { |
| | | font-size: 14px !important; |
| | | } |
| | | .el-icon-delete { |
| | | display: none; |
| | | color: #004EA2; |
| | | color: #004ea2; |
| | | } |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | display: inline; |
| | |
| | | color: orange; |
| | | } |
| | | ::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner { |
| | | background: #f2f2f2; |
| | | border: 0 !important; |
| | | color: #696969; |
| | | line-height: 14px; |
| | | outline: none; |
| | | box-shadow: none; |
| | | background: #f2f2f2; |
| | | border: 0 !important; |
| | | color: #696969; |
| | | line-height: 14px; |
| | | outline: none; |
| | | box-shadow: none; |
| | | } |
| | | .class_sidebar { |
| | | overflow: hidden; |
| | |
| | | top: 40%; |
| | | left: -10px; |
| | | } |
| | | .corner{ |
| | | .corner { |
| | | height: 60px; |
| | | background: #ebebec; |
| | | } |
| | | .upper_triangle{ |
| | | width: 0px; /* 宽é«è®¾ç½®ä¸º0ï¼å¾éè¦ï¼å¦åè¾¾ä¸å°ææ */ |
| | | .upper_triangle { |
| | | width: 0px; /* 宽é«è®¾ç½®ä¸º0ï¼å¾éè¦ï¼å¦åè¾¾ä¸å°ææ */ |
| | | height: 0px; |
| | | border: 6px solid #ebebec; |
| | | border-left-color: transparent; |
| | | border-top-color: transparent; |
| | | } |
| | | .under_triangle{ |
| | | width: 0px; /* 宽é«è®¾ç½®ä¸º0ï¼å¾éè¦ï¼å¦åè¾¾ä¸å°ææ */ |
| | | .under_triangle { |
| | | width: 0px; /* 宽é«è®¾ç½®ä¸º0ï¼å¾éè¦ï¼å¦åè¾¾ä¸å°ææ */ |
| | | height: 0px; |
| | | border: 6px solid #ebebec; |
| | | border-left-color: transparent; |
| | | border-bottom-color: transparent; |
| | | } |
| | | .ai-tab-change { |
| | | .el-radio-button__inner { |
| | | border: 1px solid #ececed; |
| | | line-height: 14px; |
| | | } |
| | | .el-radio-button__orig-radio:checked + .el-radio-button__inner { |
| | | background: #fdfdfe; |
| | | border: 1px solid #004da2; |
| | | color: #004da2; |
| | | line-height: 14px; |
| | | } |
| | | .el-radio-button__inner { |
| | | border: 1px solid #ececed; |
| | | line-height: 14px; |
| | | } |
| | | .el-radio-button__orig-radio:checked + .el-radio-button__inner { |
| | | background: #fdfdfe; |
| | | border: 1px solid #004da2; |
| | | color: #004da2; |
| | | line-height: 14px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | 1243124234 |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "MeasureManage" |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | |
| | | <el-row> |
| | | <el-col :span="12" class="top_left_name">计é管ç</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button size="mini" icon="el-icon-plus" style="color: #000;" |
| | | <el-button |
| | | v-show="radio1 == 2" |
| | | @click="routingJump()" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-plus" |
| | | style="background: #004EA2; " |
| | | >æ°å¢</el-button |
| | | > |
| | | <el-button size="mini" |
| | | ><i class="font icon-xiazaidaoru" style="padding-right: 3px;"></i |
| | | >导åº</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | <div class="top_div"> |
| | | <div class="table_top_div"> |
| | | <span>计éç¼å·ï¼</span> |
| | | <el-select |
| | | class="table_top_input" |
| | | size="small" |
| | | v-model="value" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <span>仪å¨è®¾å¤åç§°ï¼</span> |
| | | <el-select |
| | | class="table_top_input" |
| | | size="small" |
| | | v-model="value" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <span>计éåä½ï¼</span> |
| | | <el-select |
| | | class="table_top_input" |
| | | size="small" |
| | | v-model="value" |
| | | placeholder="è¯·éæ©" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-button size="mini" @click="reset"><span>é ç½®</span></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="primary" |
| | | @click="selectSearch" |
| | | style="background: #004EA2;" |
| | | ><span>æ¥ è¯¢</span></el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="middle_div"> |
| | | <div class="middle_top_div"> |
| | | <el-radio-group class="ai-tab-change" v-model="radio1"> |
| | | <el-radio-button size="small" label="1"> |
| | | <div class="el_radio_button_div">计éå°è´¦</div> |
| | | </el-radio-button> |
| | | <el-radio-button size="small" label="2"> |
| | | <div class="el_radio_button_div">计é计å</div> |
| | | </el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | | <div class="middle_middle_div"> |
| | | <el-table |
| | | v-show="radio1 == 1" |
| | | ref="multipleTable" |
| | | :data="tableData" |
| | | border |
| | | tooltip-effect="dark" |
| | | class="middle_middle_table" |
| | | height="calc(100vh - 325px)" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column label="æ¥æ" width="120"> |
| | | <template slot-scope="scope">{{ scope.row.date }}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="å§å" width="120"> |
| | | </el-table-column> |
| | | <el-table-column prop="address" label="å°å" show-overflow-tooltip> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-table |
| | | v-show="radio1 == 2" |
| | | ref="multipleTable" |
| | | :data="tableData" |
| | | border |
| | | tooltip-effect="dark" |
| | | class="middle_middle_table" |
| | | height="calc(100vh - 325px)" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column label="æ¥æ" width="120"> |
| | | <template slot-scope="scope">{{ scope.row.date }}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="å§å" width="120"> |
| | | </el-table-column> |
| | | <el-table-column prop="address" label="å°å" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column prop="address" label="å°å" show-overflow-tooltip> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="middle_under_div"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage4" |
| | | :page-sizes="[12, 20, 30, 40]" |
| | | :pager-count="9" |
| | | :page-size="12" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="400" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import zhLocale from "element-ui/lib/locale/lang/zh-CN"; |
| | | |
| | | // ç¶åå°element-uiä¸paginationéé¡¹æ¹æ |
| | | zhLocale.el.pagination = { |
| | | pagesize: "æ¡/页", |
| | | total: `å
±æ {total} æ¡`, |
| | | goto: "è·³è³", |
| | | pageClassifier: "页" |
| | | }; |
| | | |
| | | export default { |
| | | name: "measurementManagement" |
| | | name: "measurementManagement", |
| | | data() { |
| | | return { |
| | | radio1: 1, // åç±»åæ¢ |
| | | currentPage4: 4, |
| | | value: "", |
| | | options: [ |
| | | { |
| | | value: "é项1", |
| | | label: "é»éç³" |
| | | }, |
| | | { |
| | | value: "é项2", |
| | | label: "åç®å¥¶" |
| | | }, |
| | | { |
| | | value: "é项3", |
| | | label: "èµä»ç
" |
| | | }, |
| | | { |
| | | value: "é项4", |
| | | label: "é¾é¡»é¢" |
| | | }, |
| | | { |
| | | value: "é项5", |
| | | label: "å京ç¤é¸" |
| | | } |
| | | ], |
| | | tableData: [ |
| | | { |
| | | date: "2016-05-03", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-02", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-04", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-01", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-08", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-06", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-07", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-07", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-07", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-07", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-07", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | }, |
| | | { |
| | | date: "2016-05-07", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼" |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | methods: { |
| | | handleSizeChange(val) { |
| | | console.log(`æ¯é¡µ ${val} æ¡`); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | console.log(`å½å页: ${val}`); |
| | | }, |
| | | routingJump() { |
| | | this.$router.push("/measure/manage"); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style> |
| | | .div_acb { |
| | | color: #000000; |
| | | .top_div { |
| | | width: 100%; |
| | | height: 70px; |
| | | background-color: #ffffff; |
| | | margin: 5px 0; |
| | | } |
| | | .middle_div { |
| | | width: 100%; |
| | | height: calc(100vh - 225px); |
| | | background-color: #ffffff; |
| | | } |
| | | .middle_top_div { |
| | | width: 100%; |
| | | height: 60px; |
| | | } |
| | | .ai-tab-change { |
| | | padding: 14px 0 15px 15px; |
| | | } |
| | | .middle_middle_div { |
| | | width: 100%; |
| | | height: calc(100vh - 325px); |
| | | margin-top: 5px; |
| | | } |
| | | .middle_middle_table { |
| | | width: 98%; |
| | | margin: 0 15px; |
| | | } |
| | | .middle_under_div { |
| | | width: 99%; |
| | | height: 30px; |
| | | margin-top: 5px; |
| | | text-align: right; |
| | | } |
| | | .table_top_input { |
| | | width: 13%; |
| | | margin-right: 24px; |
| | | } |
| | | .table_top_div { |
| | | margin-left: 20px; |
| | | padding: 20px 0; |
| | | } |
| | | .table_top_div span { |
| | | font-size: 15px; |
| | | } |
| | | .el-radio-button__inner { |
| | | border: 1px solid #ececed; |
| | | line-height: 14px; |
| | | } |
| | | .el-radio-button__orig-radio:checked + .el-radio-button__inner { |
| | | background: #fdfdfe; |
| | | border: 1px solid #2661a0; |
| | | color: #2661a0; |
| | | line-height: 14px; |
| | | } |
| | | </style> |
| | |
| | | import Vue from 'vue' |
| | | import Router from 'vue-router' |
| | | import Index from "../view/index"; |
| | | import Index from "../view/index.vue"; |
| | | import NotFind from "../view/404.vue" |
| | | import Enter from "../view/enter.vue" |
| | | import { name } from 'file-loader'; |
| | | |
| | | Vue.use(Router) |
| | | |
| | |
| | | { |
| | | path: "/enter", |
| | | component: () => import("../view/enter.vue") |
| | | }, |
| | | // æ·»å è®¡éæ¨¡å |
| | | { |
| | | path: "/measure", |
| | | components: Index, |
| | | redirect: "/manage", |
| | | children: [ |
| | | { |
| | | path: "/manage", |
| | | name: "MeasureManage", |
| | | component: () => import('../components/view/measure/index.vue') |
| | | } |
| | | ] |
| | | }] |
| | | }) |
| | |
| | | <style scoped> |
| | | .all { |
| | | width: 100vw; |
| | | height: 100vh; |
| | | background-size: 100% 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | } |
| | | .all { |
| | | width: 100vw; |
| | | height: 100vh; |
| | | background-size: 100% 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .title { |
| | | width: 100%; |
| | | height: 58px; |
| | | display: flex; |
| | | align-items: center; |
| | | padding: 0 30px; |
| | | } |
| | | .title { |
| | | width: 100%; |
| | | height: 58px; |
| | | display: flex; |
| | | align-items: center; |
| | | padding: 0 30px; |
| | | } |
| | | |
| | | .logo { |
| | | width: 130px; |
| | | } |
| | | .logo { |
| | | width: 130px; |
| | | } |
| | | |
| | | .logo img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .logo img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .title .label { |
| | | font-size: 18px; |
| | | text-align: center; |
| | | width: calc(100% - 130px - 200px); |
| | | } |
| | | .title .label { |
| | | font-size: 18px; |
| | | text-align: center; |
| | | width: calc(100% - 130px - 200px); |
| | | } |
| | | |
| | | .user { |
| | | width: 200px; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: right; |
| | | color: #000; |
| | | } |
| | | .user { |
| | | width: 200px; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: right; |
| | | color: #000; |
| | | } |
| | | |
| | | .user * { |
| | | margin: 0 5px; |
| | | } |
| | | .user * { |
| | | margin: 0 5px; |
| | | } |
| | | |
| | | .user img { |
| | | margin-left: 20px; |
| | | cursor: pointer; |
| | | width: 14px; |
| | | } |
| | | .user img { |
| | | margin-left: 20px; |
| | | cursor: pointer; |
| | | width: 14px; |
| | | } |
| | | |
| | | .user span { |
| | | font-size: 14px; |
| | | } |
| | | .user span { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .left { |
| | | width: 92px; |
| | | height: calc(100vh - 58px - 40px); |
| | | background-color: #004EA2; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | padding: 20px 0; |
| | | } |
| | | .left { |
| | | width: 92px; |
| | | height: calc(100vh - 58px - 40px); |
| | | background-color: #004ea2; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | padding: 20px 0; |
| | | } |
| | | |
| | | .left .box { |
| | | color: #fff; |
| | | width: 68px; |
| | | height: 68px; |
| | | margin: 20px 0; |
| | | cursor: pointer; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | border-radius: 8px; |
| | | } |
| | | .left .box { |
| | | color: #fff; |
| | | width: 68px; |
| | | height: 68px; |
| | | margin: 20px 0; |
| | | cursor: pointer; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | border-radius: 8px; |
| | | } |
| | | |
| | | .left .box:active { |
| | | opacity: .8; |
| | | } |
| | | .left .box:active { |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | .left .active_box { |
| | | background-color: #fff; |
| | | color: #004EA2; |
| | | } |
| | | .left .active_box { |
| | | background-color: #fff; |
| | | color: #004ea2; |
| | | } |
| | | |
| | | .left .box i { |
| | | font-size: 32px; |
| | | margin-bottom: 8px; |
| | | } |
| | | .left .box i { |
| | | font-size: 32px; |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .left .box div { |
| | | font-size: 14px; |
| | | } |
| | | .left .box div { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .small_menu { |
| | | color: #666; |
| | | } |
| | | .small_menu { |
| | | color: #666; |
| | | } |
| | | |
| | | .small_menu .active_p { |
| | | color: #004EA2; |
| | | } |
| | | .small_menu .active_p { |
| | | color: #004ea2; |
| | | } |
| | | |
| | | .small_menu p { |
| | | padding: 12px 15px; |
| | | cursor: pointer; |
| | | } |
| | | .small_menu p { |
| | | padding: 12px 15px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .small_menu p:hover { |
| | | background-color: rgba(0, 0, 0, 0.05); |
| | | } |
| | | .small_menu p:hover { |
| | | background-color: rgba(0, 0, 0, 0.05); |
| | | } |
| | | |
| | | .small_menu i { |
| | | font-size: 16px; |
| | | } |
| | | .small_menu i { |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .small_menu span { |
| | | font-size: 14px; |
| | | } |
| | | .small_menu span { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .right { |
| | | width: calc(100% - 92px); |
| | | height: calc(100vh - 58px); |
| | | } |
| | | .right { |
| | | width: calc(100% - 92px); |
| | | height: calc(100vh - 58px); |
| | | } |
| | | |
| | | .tag { |
| | | width: 100%; |
| | | height: 36px; |
| | | background: rgb(255, 255, 255); |
| | | opacity: 0.8; |
| | | box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1); |
| | | display: flex; |
| | | align-items: center; |
| | | color: #999; |
| | | font-size: 14px; |
| | | } |
| | | .tag { |
| | | width: 100%; |
| | | height: 36px; |
| | | background: rgb(255, 255, 255); |
| | | opacity: 0.8; |
| | | box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1); |
| | | display: flex; |
| | | align-items: center; |
| | | color: #999; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .tag .el-icon-s-unfold { |
| | | font-size: 18px; |
| | | cursor: pointer; |
| | | margin: 0 8px; |
| | | } |
| | | .tag .el-icon-s-unfold { |
| | | font-size: 18px; |
| | | cursor: pointer; |
| | | margin: 0 8px; |
| | | } |
| | | |
| | | .tabs { |
| | | min-width: calc(100% - 34px); |
| | | height: 100%; |
| | | align-items: center; |
| | | display: flex; |
| | | overflow-x: auto; |
| | | } |
| | | .tabs { |
| | | min-width: calc(100% - 34px); |
| | | height: 100%; |
| | | align-items: center; |
| | | display: flex; |
| | | overflow-x: auto; |
| | | } |
| | | |
| | | .tab { |
| | | cursor: pointer; |
| | | font-size: 14px; |
| | | margin: 0 8px; |
| | | line-height: 32px; |
| | | transition: .3s; |
| | | border-top: 2px solid transparent; |
| | | border-bottom: 2px solid transparent; |
| | | user-select: none; |
| | | flex-shrink: 0; |
| | | } |
| | | .tab { |
| | | cursor: pointer; |
| | | font-size: 14px; |
| | | margin: 0 8px; |
| | | line-height: 32px; |
| | | transition: 0.3s; |
| | | border-top: 2px solid transparent; |
| | | border-bottom: 2px solid transparent; |
| | | user-select: none; |
| | | flex-shrink: 0; |
| | | } |
| | | |
| | | .tab i { |
| | | font-size: 12px; |
| | | display: none; |
| | | } |
| | | .tab i { |
| | | font-size: 12px; |
| | | display: none; |
| | | } |
| | | |
| | | .active_tab { |
| | | border-bottom: 2px solid #004EA2; |
| | | color: #004EA2; |
| | | } |
| | | .active_tab { |
| | | border-bottom: 2px solid #004ea2; |
| | | color: #004ea2; |
| | | } |
| | | |
| | | .active_tab i { |
| | | display: inline; |
| | | color: #004EA2; |
| | | } |
| | | .active_tab i { |
| | | display: inline; |
| | | color: #004ea2; |
| | | } |
| | | |
| | | .component_view { |
| | | height: calc(100vh - 94px - 22px); |
| | | width: calc(100% - 48px); |
| | | padding: 11px 24px; |
| | | background: rgb(245, 247, 251); |
| | | } |
| | | .component_view { |
| | | height: calc(100vh - 94px - 22px); |
| | | width: calc(100% - 48px); |
| | | padding: 11px 24px; |
| | | background: rgb(245, 247, 251); |
| | | } |
| | | |
| | | .com_index { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .com_index { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |
| | | <style> |
| | | |
| | | </style> |
| | | <style></style> |
| | | <template> |
| | | <div class="all"> |
| | | <div class="title"> |
| | | <div class="logo"> |
| | | <img src="../../static/img/logo 1.png"> |
| | | <img src="../../static/img/logo 1.png" /> |
| | | </div> |
| | | <div class="label">çµç¼éä»¶æ°ä¸ä»£momç³»ç»</div> |
| | | <div class="user"> |
| | | <el-avatar :size="24">{{userName.substring(0,1)}}</el-avatar> |
| | | <span>{{userName}}</span> |
| | | <img src="../../static/img/éåº.png" @click="out"> |
| | | <el-avatar :size="24">{{ userName.substring(0, 1) }}</el-avatar> |
| | | <span>{{ userName }}</span> |
| | | <img src="../../static/img/éåº.png" @click="out" /> |
| | | </div> |
| | | </div> |
| | | <div class="left"> |
| | | <div :class="`box ${activeBox==0?'active_box':''}`" @click="addTab(menu[0].c[0])"> |
| | | <div |
| | | :class="`box ${activeBox == 0 ? 'active_box' : ''}`" |
| | | @click="addTab(menu[0].c[0])" |
| | | > |
| | | <i class="font icon-shouye"></i> |
| | | <div>é¦é¡µ</div> |
| | | </div> |
| | | <div :class="`box ${activeBox==3?'active_box':''}`" @click="addTab(menu[1].c[0])"> |
| | | <i class="font icon-jine"></i> |
| | | <div>éå®ç®¡ç</div> |
| | | </div> |
| | | <el-popover placement="right-start" width="90" trigger="click" v-for="(a, ai) in menu" :key="ai" v-if="a.k!='0'&&a.k!='3'"> |
| | | <div :class="`box ${activeBox==a.k?'active_box':''}`" @click="activeBox = a.k" slot="reference"> |
| | | <div |
| | | :class="`box ${activeBox == 3 ? 'active_box' : ''}`" |
| | | @click="addTab(menu[1].c[0])" |
| | | > |
| | | <i class="font icon-jine"></i> |
| | | <div>éå®ç®¡ç</div> |
| | | </div> |
| | | <el-popover |
| | | placement="right-start" |
| | | width="90" |
| | | trigger="click" |
| | | v-for="(a, ai) in menu" |
| | | :key="ai" |
| | | v-if="a.k != '0' && a.k != '3'" |
| | | > |
| | | <div |
| | | :class="`box ${activeBox == a.k ? 'active_box' : ''}`" |
| | | @click="activeBox = a.k" |
| | | slot="reference" |
| | | > |
| | | <i :class="a.i"></i> |
| | | <div>{{a.v}}</div> |
| | | <div>{{ a.v }}</div> |
| | | </div> |
| | | <div class="small_menu"> |
| | | <p v-for="(b, bi) in a.c" :key="bi" :class="activeP==b.k?'active_p':''" @click="addTab(b)"> |
| | | <p |
| | | v-for="(b, bi) in a.c" |
| | | :key="bi" |
| | | :class="activeP == b.k ? 'active_p' : ''" |
| | | @click="addTab(b)" |
| | | > |
| | | <i :class="b.i"></i> |
| | | <span>{{b.v}}</span> |
| | | <span>{{ b.v }}</span> |
| | | </p> |
| | | </div> |
| | | </el-popover> |
| | |
| | | <div class="tag"> |
| | | <i class="el-icon-s-unfold"></i> |
| | | <div class="tabs"> |
| | | <div :class="`tab ${tabActive==a.k?'active_tab':''}`" v-for="(a, ai) in tabs" :key="ai" |
| | | @click="upTabActive(a.k)"> |
| | | {{a.v}} |
| | | <div |
| | | :class="`tab ${tabActive == a.k ? 'active_tab' : ''}`" |
| | | v-for="(a, ai) in tabs" |
| | | :key="ai" |
| | | @click="upTabActive(a.k)" |
| | | > |
| | | {{ a.v }} |
| | | <i class="el-icon-close" @click="removeTab(ai)"></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="component_view"> |
| | | <component class="com_index" v-for="(com,index) in tabs" :is="com.u" :key="upIndex+'|'+index" |
| | | v-show="com.k == tabActive"> |
| | | <component |
| | | class="com_index" |
| | | v-for="(com, index) in tabs" |
| | | :is="com.u" |
| | | :key="upIndex + '|' + index" |
| | | v-show="com.k == tabActive" |
| | | > |
| | | </component> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | const requireComponent = require.context('../components/view', false, /\.vue/) |
| | | var comObj = {}; |
| | | requireComponent.keys().forEach(fileName => { |
| | | var names = fileName |
| | | .split("/") |
| | | .pop() |
| | | .replace(".vue", "") |
| | | const componentConfig = requireComponent(fileName); |
| | | comObj[names] = componentConfig.default || componentConfig; |
| | | }); |
| | | export default { |
| | | components: comObj, |
| | | data() { |
| | | return { |
| | | userName: "value", |
| | | menu: [{ |
| | | const requireComponent = require.context("../components/view", false, /\.vue/); |
| | | var comObj = {}; |
| | | requireComponent.keys().forEach(fileName => { |
| | | var names = fileName |
| | | .split("/") |
| | | .pop() |
| | | .replace(".vue", ""); |
| | | const componentConfig = requireComponent(fileName); |
| | | comObj[names] = componentConfig.default || componentConfig; |
| | | }); |
| | | export default { |
| | | components: comObj, |
| | | data() { |
| | | return { |
| | | userName: "value", |
| | | menu: [ |
| | | { |
| | | k: 0, |
| | | v: "é¦é¡µ", |
| | | i: "font icon-shouye", |
| | | c: [{ |
| | | k: 0, |
| | | v: "é¦é¡µ", |
| | | i: "font icon-shouye", |
| | | u: "index-index" |
| | | }] |
| | | },{ |
| | | c: [ |
| | | { |
| | | k: 0, |
| | | v: "é¦é¡µ", |
| | | i: "font icon-shouye", |
| | | u: "index-index" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | k: 3, |
| | | v: "éå®ç®¡ç", |
| | | i: "font icon-jine", |
| | | c: [{ |
| | | k: 11, |
| | | v: "éå®ç®¡ç", |
| | | i: "font icon-jine", |
| | | u: "sale" |
| | | }] |
| | | }, { |
| | | c: [ |
| | | { |
| | | k: 11, |
| | | v: "éå®ç®¡ç", |
| | | i: "font icon-jine", |
| | | u: "sale" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | k: 1, |
| | | v: "ææ¯ç®¡ç", |
| | | i: "font icon-shouye", |
| | | c: [{ |
| | | k: 1, |
| | | v: "æ åBOM", |
| | | i: "font icon-shouye", |
| | | u: "standard" |
| | | }, { |
| | | k: 2, |
| | | v: "ææ¯æä»¶", |
| | | i: "font icon-shouye", |
| | | u: "technical" |
| | | }] |
| | | }, { |
| | | c: [ |
| | | { |
| | | k: 1, |
| | | v: "æ åBOM", |
| | | i: "font icon-shouye", |
| | | u: "standard" |
| | | }, |
| | | { |
| | | k: 2, |
| | | v: "ææ¯æä»¶", |
| | | i: "font icon-shouye", |
| | | u: "technical" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | k: 2, |
| | | v: "QMS管ç", |
| | | i: "font icon-shouye", |
| | | c: [{ |
| | | k: 3, |
| | | v: "åæææ£éª", |
| | | i: "font icon-shouye", |
| | | u: "rawInsBox" |
| | | }, { |
| | | k: 4, |
| | | v: "åææä¸åæ ¼å", |
| | | i: "font icon-shouye", |
| | | u: "rawUnqualifiedBox" |
| | | }, { |
| | | k: 5, |
| | | v: "è¿ç¨æ£éª", |
| | | i: "font icon-shouye", |
| | | u: "processInspection" |
| | | }, { |
| | | k: 6, |
| | | v: "æåæ£éª", |
| | | i: "font icon-shouye", |
| | | u: "finishedProductInspection" |
| | | }, { |
| | | k: 7, |
| | | v: "ä¸åæ ¼å管ç", |
| | | i: "font icon-shouye", |
| | | u: "unqualifiedManagement" |
| | | }, { |
| | | k: 8, |
| | | v: "å®éªå®¤ç®¡ç", |
| | | i: "font icon-shouye", |
| | | u: "laboratoryManagement" |
| | | }, { |
| | | k: 9, |
| | | v: "è´¨éç»è®¡", |
| | | i: "font icon-shouye", |
| | | u: "" |
| | | }, { |
| | | k: 10, |
| | | v: "计é管ç", |
| | | i: "font icon-shouye", |
| | | u: "" |
| | | }] |
| | | }], |
| | | activeBox: 0, |
| | | activeP: 0, |
| | | tabActive: 0, |
| | | tabs: [{ |
| | | c: [ |
| | | { |
| | | k: 3, |
| | | v: "åæææ£éª", |
| | | i: "font icon-shouye", |
| | | u: "rawInsBox" |
| | | }, |
| | | { |
| | | k: 4, |
| | | v: "åææä¸åæ ¼å", |
| | | i: "font icon-shouye", |
| | | u: "rawUnqualifiedBox" |
| | | }, |
| | | { |
| | | k: 5, |
| | | v: "è¿ç¨æ£éª", |
| | | i: "font icon-shouye", |
| | | u: "processInspection" |
| | | }, |
| | | { |
| | | k: 6, |
| | | v: "æåæ£éª", |
| | | i: "font icon-shouye", |
| | | u: "finishedProductInspection" |
| | | }, |
| | | { |
| | | k: 7, |
| | | v: "ä¸åæ ¼å管ç", |
| | | i: "font icon-shouye", |
| | | u: "unqualifiedManagement" |
| | | }, |
| | | { |
| | | k: 8, |
| | | v: "å®éªå®¤ç®¡ç", |
| | | i: "font icon-shouye", |
| | | u: "laboratoryManagement" |
| | | }, |
| | | { |
| | | k: 9, |
| | | v: "è´¨éç»è®¡", |
| | | i: "font icon-shouye", |
| | | u: "" |
| | | }, |
| | | { |
| | | k: 10, |
| | | v: "计é管ç", |
| | | i: "font icon-shouye", |
| | | u: "measurementManagement" |
| | | } |
| | | ] |
| | | } |
| | | ], |
| | | activeBox: 0, |
| | | activeP: 0, |
| | | tabActive: 0, |
| | | tabs: [ |
| | | { |
| | | k: 0, |
| | | v: "é¦é¡µ", |
| | | i: "font icon-shouye", |
| | | u: "index-index" |
| | | }], |
| | | upIndex: 0 |
| | | }; |
| | | }, |
| | | created() {}, |
| | | mounted() { |
| | | this.userName = JSON.parse(localStorage.getItem("user")).name |
| | | }, |
| | | methods: { |
| | | addTab(ob) { |
| | | if (ob.k == 0) this.activeBox = 0 |
| | | if (ob.k == 11) this.activeBox = 3 |
| | | this.activeP = ob.k //0 |
| | | this.tabActive = ob.k //0 |
| | | let num = -1; |
| | | this.tabs.forEach((a, ai) => { |
| | | if (ob.k == a.k) { |
| | | num = a.k |
| | | } |
| | | }) |
| | | // å¦ææ²¡æéåå°tabséæ²¡æè¯¥ob对åºçtableï¼å¾tabséé¢å å
¥è¯¥ob |
| | | if (num == -1) { |
| | | this.tabs.push(ob) |
| | | } |
| | | }, |
| | | removeTab(index) { |
| | | if (this.tabs.length > 1) { |
| | | this.tabs.splice(index, 1) |
| | | this.activeP = this.tabs[this.tabs.length - 1].k |
| | | this.tabActive = this.tabs[this.tabs.length - 1].k |
| | | } else { |
| | | this.$message.warning("ä¸è½å
³éæåçæ ç¾") |
| | | ], |
| | | upIndex: 0 |
| | | }; |
| | | }, |
| | | created() {}, |
| | | mounted() { |
| | | this.userName = JSON.parse(localStorage.getItem("user")).name; |
| | | }, |
| | | methods: { |
| | | addTab(ob) { |
| | | if (ob.k == 0) this.activeBox = 0; |
| | | if (ob.k == 11) this.activeBox = 3; |
| | | this.activeP = ob.k; //0 |
| | | this.tabActive = ob.k; //0 |
| | | let num = -1; |
| | | this.tabs.forEach((a, ai) => { |
| | | if (ob.k == a.k) { |
| | | num = a.k; |
| | | } |
| | | }, |
| | | upTabActive(num) { |
| | | this.tabActive = num |
| | | this.activeP = num |
| | | if (num == 0) { |
| | | this.activeBox = 0 |
| | | } else if (num > 0 && num <= 2) { |
| | | this.activeBox = 1 |
| | | } else if (num > 2 && num <= 10) { |
| | | this.activeBox = 2 |
| | | } else if(num == 11){ |
| | | this.activeBox = 3 |
| | | } |
| | | }, |
| | | out() { |
| | | sessionStorage.clear() |
| | | localStorage.removeItem('autoenter') |
| | | this.$router.push("/enter") |
| | | }); |
| | | // å¦ææ²¡æéåå°tabséæ²¡æè¯¥ob对åºçtableï¼å¾tabséé¢å å
¥è¯¥ob |
| | | if (num == -1) { |
| | | this.tabs.push(ob); |
| | | } |
| | | }, |
| | | removeTab(index) { |
| | | if (this.tabs.length > 1) { |
| | | this.tabs.splice(index, 1); |
| | | this.activeP = this.tabs[this.tabs.length - 1].k; |
| | | this.tabActive = this.tabs[this.tabs.length - 1].k; |
| | | } else { |
| | | this.$message.warning("ä¸è½å
³éæåçæ ç¾"); |
| | | } |
| | | }, |
| | | upTabActive(num) { |
| | | this.tabActive = num; |
| | | this.activeP = num; |
| | | if (num == 0) { |
| | | this.activeBox = 0; |
| | | } else if (num > 0 && num <= 2) { |
| | | this.activeBox = 1; |
| | | } else if (num > 2 && num <= 10) { |
| | | this.activeBox = 2; |
| | | } else if (num == 11) { |
| | | this.activeBox = 3; |
| | | } |
| | | }, |
| | | out() { |
| | | sessionStorage.clear(); |
| | | localStorage.removeItem("autoenter"); |
| | | this.$router.push("/enter"); |
| | | } |
| | | } |
| | | }; |
| | | </script> |