From 8d51c5ca5c50409d3272e5a51b9ba430f68311b2 Mon Sep 17 00:00:00 2001
From: yuyu <1981343953@qq.com>
Date: 星期五, 25 八月 2023 17:32:47 +0800
Subject: [PATCH] 8.25 成品检测模板
---
src/views/inspectionManagement/commissionInspection/index.vue | 609 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 357 insertions(+), 252 deletions(-)
diff --git a/src/views/inspectionManagement/commissionInspection/index.vue b/src/views/inspectionManagement/commissionInspection/index.vue
index a10086e..7fa21a6 100644
--- a/src/views/inspectionManagement/commissionInspection/index.vue
+++ b/src/views/inspectionManagement/commissionInspection/index.vue
@@ -1,184 +1,248 @@
<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-popover placement="left" width="130" trigger="click">
- <div class="vue_qr_div">
- <span style="color: #0078ff;">鎵弿浜岀淮鐮�<br />鑾峰彇濮旀墭鍗�</span>
- <vue-qr :text="viewId" :size="100" :margin="0" style="margin-top: 10px;">
- </vue-qr>
- </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>
- </div>
+ <div>
+ <div>
+ <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 class="rightForm">
+ <!-- 鏄剧ず鏂板濮旀墭鐨勭綉鍧�閾炬帴 -->
+ <div v-show="showlinkDiv === true">
+ <span style="font-size: 12px;">{{ textToCopy }}</span>
+ <el-button type="text" @click="copyText" style="margin-left: 30px;">{{ copied ===false?'澶嶅埗':'宸插鍒�' }}</el-button>
+ </div>
+ <el-button class="rightBtn" type="primary" @click="showLink">鏂板濮旀墭</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>
</template>
<script>
- import {
- getCommisionList,
- getViewUUID,
- selectViewUUID
- } from '@/api/inspection/commisioninspection'
- import vueQr from 'vue-qr'
- export default {
- components: {
- vueQr
- },
- 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,
- viewId: ''
- }
- },
- 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 } 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,
+ showlinkDiv: false,
+ copied: false,
+ textToCopy: 'http://localhost:8080/#/addCommision'
+ }
+ },
+ created() {
+ this.getCommisionList()
+ },
+ // updated() {
+ // if (this.$router.currentRoute.name === 'AddCommision') {
+ // // console.log(this.$router.currentRoute.name)
+ // this.showDetail = true
+ // }
+ // },
+ methods: {
+ copyText() {
+ this.$copyText(this.textToCopy)
+ .then(() => {
+ this.copied = true;
+ // setTimeout(() => {
+ // this.copied = false;
+ // }, 2000);
+ })
+ .catch(error => {
+ console.log('澶嶅埗澶辫触',error);
+ });
+ },
+ 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 }))
},
// 鏌ヨ鏂规硶
@@ -208,77 +272,59 @@
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
- selectViewUUID({
- day: this.day
- }).then(res => {
- this.viewId = res.data
- })
- }
- }
- }
+ // 閲嶇疆鏂规硶
+ 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
+ }
+ },
+ showLink() {
+ this.showlinkDiv = true
+ }
+ }
+}
</script>
<style scoped>
@@ -288,11 +334,70 @@
display: flex;
justify-content: space-between;
padding: 5px 24px 0px 24px;
+ }
- .sermargin {
- margin-right: 60px;
- }
- }
+.top-bar{
+ margin: -25px -15px;
+ background: #fff;
+ display: flex;
+ justify-content: space-between;
+ padding: 5px 24px 0px 24px;
+ .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);
+ }
+ }
+ }
+
+.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;
+ }
+ }
+ }
.rightBtn {
background-color: rgb(1, 102, 226);
--
Gitblit v1.9.3