| | |
| | | <div> |
| | | <el-form :model="entity" ref="entity" size="small" :inline="true"> |
| | | <el-form-item label="委托编号" prop="entrustCode"> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="entity.entrustCode" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="entity.entrustCode" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="下单类别" prop="entrustCode"> |
| | | <el-select size="small" v-model="entity.typeSource" clearable style="width: 100%;" @change="refreshTable()"> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="refresh">重 置</el-button> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="refreshTable">查 询</el-button> |
| | | <el-button type="primary" size="mini" @click="refreshTable">查询</el-button> |
| | | <el-button size="mini" @click="refresh">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="page_total"> |
| | | <span>总计任务数量:</span> |
| | | <span>{{page.total}}</span> |
| | | <span>{{ page.total }}</span> |
| | | </div> |
| | | </div> |
| | | <div> |
| | |
| | | :rowClassName="rowClassName" :height="'calc(100vh - 270px)'" @pagination="pagination" |
| | | key="tableData0"></lims-table> |
| | | </div> |
| | | <!-- <div style="width: 100%;height: 100%;" v-if="activeFace >0 && isCopper == null">--> |
| | | <!-- <Add :active="activeFace" :currentId="currentId"/>--> |
| | | <!-- </div>--> |
| | | <!-- <div style="width: 100%;height: 100%;" v-if="activeFace >0 && isCopper == 0">--> |
| | | <!-- <CustomsInspection :active="activeFace" :customsInspection="customsInspection" :currentId="currentId"/>--> |
| | | <!-- </div>--> |
| | | <!-- <div style="width: 100%;height: 100%;" v-if="activeFace >0 && isCopper == 1">--> |
| | | <!-- <CopperOrder :active="activeFace" :currentId="currentId"></CopperOrder>--> |
| | | <!-- </div>--> |
| | | <!-- <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory" :typeSource="typeSource" :state="state"/>--> |
| | | <!-- <!–产业链信息查看–>--> |
| | | <!-- <ShowInfo v-if="showInfoDialog" :showInfoDialog="showInfoDialog" ref="showInfoDialog"></ShowInfo>--> |
| | | <!--报告查看--> |
| | | <el-dialog title="报告查看" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false" |
| | | :fullscreen="fullscreen"> |
| | | :fullscreen="fullscreen"> |
| | | <div class="full-screen"> |
| | | <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i> |
| | | <img src="@/assets/images/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" > |
| | | <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen = true;" |
| | | v-if="!fullscreen"></i> |
| | | <img src="@/assets/images/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen = false;"> |
| | | </div> |
| | | <div style="height: 80vh;" v-if="issuedVisible"> |
| | | <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> |
| | |
| | | </el-dialog> |
| | | <el-dialog title="查看附件" :visible.sync="lookDialogVisible" width="800px" top="5vh" fullscreen> |
| | | <filePreview v-if="lookDialogVisible" :fileUrl="javaApi + '/word/' + currentInfo.tempUrlPdf" :currentFile="{}" |
| | | style="max-height: 90vh;overflow-y: auto;" /> |
| | | style="max-height: 90vh;overflow-y: auto;" /> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getYearAndMonthAndDays } from "@/utils/date"; |
| | | // import ShowInfo from "../do/b1-material-ins-order/showInfo.vue"; |
| | | import onlyoffice from "@/components/Onlyoffice/onlyoffice.vue"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import {selectInsOrderPlanList, selectUserCondition} from "@/api/business/inspectionTask"; |
| | | import {mapGetters} from "vuex"; |
| | | import {upReportUrl} from "@/api/business/insReport"; |
| | | import {delfile} from "@/api/business/rawMaterialOrder"; |
| | | import { selectInsOrderPlanList, selectUserCondition } from "@/api/business/inspectionTask"; |
| | | import { mapGetters } from "vuex"; |
| | | import { upReportUrl } from "@/api/business/insReport"; |
| | | import filePreview from "@/components/Preview/filePreview.vue"; |
| | | |
| | | export default { |
| | | name: 'InspectionReview', |
| | | components: { |
| | | filePreview, |
| | | onlyoffice, |
| | | limsTable, |
| | | // ShowInfo, |
| | | }, |
| | | dicts: ["urgency_level", "inspection_task_state"], |
| | | computed: { |
| | |
| | | prop: "type", |
| | | dataType: "tag", |
| | | formatData: (params) => { |
| | | return this.urgencyLevel.find((m) => m.value == params).label; |
| | | if (this.urgencyLevel.find((m) => m.value == params)) { |
| | | return this.urgencyLevel.find((m) => m.value == params).label; |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (this.urgencyLevel.find((m) => m.value == params)) { |
| | | return this.urgencyLevel.find((m) => m.value == params).type; |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | }, |
| | | { |
| | |
| | | prop: "insState", |
| | | dataType: "tag", |
| | | formatData: (params) => { |
| | | return this.inspectionTaskState.find((m) => m.value == params) |
| | | .label; |
| | | if (this.inspectionTaskState.find((m) => m.value == params)) { |
| | | return this.inspectionTaskState.find((m) => m.value == params).label; |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | return this.inspectionTaskState.find((m) => m.value == params).type; |
| | | if (this.inspectionTaskState.find((m) => m.value == params)) { |
| | | return this.inspectionTaskState.find((m) => m.value == params).type; |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | }, |
| | | { label: "检验人", prop: "userName" }, |
| | |
| | | this.handleReview(row); |
| | | }, |
| | | disabled: (row) => { |
| | | return row.userName == null || row.userName && !row.userName.includes(this.nickName) |
| | | return row.checkName == null || (row.checkName && !row.checkName.includes(this.nickName)) |
| | | } |
| | | }, |
| | | { |
| | |
| | | upIndex: 0, |
| | | planTotal: 0, |
| | | insStateList: [], |
| | | state:0,//0:台账页,1:检验页面,2检验页面(复核),默认为0 |
| | | state: 0,//0:台账页,1:检验页面,2检验页面(复核),默认为0 |
| | | activeFace: 0, //1:下单,2:查看,3:审核,默认为0 |
| | | examine: null, |
| | | isReport: 0, |
| | | currentId: null, |
| | | orderId: 0, |
| | | personList:[], |
| | | personList: [], |
| | | currentTime: null, |
| | | sonLaboratoryList:[], |
| | | sonLaboratoryList: [], |
| | | typeSourceList: [ |
| | | {label: '成品下单', value: 0}, |
| | | {label: '原材料下单', value: 1}, |
| | | { label: '成品下单', value: 0 }, |
| | | { label: '原材料下单', value: 1 }, |
| | | ], |
| | | isCopper: null, |
| | | customsInspection: {}, |
| | |
| | | showInfoDialog: false, // 产业链信息查看 |
| | | issuedVisible: false, |
| | | fullscreen: false, |
| | | option:null, |
| | | option: null, |
| | | orderTypeList: [ |
| | | {label: '委托试验', value: 'Customer-ordered test'}, |
| | | {label: '抽检', value: '抽检'}, |
| | | {label: '进厂检验', value: '进厂检验'}, |
| | | {label: '季度检验', value: 'Quarterly inspection'}, |
| | | { label: '委托试验', value: 'Customer-ordered test', type: 'success' }, |
| | | { label: '抽检', value: '抽检', type: 'danger' }, |
| | | { label: '进厂检验', value: '进厂检验', type: 'info' }, |
| | | { label: '季度检验', value: 'Quarterly inspection', type: '' }, |
| | | ], |
| | | urgencyLevel: [], |
| | | inspectionTaskState: [], |
| | |
| | | this.currentTime = getYearAndMonthAndDays() |
| | | }, |
| | | mounted() { |
| | | this.refreshTable() |
| | | }, |
| | | activated() { |
| | | this.refreshTable() |
| | | }, |
| | | methods: { |
| | |
| | | } |
| | | return ""; |
| | | }, |
| | | // 查看产业链信息 |
| | | // openInfoDialog (row) { |
| | | // this.showInfoDialog = true |
| | | // this.$nextTick(() => { |
| | | // this.$refs.showInfoDialog.getInfo(row.ifsInventoryId) |
| | | // }) |
| | | // }, |
| | | selectAllByOne(row) { |
| | | this.isCopper = row.isCopper |
| | | this.customsInspection = row |
| | |
| | | case 0: |
| | | // 原材料 |
| | | this.$router.push({ |
| | | path: "/materialOrder/customsInspection", query: { |
| | | path: "/materialOrder/customsInspectionView", query: { |
| | | customsInspection: row, |
| | | active: this.activeFace, |
| | | currentId: this.currentId, |
| | |
| | | case null: |
| | | // 成品 |
| | | this.$router.push({ |
| | | path: "/productOrder/add", query: { |
| | | path: "/productOrder/addView", query: { |
| | | examine: this.examine, |
| | | active: this.activeFace, |
| | | currentId: this.currentId |
| | |
| | | case 1: |
| | | // 铜材 |
| | | this.$router.push({ |
| | | path: "/materialOrder/copperOrder", query: { |
| | | path: "/materialOrder/CopperView", query: { |
| | | active: this.activeFace, |
| | | currentId: this.currentId |
| | | } |
| | |
| | | } |
| | | }, |
| | | // 复核回调 |
| | | handleReview(row){ |
| | | handleReview(row) { |
| | | this.$router.push({ |
| | | path: "/inspectionTask/inspection", |
| | | query: { |
| | |
| | | }, |
| | | }) |
| | | }, |
| | | // 上传报告 |
| | | handleUpload (row) { |
| | | |
| | | }, |
| | | // 下载报告 |
| | | download(row) { |
| | | let url = this.javaApi+'/word/' + (row.urlS===null||row.urlS==='')?row.url:row.urlS |
| | | this.$download.saveAs(url, row.fileName); |
| | | let url = (row.urlS===null||row.urlS==='')?row.url:row.urlS |
| | | const link = document.createElement('a'); |
| | | link.href = this.javaApi + url; |
| | | link.target = '_blank'; |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | }, |
| | | // 还原操作 |
| | | handleRestore(row) { |
| | |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | upReportUrl({id: row.insReportId}).then(res => { |
| | | upReportUrl({ id: row.insReportId }).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('还原成功') |
| | | this.refreshTable() |
| | |
| | | }, |
| | | // 查看报告 |
| | | handleIssued(row) { |
| | | if (!row.tempUrlPdf) return this.$message.warning('文件未上传') |
| | | this.currentInfo = row |
| | | this.lookDialogVisible = true |
| | | // this.currentInfo = row; |
| | | // let fileName = row.url |
| | | // let fileType = "docx" |
| | | // if (row.tempUrlPdf != null || row.tempUrlPdf === '') { |
| | | // fileName = row.tempUrlPdf |
| | | // fileType = "pdf" |
| | | // } |
| | | // fileName = fileName.replace('/word/','') |
| | | // const userName = this.nickName |
| | | // this.option = { |
| | | // url: this.javaApi + "/word/" + fileName, |
| | | // isEdit: false, |
| | | // fileType: fileType, |
| | | // title: fileName, |
| | | // lang: 'zh-CN', |
| | | // isPrint: false, |
| | | // user_id: 1, |
| | | // user_name: userName, |
| | | // editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName |
| | | // } |
| | | // this.issuedVisible = true; |
| | | // todo: 查看报告组件 |
| | | this.currentInfo = row; |
| | | let fileName = row.url |
| | | let fileType = "docx" |
| | | if (row.tempUrlPdf != null || row.tempUrlPdf === '') { |
| | | fileName = row.tempUrlPdf |
| | | fileType = "pdf" |
| | | } |
| | | fileName = fileName.replace('/word/','') |
| | | const userName = this.nickName |
| | | this.option = { |
| | | url: this.javaApi + "/word/" + fileName, |
| | | isEdit: false, |
| | | fileType: fileType, |
| | | title: fileName, |
| | | lang: 'zh-CN', |
| | | isPrint: false, |
| | | user_id: 1, |
| | | user_name: userName, |
| | | editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName |
| | | } |
| | | this.issuedVisible = true; |
| | | }, |
| | | getAuthorizedPerson() { |
| | | selectUserCondition({ type: 1 }).then((res) => { |
| | |
| | | <style scoped> |
| | | .page_total { |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | } |
| | | .page_total span:last-child { |
| | | color: #3a7bfa; |
| | | font-size: 23px; |
| | | font-weight: 400; |
| | | } |
| | | </style> |