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