| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form> |
| | | <el-popover placement="left" width="130" trigger="click"> |
| | | <el-popover placement="left" width="350" 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> |
| | | <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-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="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="inspectionTime" 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="insTime" 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 v-if="scope.row.inspection_status === 0"> |
| | | <span style="color: green;">已报检</span> |
| | | </div> |
| | | <div v-else> |
| | | <span style="color: red;">待检测</span> |
| | | <span style="color: red;">未报检</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <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> |
| | | |
| | |
| | | import { |
| | | getCommisionList, |
| | | getViewUUID, |
| | | selectViewUUID |
| | | selectViewUUID, |
| | | delLink |
| | | } from '@/api/inspection/commisioninspection' |
| | | import vueQr from 'vue-qr' |
| | | export default { |
| | | components: { |
| | | vueQr |
| | | }, |
| | | data() { |
| | | return { |
| | | form: [], |
| | |
| | | total: 100, |
| | | showDetail: false, |
| | | day: 1, |
| | | viewId: '' |
| | | view: null, |
| | | viewId: null, |
| | | viewTime: 1, |
| | | viewDia: false |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | }, |
| | | updated() { |
| | | if (this.$router.currentRoute.name === 'AddCommision') { |
| | | // console.log(this.$router.currentRoute.name) |
| | | this.showDetail = true |
| | | } |
| | | }, |
| | |
| | | }) |
| | | this.commisionTable = res.data.row |
| | | this.total = res.data.total |
| | | // console.log(res) |
| | | // 获取所有的委托单位名称 |
| | | const allDepartmentNames = [...new Set(this.commisionTable.map(item => item.entrusted))] |
| | | // 将allDepartmentNames转换为options需要的格式 |
| | |
| | | inspectionStatus: this.radioValue |
| | | }) |
| | | } |
| | | // console.log(res) |
| | | this.commisionTable = res.data.row |
| | | this.total = res.data.total |
| | | }, |
| | |
| | | }, |
| | | async radioclick() { |
| | | // 处理点击radio的时间 |
| | | console.log('radioValue', this.radioValue) |
| | | if (this.radioValue === 0) { |
| | | this.getCommisionList() |
| | | } else { |
| | |
| | | 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) { |
| | |
| | | }, |
| | | // 当前页改变时触发 跳转其他页 |
| | | async handleCurrentChange(val) { |
| | | // console.log(`当前页: ${val}`) |
| | | this.currentPage = val |
| | | if (this.radioValue === 0) { |
| | | this.getCommisionList() |
| | |
| | | } |
| | | }, |
| | | goToaddCommision() { |
| | | // this.$router.push('/inspectionManagement/commissionInspection/addCommision') |
| | | // 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('已复制到剪贴板') |
| | | } |
| | | }, |
| | | handleClick(row){ |
| | | delLink({ |
| | | id: row.id |
| | | }).then(res=>{ |
| | | this.$message.success('删除成功') |
| | | this.getCommisionList() |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | <style scoped lang="scss"> |
| | | .top-bar { |
| | | margin: -25px -15px; |
| | | background: #fff; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | padding: 5px 24px 0px 24px; |
| | | padding: 24px 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; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .vue_qr_div{ |
| | | |
| | | .vue_qr_div { |
| | | text-align: center; |
| | | color: #0166e2; |
| | | } |
| | | </style> |
| | | </style> |