From 28243550e53fcdf0d8dc4d0dd20f8b35acb4f6ba Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期一, 14 八月 2023 17:22:42 +0800 Subject: [PATCH] 8-14-计量模块 --- src/components/view/measurementManagement.vue | 305 ++++++++ src/components/view/laboratoryManagement.vue | 829 ++++++++++++++-------- src/App.vue | 348 ++++---- src/router/index.js | 16 src/components/view/measure/index.vue | 13 src/view/index.vue | 688 ++++++++++-------- 6 files changed, 1,397 insertions(+), 802 deletions(-) diff --git a/src/App.vue b/src/App.vue index 270aee6..778df71 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,210 +5,210 @@ </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> diff --git a/src/components/view/laboratoryManagement.vue b/src/components/view/laboratoryManagement.vue index 73219f8..2f2ac7e 100644 --- a/src/components/view/laboratoryManagement.vue +++ b/src/components/view/laboratoryManagement.vue @@ -3,22 +3,44 @@ <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> @@ -28,7 +50,13 @@ <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" @@ -41,14 +69,22 @@ </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" @@ -74,29 +110,62 @@ <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> @@ -108,7 +177,8 @@ placeholder="妫�娴嬫牱鍝�" :disabled="true" style="width: 206px" - v-model="showCodeNameModel.name"> + v-model="showCodeNameModel.name" + > </el-input> </el-form-item> </el-form-item> @@ -121,7 +191,8 @@ placeholder="瑙勬牸鍨嬪彿" :disabled="true" style="width: 206px" - v-model="showCodeNameModel.specifications"> + v-model="showCodeNameModel.specifications" + > </el-input> </el-form-item> </el-col> @@ -131,7 +202,8 @@ placeholder="妫�娴嬩汉" :disabled="true" style="width: 206px" - v-model="showCodeNameModel.user_name"> + v-model="showCodeNameModel.user_name" + > </el-input> </el-form-item> </el-col> @@ -145,13 +217,24 @@ </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 @@ -160,30 +243,57 @@ 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> @@ -195,83 +305,128 @@ 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> @@ -286,63 +441,68 @@ 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()鏄痡avascript涓殑鍐呯疆鍑芥暟锛屽畠杩斿洖鑷�1970骞�1鏈�1鏃�00:00:00 UTC浠ユ潵缁忚繃鐨勬绉掓暟銆� return time.getTime() < Date.now() - 8.64e7; } - }, - } + } + }; }, methods: { // 鍔ㄦ�佹帶鍒跺睍寮�涓庢敹璧峰拰鍒囨崲瀵瑰簲鍥炬爣 @@ -351,220 +511,281 @@ }, 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> @@ -577,7 +798,7 @@ background-color: transparent; } .el-form-item >>> .el-form-item__error { - color: #F56C6C; + color: #f56c6c; font-size: 12px; line-height: 1; padding-top: 6px; @@ -585,33 +806,33 @@ 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; @@ -619,26 +840,26 @@ -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; } @@ -651,16 +872,16 @@ 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; @@ -669,12 +890,12 @@ 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; @@ -692,34 +913,32 @@ 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> diff --git a/src/components/view/measure/index.vue b/src/components/view/measure/index.vue new file mode 100644 index 0000000..d12bf7c --- /dev/null +++ b/src/components/view/measure/index.vue @@ -0,0 +1,13 @@ +<template> + <div> + 1243124234 + </div> +</template> + +<script> +export default { + name: "MeasureManage" +}; +</script> + +<style></style> diff --git a/src/components/view/measurementManagement.vue b/src/components/view/measurementManagement.vue index 517b179..d3d7291 100644 --- a/src/components/view/measurementManagement.vue +++ b/src/components/view/measurementManagement.vue @@ -3,22 +3,319 @@ <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"; + +// 鐒跺悗灏唀lement-ui涓璸agination閫夐」鏀规帀 +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> diff --git a/src/router/index.js b/src/router/index.js index bbe8927..0bd135d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,8 +1,9 @@ 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) @@ -22,5 +23,18 @@ { 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') + } + ] }] }) \ No newline at end of file diff --git a/src/view/index.vue b/src/view/index.vue index 434a923..3d5a9e8 100644 --- a/src/view/index.vue +++ b/src/view/index.vue @@ -1,228 +1,248 @@ <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">鐢电紗闄勪欢鏂颁竴浠om绯荤粺</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> @@ -231,16 +251,25 @@ <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> @@ -248,162 +277,185 @@ </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 - } - }) - // 濡傛灉娌℃湁閬嶅巻鍒皌abs閲屾病鏈夎ob瀵瑰簲鐨則able锛屽線tabs閲岄潰鍔犲叆璇b - 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") + }); + // 濡傛灉娌℃湁閬嶅巻鍒皌abs閲屾病鏈夎ob瀵瑰簲鐨則able锛屽線tabs閲岄潰鍔犲叆璇b + 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> -- Gitblit v1.9.3