From 9b0cd3594bfa7d8986d7beee49bdd873ea41d2cd Mon Sep 17 00:00:00 2001 From: yuyu <1981343953@qq.com> Date: 星期四, 24 八月 2023 13:55:20 +0800 Subject: [PATCH] modified: src/views/inspectionManagement/commissionInspection/index.vue --- 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