From a55bb6cf24c32ea89d00336ec2afc77af5c59661 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期四, 24 八月 2023 17:56:56 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.110.209:9001/r/lims-before --- src/api/inspection/commisioninspection.js | 24 + src/api/url.js | 1 src/views/login/index.vue | 6 src/layout/components/Navbar.vue | 26 + src/layout/components/Sidebar/Item.vue | 2 src/router/index.js | 21 src/views/inspectionManagement/commissionInspection/addCommision.vue | 51 ++ .env.staging | 2 src/main.js | 5 package.json | 1 .env.production | 2 src/layout/components/Sidebar/index.vue | 1 src/views/experiment/checkTheReport/index.vue | 50 ++- src/layout/components/Sidebar/SidebarItem.vue | 1 src/views/inspectionManagement/commissionInspection/index.vue | 708 ++++++++++++++++++++++++------------------- 15 files changed, 539 insertions(+), 362 deletions(-) diff --git a/.env.production b/.env.production index 64b7d95..d5166db 100644 --- a/.env.production +++ b/.env.production @@ -3,5 +3,5 @@ # base api # VUE_APP_BASE_API = '/prod-api' -VUE_APP_BASE_API = 'http://192.168.110.254:1234/' +VUE_APP_BASE_API = 'http://192.168.110.167:1234/' diff --git a/.env.staging b/.env.staging index d5bc70f..65e5ce8 100644 --- a/.env.staging +++ b/.env.staging @@ -5,6 +5,6 @@ # base api # VUE_APP_BASE_API = '/stage-api' -VUE_APP_BASE_API = 'http://192.168.110.87:1234/' +VUE_APP_BASE_API = 'http://192.168.110.167:1234/' diff --git a/package.json b/package.json index 00e6b41..048f7b0 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "path-to-regexp": "2.4.0", "postcss-pxtorem": "^5.1.1", "vue": "2.6.10", + "vue-clipboard2": "^0.3.3", "vue-router": "3.0.6", "vuex": "3.1.0" }, diff --git a/src/api/inspection/commisioninspection.js b/src/api/inspection/commisioninspection.js index ce4a93f..982a2f0 100644 --- a/src/api/inspection/commisioninspection.js +++ b/src/api/inspection/commisioninspection.js @@ -40,4 +40,28 @@ method: 'post', data }) +} + +export function getViewUUID(params){ + return request({ + url: '/link-basic/getViewUUID', + method: 'get', + params + }) +} + +export function selectViewUUID(){ + return request({ + url: '/link-basic/selectViewUUID', + method: 'get' + }) +} + + +export function isIfViewUUID(params){ + return request({ + url: '/link-basic/isIfViewUUID', + method: 'get', + params + }) } \ No newline at end of file diff --git a/src/api/url.js b/src/api/url.js index 8849e20..fbaa55b 100644 --- a/src/api/url.js +++ b/src/api/url.js @@ -5,6 +5,7 @@ "reported": "/plan/reported",//涓婃姤 "distribution": "/plan/distribution",//鍒嗛厤 "check": "/plan/check",//妫�楠� + "info": "/user/info",//鐧诲綍-->鑾峰彇鐢ㄦ埛淇℃伅 } export default function(Vue) { diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 9f1ae3e..5d90276 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -13,7 +13,7 @@ </div> <el-dropdown class="avatar-container" trigger="click"> <div class="avatar-wrapper"> - <a class="user-avatar">{{ '涓ぉ'.slice(0,1) }}</a> + <a class="user-avatar">{{ user.name.slice(0,1) }}</a> </div> <el-dropdown-menu slot="dropdown" class="user-dropdown"> <el-dropdown-item > @@ -49,6 +49,12 @@ import { mapGetters } from 'vuex' // import Breadcrumb from '@/components/Breadcrumb' // import Hamburger from '@/components/Hamburger' + import { + get, + post, + wpost, + postFile + } from "@/api/util/requestUtil.js" export default { data(){ @@ -72,6 +78,17 @@ 'avatar' ]) }, + data() { + return { + user: { + id: null, + name: 'value' + } + } + }, + mounted() { + this.getUser() + }, methods: { reset(){ this.dialogFormVisible = false; @@ -91,7 +108,12 @@ async logout() { // await this.$store.dispatch('user/logout') this.$router.push(`/login?redirect=${this.$route.fullPath}`) - } + }, + getUser(){ + get(this.$url.info).then(res=>{ + this.user = res.data + }) + } } } </script> diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue index 7785af0..454e81b 100644 --- a/src/layout/components/Sidebar/Item.vue +++ b/src/layout/components/Sidebar/Item.vue @@ -19,9 +19,7 @@ render(h, context) { const { icon, title } = context.props const vnodes = [] - // console.log(show) // if (!show) return - // console.log(icon, title) if (icon) { if (icon.includes('el-icon')) { vnodes.push(<i class={[icon, 'sub-el-icon']} />) diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue index e5b588f..498db1c 100644 --- a/src/layout/components/Sidebar/SidebarItem.vue +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -63,7 +63,6 @@ return {} }, created() { - // console.log(this.item) }, methods: { hasOneShowingChild(children = [], parent) { diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index e093b2b..1187cbb 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -31,7 +31,6 @@ 'sidebar' ]), routes() { - console.log(this.$router.options.routes); return this.$router.options.routes }, activeMenu() { diff --git a/src/main.js b/src/main.js index beb2705..1eda87c 100644 --- a/src/main.js +++ b/src/main.js @@ -7,6 +7,8 @@ import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n +import VueClipboard from 'vue-clipboard2' +Vue.use(VueClipboard) import '@/styles/index.scss' // global css @@ -41,6 +43,8 @@ return JSON.parse(JSON.stringify(val)) } +Vue.prototype.vueIp = "http://localhost:8080/" + // set ElementUI lang to EN Vue.use(ElementUI, { locale }) // 濡傛灉鎯宠涓枃鐗� element-ui锛屾寜濡備笅鏂瑰紡澹版槑 @@ -50,6 +54,7 @@ Vue.config.productionTip = false + new Vue({ el: '#app', router, diff --git a/src/router/index.js b/src/router/index.js index f843389..cc9b8b5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -42,6 +42,11 @@ hidden: true }, { + path: '/addCommision', + component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'), + hidden:true + }, + { path: '/', component: Layout, redirect: '/home', @@ -53,6 +58,11 @@ meta: { title: '涓婚〉', icon: 'el-icon-s-home' } }] }, + { + path: '/addCommision/:viewId', + hidden: true, + component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'), + }, { path: '/standardLibrary', component: Layout, @@ -164,16 +174,7 @@ path: 'commissionInspection', name: 'CommissionInspection', component: () => import('@/views/inspectionManagement/commissionInspection/index'), - meta: { title: '濮旀墭妫�楠�', icon: 'table' }, - children: [ - { - path: 'addCommision', - name: 'AddCommision', - hidden: true, - component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'), - meta: { title: '妫�娴嬩俊鎭�', icon: 'table' } - } - ] + meta: { title: '濮旀墭妫�楠�', icon: 'table' } }, { path: 'reportForInspection', diff --git a/src/views/experiment/checkTheReport/index.vue b/src/views/experiment/checkTheReport/index.vue index 2a92de3..a127c10 100644 --- a/src/views/experiment/checkTheReport/index.vue +++ b/src/views/experiment/checkTheReport/index.vue @@ -1,27 +1,33 @@ <template> <div class="content-main"> <div class="top-bar"> - <el-form ref="form" :inline="true"> - <el-form-item class="sermargin"> + <el-form ref="form" :inline="true" :model="searchData" label-position="left"> + <el-form-item label="鏍峰搧缂栧彿:"> <el-input - v-model="input" + v-model="searchData.sample_code" class="input-form" - placeholder="璇风洿鎺ヨ緭鍏ユ牱寮忕紪鍙�/鎶ュ憡鍗曞彿/鏍峰搧缂栧彿/杩涜鎼滅储鎴栦笅鎷夐�夋嫨杩涜缁勫悎鏌ヨ" + placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" @keyup.enter.native="getData" + /> + </el-form-item> + <el-form-item label="鎶ュ憡鍗曞彿:"> + <el-input + v-model="searchData.reportCode" + class="input-form" + placeholder="璇疯緭鍏ユ姤鍛婂崟鍙�" + /> + </el-form-item> + <el-form-item label="鐢宠鍗曞彿:"> + <el-input + v-model="searchData.application_code" + class="input-form" + placeholder="璇疯緭鍏ョ敵璇峰崟鍙�" /> </el-form-item> <el-form-item> <el-button type="primary" @click="getData()">鏌ヨ</el-button> <el-button type="primary" plain @click="resetData()">閲嶇疆</el-button> </el-form-item> - <el-dropdown> - <span class="el-dropdown-link"> - 楂樼骇鎼滅储<i class="el-icon-arrow-down el-icon--right"></i> - </span> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item>楂樼骇鎼滅储</el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> </el-form> <el-form> <el-button class="rightBtn" type="primary" icon="el-icon-document" @@ -36,7 +42,8 @@ <el-radio-button>鍏ㄩ儴</el-radio-button> <el-radio-button label="0">寰呮彁浜�</el-radio-button> <el-radio-button label="1">寰呭鏍�</el-radio-button> - <el-radio-button label="2">宸插鏍�</el-radio-button> + <el-radio-button label="2">寰呯瀛�</el-radio-button> + <el-radio-button label="3">宸插畬鎴�</el-radio-button> </el-radio-group> <el-checkbox v-model="checked" style="margin-left: 20px" @@ -165,7 +172,11 @@ export default { data() { return { - input: "", + searchData:{ + sample_code:'', + reportCode:'', + application_code: '' + }, checkStatus: undefined, reportTable: [], page: 1, @@ -196,7 +207,11 @@ }, // 閲嶇疆鎸夐挳 resetData() { - this.input = undefined; + this.searchData={ + sample_code:'', + reportCode:'', + application_code: '' + }, this.page = 1; this.pageSize = 10; this.checkStatus = undefined; @@ -207,7 +222,7 @@ const params = { page: this.page, pageSize: this.pageSize, - name: this.input ? this.input : undefined, + name: this.searchData.sample_code ? this.searchData.sample_code : undefined, status: this.checkStatus ? this.checkStatus : undefined, }; const { data } = await selectAllReport(params); @@ -226,7 +241,8 @@ justify-content: space-between; padding: 5px 24px 0px 24px; .input-form { - width: 700px; + width: 250px; + margin-right: 30px; } .el-dropdown-link { cursor: pointer; diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue index cd441b4..bebe006 100644 --- a/src/views/inspectionManagement/commissionInspection/addCommision.vue +++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue @@ -1,19 +1,19 @@ <template> - <div v-if="!showDetail"> + <div class="add_commision"> <div class="content-main"> <div class="firstBox"> - <div class="title">妫�娴嬩俊鎭�</div> + <div class="title">濮旀墭淇℃伅</div> <div class="tableBox"> <div class="tableBox-header"> <el-button class="split" @click="dialogueFormVisible = true" type="primary" size="small" style="background-color: rgb(1, 102, 226);">娣诲姞鏍峰搧</el-button> - <el-input +<!-- <el-input v-model="searchData" class="input-form split" placeholder="鎵弿浜岀淮鐮佸綍鍏ユ牱鍝�..." prefix-icon="el-icon-search" style="width: 200px;" > - </el-input> + </el-input>--> <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">閲嶇疆</el-button> </div> <el-table @@ -107,7 +107,7 @@ <el-col :span="12">鍩烘湰淇℃伅</el-col> <el-col :span="12" style="text-align: right;"> <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false --> - <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">鎵撳嵃濮旀墭鍗�</el-button> + <!-- <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">鎵撳嵃濮旀墭鍗�</el-button> --> </el-col> </el-row> <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="right" label-width="100px" size="mini" > @@ -115,7 +115,7 @@ <el-row :gutter="200"> <el-col :span="5"> <el-form-item label="濮旀墭缂栧彿锛�"> - <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled="true" autocomplete="off" /> + <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled="true" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="5"> @@ -193,6 +193,8 @@ </div> <div class="submitBtn"> <el-button type="primary" size="small" @click="submitInspection" style="background-color: rgb(1, 102, 226);">鎻愪氦</el-button> + <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false --> + <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">鎵撳嵃濮旀墭鍗�</el-button> </div> </el-form> </div> @@ -230,19 +232,19 @@ </el-col> <el-col :span="10"> <el-form-item label="鏍峰搧鍗曚綅锛�"> - <el-input style="width: 160px" type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> + <el-input style="width: 160px" type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> <el-col :span="10"> <el-form-item label="鏍峰搧鏁伴噺锛�"> - <el-input style="width: 160px" type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + <el-input style="width: 160px" type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="澶囨敞锛�"> - <el-input style="width: 160px" type="text" v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" /> + <el-input style="width: 160px" type="text" v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" /> </el-form-item> </el-col> </el-row> @@ -263,9 +265,6 @@ </el-dialog> </div> </div> -</div> -<div v-else> - <router-view></router-view> </div> </template> @@ -478,9 +477,23 @@ </script> <style lang="scss" scoped> +.add_commision{ + padding: 20px; +} + +.content-main{ + padding: 20px 40px; + background-color: #f0f2f5; + width: 100%; + height: 100vh; + .firstBox{ - .title{ - padding:0px 10px 10px 10px; + .title { + padding: 15px 10px; + font-size: 18px; + background-color: #0166e2; + color: #fff; + border-radius: 4px; } .tableBox{ background-color: #fff; @@ -518,12 +531,20 @@ .submitBtn{ display: flex; justify-content: end; - margin-right: 156px; + margin-right: 40px; margin-top: 20px; } } .infoForm{ background-color: #fff; padding: 20px 50px; + .formwrapper{ + margin: 20px 0px; + padding-left: 30px; + .el-row{ + margin: 10px 0px; + } + } +} } </style> diff --git a/src/views/inspectionManagement/commissionInspection/index.vue b/src/views/inspectionManagement/commissionInspection/index.vue index 0cb885e..a07fdda 100644 --- a/src/views/inspectionManagement/commissionInspection/index.vue +++ b/src/views/inspectionManagement/commissionInspection/index.vue @@ -1,318 +1,345 @@ <template> - <div> - <div v-if="!showDetail"> - <div class="content-main"> - <div class="top-bar"> - <el-form ref="form" :inline="true" :model="searchData"> - <el-form-item label="濮旀墭缂栧彿:" class="sermargin"> - <el-input - v-model="searchData.code" - class="input-form" - placeholder="璇疯緭鍏�" - > - </el-input> - </el-form-item> - <el-form-item label="鏍峰搧鍚嶇О:" class="sermargin"> - <el-input - v-model="searchData.name" - class="input-form" - placeholder="璇疯緭鍏�" - > - </el-input> - </el-form-item> - <el-form-item label="濮旀墭鍗曚綅:" style="margin-right: 20px;"> - <el-select v-model="searchData.department" placeholder="鍏ㄩ儴"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" @click="search">鏌ヨ</el-button> - <el-button type="primary" plain @click="reset">閲嶇疆</el-button> - </el-form-item> - </el-form> - <el-form> - <el-button class="rightBtn" type="primary" @click="goToaddCommision">鏂板濮旀墭</el-button> - </el-form> - </div> - <div class="library-table"> - <div class="table-header"> - <div class="search-bar"> - <el-radio-group v-model="radioValue" @change="radioclick"> - <el-radio-button v-for="item in conditionsOptions" :key="item.value" :label="item.value"> - {{ item.label }} - </el-radio-button> - </el-radio-group> - </div> - <div class="generateInsp"> - <el-button type="primary" size="mini" icon="el-icon-document" style="background-color: rgb(1, 102, 226);">鐢熸垚鎶ユ鍗�</el-button> - </div> - </div> - <div class="table-box"> - <el-table - ref="commisionTable" - :max-height="800" - :cell-style="{textAlign: 'center'}" - :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" - :data="commisionTable" - style="width: 100%" - > - <el-table-column - type="selection" - min-width="10%" - /> - <el-table-column - type="index" - label="搴忓彿" - min-width="10%" - /> - <el-table-column - prop="entrust_coding" - label="濮旀墭缂栧彿" - min-width="10%" - /> - <el-table-column - prop="entrusted" - label="濮旀墭鍗曚綅" - min-width="12%" - /> - <el-table-column - prop="samples_number" - label="鏍峰搧缂栧彿" - min-width="8%" - /> - <el-table-column - prop="sample_name" - label="鏍峰搧鍚嶇О" - min-width="8%" - /> - <el-table-column - prop="specifications_models" - label="瑙勬牸鍨嬪彿" - min-width="12%" - /> - <el-table-column - prop="dateSurvey" - label="閫佽揪鏃堕棿" - min-width="8%" - /> - <el-table-column - prop="completionDeadline" - label="瀹屾垚鏈熼檺" - min-width="8%" - /> - <el-table-column - prop="contacts" - label="濮旀墭缂栧埗浜�" - min-width="8%" - /> - <el-table-column - prop="inspectionTime" - label="妫�楠屾棩鏈�" - min-width="8%" - /> - <el-table-column - prop="inspection_status" - label="鐘舵��" - min-width="8%"> - <template slot-scope="scope"> - <div v-if="scope.row.inspection_status === 1"> - <span style="color: green;">宸叉娴�</span> - </div> - <div v-else> - <span style="color: red;">寰呮娴�</span> - </div> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - min-width="8%" - > - <template slot-scope="scope"> - <el-button type="text" size="small" @click="handleClick(scope.row)">鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - <!-- 鍒嗛〉鍣� --> - <div> - <el-pagination - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="currentPage" - :page-sizes="[5, 10, 20]" - :page-size="pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="total"> - </el-pagination> - </div> - </div> - </div> - </div> - </div> - <div v-else> - <router-view /> - </div> - </div> + <div> + <div v-if="!showDetail"> + <div class="content-main"> + <div class="top-bar"> + <el-form ref="form" :inline="true" :model="searchData"> + <el-form-item label="濮旀墭缂栧彿:" class="sermargin"> + <el-input v-model="searchData.code" class="input-form" placeholder="璇疯緭鍏�"> + </el-input> + </el-form-item> + <el-form-item label="鏍峰搧鍚嶇О:" class="sermargin"> + <el-input v-model="searchData.name" class="input-form" placeholder="璇疯緭鍏�"> + </el-input> + </el-form-item> + <el-form-item label="濮旀墭鍗曚綅:" style="margin-right: 20px;"> + <el-select v-model="searchData.department" placeholder="鍏ㄩ儴"> + <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="search">鏌ヨ</el-button> + <el-button type="primary" plain @click="reset">閲嶇疆</el-button> + </el-form-item> + </el-form> + <el-form> + <el-popover placement="left" width="350" trigger="click"> + <div class="vue_qr_div"> + <el-row> + <el-col> + <el-input v-model="view" readonly size="medium" style="width: 250px;margin-right: 10px;"></el-input> + <el-button size="small" type="primary" v-if="viewId==null" @click="viewDia=true">鐢熸垚</el-button> + <el-button size="small" type="primary" v-else-if="viewId!=null" @click="copy">澶嶅埗</el-button> + </el-col> + </el-row> + <el-row style="margin-top: 10px;"> + <el-col v-if="viewId==null">褰撳墠閾炬帴宸茶繃鏈燂紝璇风偣鍑荤敓鎴愭寜閽噸鏂扮敓鎴�</el-col> + <el-col + v-else-if="viewId!=null">褰撳墠閾炬帴灏嗗湪{{(parseInt(viewTime)/60/60)>1?(parseInt(viewTime)/60/60).toFixed(1)+'灏忔椂':Math.round(parseInt(viewTime)/60)+'鍒嗛挓'}}鍚庤繃鏈�</el-col> + </el-row> + </div> + <el-button slot="reference" class="rightBtn" type="primary" @click="goToaddCommision">鏂板濮旀墭</el-button> + </el-popover> + </el-form> + </div> + <div class="library-table"> + <div class="table-header"> + <div class="search-bar"> + <el-radio-group v-model="radioValue" @change="radioclick"> + <el-radio-button v-for="item in conditionsOptions" :key="item.value" :label="item.value"> + {{ item.label }} + </el-radio-button> + </el-radio-group> + </div> + <div class="generateInsp"> + <el-button type="primary" size="mini" icon="el-icon-document" + style="background-color: rgb(1, 102, 226);">鐢熸垚鎶ユ鍗�</el-button> + </div> + </div> + <div class="table-box"> + <el-table ref="commisionTable" :max-height="800" :cell-style="{textAlign: 'center'}" + :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" + :data="commisionTable" style="width: 100%"> + <el-table-column type="selection" min-width="10%" /> + <el-table-column type="index" label="搴忓彿" min-width="10%" /> + <el-table-column prop="entrust_coding" label="濮旀墭缂栧彿" min-width="10%" /> + <el-table-column prop="entrusted" label="濮旀墭鍗曚綅" min-width="12%" /> + <el-table-column prop="samples_number" label="鏍峰搧缂栧彿" min-width="8%" /> + <el-table-column prop="sample_name" label="鏍峰搧鍚嶇О" min-width="8%" /> + <el-table-column prop="specifications_models" label="瑙勬牸鍨嬪彿" min-width="12%" /> + <el-table-column prop="dateSurvey" label="閫佽揪鏃堕棿" min-width="8%" /> + <el-table-column prop="completionDeadline" label="瀹屾垚鏈熼檺" min-width="8%" /> + <el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" /> + <el-table-column prop="inspectionTime" label="妫�楠屾棩鏈�" min-width="8%" /> + <el-table-column prop="inspection_status" label="鐘舵��" min-width="8%"> + <template slot-scope="scope"> + <div v-if="scope.row.inspection_status === 1"> + <span style="color: green;">宸叉娴�</span> + </div> + <div v-else> + <span style="color: red;">寰呮娴�</span> + </div> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" min-width="8%"> + <template slot-scope="scope"> + <el-button type="text" size="small" @click="handleClick(scope.row)">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + <!-- 鍒嗛〉鍣� --> + <div> + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" + :current-page="currentPage" :page-sizes="[5, 10, 20]" :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" :total="total"> + </el-pagination> + </div> + </div> + </div> + </div> + </div> + <div v-else> + <router-view /> + </div> + <el-dialog title="閾炬帴鏃堕暱璁剧疆" :visible.sync="viewDia" width="30%"> + <div> + <el-row style="line-height: 46px;"> + <el-col :span="6" style="font-size: 14px;text-align: right;">鏃堕暱璁剧疆锛�</el-col> + <el-col :span="14" :offset="1"> + <el-select v-model="viewTime" size="medium"> + <el-option label="1 澶�" :value="1"></el-option> + <el-option label="2 澶�" :value="2"></el-option> + <el-option label="3 澶�" :value="3"></el-option> + <el-option label="4 澶�" :value="4"></el-option> + <el-option label="5 澶�" :value="5"></el-option> + <el-option label="6 澶�" :value="6"></el-option> + <el-option label="1 鍛�" :value="7"></el-option> + </el-select> + </el-col> + </el-row> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="getViewId()">鎻� 浜�</el-button> + <el-button @click="viewDia = false">鍙� 娑�</el-button> + </span> + </el-dialog> + <!-- 闅愯棌鍩熻緭鍏ユ鐢ㄦ潵澶嶅埗 --> + <input id="copyContext" style="position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;" /> + </div> </template> <script> -import { getCommisionList } from '@/api/inspection/commisioninspection' -export default { - data() { - return { - form: [], - searchData: { - code: '', - name: '', - department: '' - }, - options: [{ - value: '1', - label: '閮ㄩ棬1' - }], - radioValue: 0, - commisionTable: [{ - specifications_models: "GGXH-AAAAA", - inspectionTime: "2023-08-03", - id: 2, - samples_number: 0, - dateSurvey: "2023-08-03", - entrusted: "闃块噷宸村反", - completionDeadline: "2023-08-03", - contacts: "灏忛粦", - entrust_coding: "SL20230803000003", - sample_name: "鍙戝姩鏈�", - inspection_status: 1 - }], - conditionsOptions: [ - { - label: '鍏ㄩ儴', - value: 0 - }, - { - label: '宸叉楠�', - value: 1 - }, - { - label: '寰呮楠�', - value: 2 - } - ], - currentPage: 1, - pageSize: 5, - total: 100, - showDetail: false - } - }, - created() { - this.getCommisionList() - }, - updated() { - if (this.$router.currentRoute.name === 'AddCommision') { - // console.log(this.$router.currentRoute.name) - this.showDetail = true - } - }, - methods: { - async getCommisionList(){ - const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize}) - this.commisionTable = res.data.row - this.total = res.data.total - // console.log(res) - // 鑾峰彇鎵�鏈夌殑濮旀墭鍗曚綅鍚嶇О - const allDepartmentNames = [...new Set(this.commisionTable.map(item => item.entrusted))] - // 灏哸llDepartmentNames杞崲涓簅ptions闇�瑕佺殑鏍煎紡 - this.options = allDepartmentNames.map(name => ({ value: name, label: name })) + import { + getCommisionList, + getViewUUID, + selectViewUUID + } from '@/api/inspection/commisioninspection' + export default { + data() { + return { + form: [], + searchData: { + code: '', + name: '', + department: '' + }, + options: [{ + value: '1', + label: '閮ㄩ棬1' + }], + radioValue: 0, + commisionTable: [{ + specifications_models: "GGXH-AAAAA", + inspectionTime: "2023-08-03", + id: 2, + samples_number: 0, + dateSurvey: "2023-08-03", + entrusted: "闃块噷宸村反", + completionDeadline: "2023-08-03", + contacts: "灏忛粦", + entrust_coding: "SL20230803000003", + sample_name: "鍙戝姩鏈�", + inspection_status: 1 + }], + conditionsOptions: [{ + label: '鍏ㄩ儴', + value: 0 + }, + { + label: '宸叉楠�', + value: 1 + }, + { + label: '寰呮楠�', + value: 2 + } + ], + currentPage: 1, + pageSize: 5, + total: 100, + showDetail: false, + day: 1, + view: null, + viewId: null, + viewTime: 1, + viewDia: false + } + }, + created() { + this.getCommisionList() + }, + updated() { + if (this.$router.currentRoute.name === 'AddCommision') { + // console.log(this.$router.currentRoute.name) + this.showDetail = true + } + }, + methods: { + async getCommisionList() { + const res = await getCommisionList({ + pageNo: this.currentPage, + pageSize: this.pageSize + }) + this.commisionTable = res.data.row + this.total = res.data.total + // console.log(res) + // 鑾峰彇鎵�鏈夌殑濮旀墭鍗曚綅鍚嶇О + const allDepartmentNames = [...new Set(this.commisionTable.map(item => item.entrusted))] + // 灏哸llDepartmentNames杞崲涓簅ptions闇�瑕佺殑鏍煎紡 + this.options = allDepartmentNames.map(name => ({ + value: name, + label: name + })) - }, - // 鏌ヨ鏂规硶 - async search() { - // 灏嗘悳绱㈡潯浠朵綔涓哄弬鏁颁紶閫掔粰getCommisionList鏂规硶 - let res - if(this.radioValue === 0){ - res = await getCommisionList({ - pageNo: this.currentPage, - pageSize: this.pageSize, - entrustCoding: this.searchData.code, - sampleName: this.searchData.name, - entrusted: this.searchData.department, - }) - }else{ - res = await getCommisionList({ - pageNo: this.currentPage, - pageSize: this.pageSize, - entrustCoding: this.searchData.code, - sampleName: this.searchData.name, - entrusted: this.searchData.department, - inspectionStatus: this.radioValue - }) - } - // console.log(res) - this.commisionTable = res.data.row - this.total = res.data.total - }, + }, + // 鏌ヨ鏂规硶 + async search() { + // 灏嗘悳绱㈡潯浠朵綔涓哄弬鏁颁紶閫掔粰getCommisionList鏂规硶 + let res + if (this.radioValue === 0) { + res = await getCommisionList({ + pageNo: this.currentPage, + pageSize: this.pageSize, + entrustCoding: this.searchData.code, + sampleName: this.searchData.name, + entrusted: this.searchData.department, + }) + } else { + res = await getCommisionList({ + pageNo: this.currentPage, + pageSize: this.pageSize, + entrustCoding: this.searchData.code, + sampleName: this.searchData.name, + entrusted: this.searchData.department, + inspectionStatus: this.radioValue + }) + } + // console.log(res) + this.commisionTable = res.data.row + this.total = res.data.total + }, - // 閲嶇疆鏂规硶 - reset() { - // 閲嶇疆鎼滅储鏉′欢 - this.searchData.code = '' - this.searchData.name = '' - this.searchData.department = '' - this.radioValue = 0 - // 閲嶆柊鑾峰彇鏁版嵁 - this.getCommisionList() - }, - async radioclick(){ - // 澶勭悊鐐瑰嚮radio鐨勬椂闂� - console.log('radioValue',this.radioValue) - if(this.radioValue === 0){ - this.getCommisionList() - }else{ - const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize, inspectionStatus: this.radioValue}) - // console.log(res) - this.commisionTable = res.data.row - this.total = res.data.total - } - - }, - // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 - async handleSizeChange(val) { - // console.log(`姣忛〉 ${val} 鏉) - this.currentPage = 1 - this.pageSize = val - if(this.radioValue === 0){ - this.getCommisionList() - }else{ - const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize, inspectionStatus: this.radioValue}) - this.commisionTable = res.data.row - this.total = res.data.total - } - }, - // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤� - async handleCurrentChange(val) { - // console.log(`褰撳墠椤�: ${val}`) - this.currentPage = val - if(this.radioValue === 0){ - this.getCommisionList() - }else{ - const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize, inspectionStatus: this.radioValue}) - this.commisionTable = res.data.row - this.total = res.data.total - } - }, - goToaddCommision() { - this.$router.push('/inspectionManagement/commissionInspection/addCommision') - this.showDetail = true - } - } -} + // 閲嶇疆鏂规硶 + reset() { + // 閲嶇疆鎼滅储鏉′欢 + this.searchData.code = '' + this.searchData.name = '' + this.searchData.department = '' + this.radioValue = 0 + // 閲嶆柊鑾峰彇鏁版嵁 + this.getCommisionList() + }, + async radioclick() { + // 澶勭悊鐐瑰嚮radio鐨勬椂闂� + console.log('radioValue', this.radioValue) + if (this.radioValue === 0) { + this.getCommisionList() + } else { + const res = await getCommisionList({ + pageNo: this.currentPage, + pageSize: this.pageSize, + inspectionStatus: this.radioValue + }) + // console.log(res) + this.commisionTable = res.data.row + this.total = res.data.total + } + + }, + // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 + async handleSizeChange(val) { + // console.log(`姣忛〉 ${val} 鏉) + this.currentPage = 1 + this.pageSize = val + if (this.radioValue === 0) { + this.getCommisionList() + } else { + const res = await getCommisionList({ + pageNo: this.currentPage, + pageSize: this.pageSize, + inspectionStatus: this.radioValue + }) + this.commisionTable = res.data.row + this.total = res.data.total + } + }, + // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤� + async handleCurrentChange(val) { + // console.log(`褰撳墠椤�: ${val}`) + this.currentPage = val + if (this.radioValue === 0) { + this.getCommisionList() + } else { + const res = await getCommisionList({ + pageNo: this.currentPage, + pageSize: this.pageSize, + inspectionStatus: this.radioValue + }) + this.commisionTable = res.data.row + this.total = res.data.total + } + }, + goToaddCommision() { + // this.showDetail = true + selectViewUUID({ + day: this.day + }).then(res => { + this.view = `${this.vueIp}addCommision/${res.data.id}` + this.viewId = res.data.id + this.viewTime = res.data.time + }) + }, + getViewId() { + getViewUUID({ + day: this.viewTime == null ? 1 : this.viewTime + }).then(res => { + this.viewId = res.data + this.view = `${this.vueIp}addCommision/${res.data.id}` + this.viewDia = false + this.$message.success('閾炬帴宸茬敓鎴愶紝鐐瑰嚮澶嶅埗鎸夐挳杩涜澶嶅埗') + }) + }, + copy() { + document.getElementById('copyContext').value = this.view + const input = document.querySelector('#copyContext'); + input.select() + if (document.execCommand('copy')) { + this.$message.success('宸插鍒跺埌鍓创鏉�') + } + } + } + } </script> <style scoped> + .top-bar { + margin: -25px -15px; + background: #fff; + display: flex; + justify-content: space-between; + padding: 5px 24px 0px 24px; + } .top-bar{ margin: -25px -15px; @@ -323,10 +350,26 @@ .sermargin{ margin-right: 60px; } + .rightForm{ + display: flex; + justify-content: space-between; + /* background-color: #bfa; */ + height: 40px; + line-height: 40px; + >div{ + padding: 0px 10px; + padding-bottom: 10px; + border:1px solid rgb(8, 156, 230); + margin-right: 10px; + /* height: 40px; + line-height: 40px; */ + } + .rightBtn{ + background-color: rgb(1, 102, 226); + } + } } -.rightBtn{ - background-color: rgb(1, 102, 226); -} + .library-table{ background-color: #fff; flex: 1; @@ -361,4 +404,51 @@ } } + .rightBtn { + background-color: rgb(1, 102, 226); + } + + .library-table { + background-color: #fff; + flex: 1; + margin: 0px -15px; + margin-top: 40px; + display: flex; + flex-direction: column; + + .table-header { + padding: 20px; + display: flex; + justify-content: space-between; + + .el-form-item { + margin-bottom: 30px !important; + } + } + + .table-box { + padding: 0px 20px; + margin-top: 0px; + flex: 1; + background: #fff; + /* padding: 20px 20px 10px 20px; */ + display: flex; + flex-direction: column; + + .el-table { + flex: 1; + } + + >div:nth-child(2) { + display: flex; + justify-content: end; + margin: 10px 0; + } + } + } + + .vue_qr_div { + text-align: center; + color: #0166e2; + } </style> diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 567f922..d753b3b 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -43,10 +43,10 @@ </el-form-item> <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">Login</el-button> - <div class="tips"> + <!-- <div class="tips"> <span style="margin-right:20px;">username: admin</span> <span> password: any</span> - </div> + </div> --> </el-form> </div> </template> @@ -115,7 +115,7 @@ this.loading = false }) } else { - console.log('error submit!!') + console.log('鐧诲綍澶辫触!') return false } }) -- Gitblit v1.9.3