| | |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination" |
| | | key="tableData0"></lims-table> |
| | | key="tableData0"> |
| | | <div slot="action" slot-scope="scope"> |
| | | <el-button size="small" type="text" @click="handleDataLook(scope.row)">数据查看</el-button> |
| | | <el-button type="text" size="small" |
| | | :disabled="(scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5) && checkPermi(['update:product:onPlan'])" |
| | | @click="editInspection(scope.row)">修改检验值</el-button> |
| | | <el-button type="text" size="small" :disabled="( |
| | | scope.row.userName == null || |
| | | scope.row.insState == 3 || |
| | | scope.row.insState == 5 || |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)) |
| | | )" |
| | | @click="handleInspection(scope.row)">检验</el-button> |
| | | <el-button type="text" size="small" :disabled="( |
| | | scope.row.userName == null || |
| | | scope.row.insState == 5 || |
| | | scope.row.insState == 3 || |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)) |
| | | )" |
| | | @click="handleConnect(scope.row)">交接</el-button> |
| | | <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">原始记录</el-button> |
| | | <el-popover placement="bottom" trigger="hover" style="margin-left: 6px"> |
| | | <template #reference> |
| | | <el-button link type="text" size="small">更多</el-button> |
| | | </template> |
| | | <div> |
| | | <el-button :disabled="scope.row.insState != 3" style="margin-left: 10px" type="text" size="small" @click="download(scope.row)">下载报告</el-button> |
| | | <el-upload ref='upload' |
| | | :action="javaApi + '/insReport/inReport'" |
| | | :before-upload="beforeUpload" |
| | | :data="{id: scope.row.insReportId}" |
| | | :headers="uploadHeader" :on-error="onError" |
| | | :on-success="handleSuccessUp" |
| | | :show-file-list="false" |
| | | style="display: inline;margin: 0 6px" |
| | | accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'> |
| | | <el-button :disabled="scope.row.insState != 3" size="small" type="text">上传</el-button> |
| | | </el-upload> |
| | | <el-button :disabled="scope.row.insState != 3" type="text" size="small" @click="handleRestore(scope.row)">还原</el-button> |
| | | <el-button :disabled="scope.row.insState != 3" type="text" size="small" @click="handleIssued(scope.row)">查看报告</el-button> |
| | | </div> |
| | | </el-popover> |
| | | </div> |
| | | </lims-table> |
| | | </div> |
| | | </div> |
| | | <el-dialog :visible.sync="claimVisible" title="提示" width="400px"> |
| | |
| | | } from "@/api/business/inspectionTask.js"; |
| | | import { mapGetters } from "vuex"; |
| | | import {getRetestResult} from "@/api/business/rawMaterialOrder"; |
| | | import {upReportUrl} from "@/api/business/insReport"; |
| | | export default { |
| | | name: 'InspectionTask', |
| | | components: { |
| | |
| | | { label: "检验开始时间", prop: "insTime", width: "140px" }, |
| | | { label: "理由", prop: "verifyTell", width: "140px" }, |
| | | { |
| | | dataType: "action", |
| | | fixed: "right", |
| | | label: "操作", |
| | | operation: [ |
| | | { |
| | | name: "数据查看", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.handleDataLook(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: "修改检验值", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.editInspection(row); |
| | | }, |
| | | disabled: (row) => { |
| | | return (row.userName == null || row.insState == 3 || row.insState == 5) && this.checkPermi(['update:product:onPlan']) |
| | | }, |
| | | }, |
| | | // { |
| | | // name: "查看工时", |
| | | // type: "text", |
| | | // clickFun: (row) => { |
| | | // this.viewManHour(row); |
| | | // }, |
| | | // showHide: (row) => { |
| | | // return this.checkPermi(['get:working:hours:byOrder']) |
| | | // }, |
| | | // }, |
| | | { |
| | | name: "检验", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.handleInspection(row); |
| | | }, |
| | | disabled: (row) => { |
| | | return ( |
| | | row.userName == null || |
| | | row.insState == 3 || |
| | | row.insState == 5 || |
| | | (row.userName && !row.userName.includes(this.nickName)) |
| | | ); |
| | | }, |
| | | }, |
| | | { |
| | | name: "交接", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.handleConnect(row); |
| | | }, |
| | | disabled: (row) => { |
| | | return ( |
| | | row.userName == null || |
| | | row.insState == 5 || |
| | | row.insState == 3 || |
| | | (row.userName && !row.userName.includes(this.nickName)) |
| | | ); |
| | | }, |
| | | }, |
| | | { |
| | | name: "原始记录", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.viewInspectInfo(row); |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | dataType: "slot", |
| | | slot: "action", |
| | | width: '340px', |
| | | label: "操作" |
| | | } |
| | | ], |
| | | page: { |
| | | total: 0, |
| | |
| | | this.page.current = 1; |
| | | this.queryParams.typeSource = this.tabIndex; |
| | | this.getList(); |
| | | }, |
| | | // 下载报告 |
| | | download(row) { |
| | | 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) { |
| | | this.$confirm('是否还原当前报告?', "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | upReportUrl({ id: row.insReportId }).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('还原成功') |
| | | this.refreshTable() |
| | | } |
| | | }) |
| | | }).catch(() => { }) |
| | | |
| | | }, |
| | | // 查看报告 |
| | | handleIssued(row) { |
| | | // 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; |
| | | }, |
| | | // 查看产业链信息 |
| | | openInfoDialog(row) { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | beforeUpload (file) { |
| | | if (file.size > 1024 * 1024 * 10) { |
| | | this.$message.error('上传文件不超过10M'); |
| | | this.$refs.upload.clearFiles() |
| | | return false; |
| | | } else { |
| | | return true; |
| | | } |
| | | }, |
| | | onError(error, file, fileList, index) { |
| | | this.$message.error('文件上传失败,请重试'); |
| | | }, |
| | | onExceed() { |
| | | this.$message.warning("超出文件个数"); |
| | | }, |
| | | handleSuccessUp(response) { |
| | | if (response.code == 200) { |
| | | this.$refs.upload.clearFiles() |
| | | this.$message.success("上传成功"); |
| | | } else { |
| | | this.$message.error(response.message); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |