| | |
| | | <div> |
| | | <el-form :model="entity" ref="entity" size="small" :inline="true"> |
| | | <el-form-item label="报告编号" prop="code"> |
| | | <el-input v-model="entity.code" clearable placeholder="请输入" |
| | | size="small" @keyup.enter.native="refreshTable()"></el-input> |
| | | <el-input v-model="entity.code" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="queryStatus"> |
| | | <el-select v-model="entity.queryStatus" clearable size="small" @change="refreshTable()"> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" @click="refresh()">重置</el-button> |
| | | <el-button size="mini" type="primary" @click="refreshTable()">查询</el-button> |
| | | <el-button :loading="outLoading" size="mini" type="primary" @click="handleDowns">批量下载</el-button> |
| | | <el-button size="mini" @click="refresh()">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div style="text-align: right;margin-bottom: 10px"> |
| | | <el-button :loading="outLoading" size="mini" type="primary" @click="handleDowns">批量下载</el-button> |
| | | </div> |
| | | <div> |
| | | <lims-table :tableData="valueTableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :isSelection="true" :handleSelectionChange="handleChange" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination" key="valueTableData"> |
| | | :isSelection="true" :handleSelectionChange="handleChange" :height="'calc(100vh - 290px)'" |
| | | @pagination="pagination" key="valueTableData"> |
| | | <div slot="action" slot-scope="scope"> |
| | | <el-button size="small" type="text" @click="viewIssued(scope.row)">查看报告</el-button> |
| | | <el-upload ref='upload1' |
| | | style="display: inline;margin: 0 6px" |
| | | :action="fileAction1 +'?id='+ scope.row.id" |
| | | :auto-upload="true" |
| | | :before-upload="fileBeforeUpload1" |
| | | :headers="uploadHeader" :on-error="onError1" |
| | | :on-success="handleSuccessUp1" |
| | | :show-file-list="false" |
| | | accept='.doc,.docx'> |
| | | <el-button size="small" type="text" :disabled="scope.row.state != 0 || nickName !== scope.row.writeUserName">上传</el-button> |
| | | <el-upload ref='upload1' style="display: inline;margin: 0 6px" :action="fileAction1 + '?id=' + scope.row.id" |
| | | :auto-upload="true" :before-upload="fileBeforeUpload1" :headers="uploadHeader" :on-error="onError1" |
| | | :on-success="handleSuccessUp1" :show-file-list="false" accept='.doc,.docx'> |
| | | <el-button size="small" type="text" |
| | | :disabled="scope.row.state != 0 || nickName !== scope.row.writeUserName">上传</el-button> |
| | | </el-upload> |
| | | <el-button type="text" size="small" :disabled="scope.row.state != 0 || nickName !== scope.row.writeUserName" @click="handleRestore(scope.row)">还原</el-button> |
| | | <el-button type="text" size="small" :disabled="scope.row.state != 0 || nickName !== scope.row.writeUserName" @click="sendBackTask(scope.row)">退回任务</el-button> |
| | | <el-button type="text" size="small" :disabled="scope.row.state != 0 || nickName !== scope.row.writeUserName" @click="handle(scope.row)">提交</el-button> |
| | | <el-button type="text" size="small" :disabled="scope.row.state == null || scope.row.state == 0 ||scope.row.isExamine == 1 || nickName !== scope.row.examineUser" @click="handleIssued(scope.row)">审核</el-button> |
| | | <el-button type="text" size="small" :disabled="scope.row.state == null || scope.row.state == 0 || scope.row.isExamine == 0 || scope.row.isExamine == null || scope.row.isRatify == 1 || nickName !== scope.row.ratifyUser" @click="handleApprove(scope.row)">批准</el-button> |
| | | <el-button type="text" size="small" :disabled="scope.row.state != 0 || nickName !== scope.row.writeUserName" |
| | | @click="handleRestore(scope.row)">还原</el-button> |
| | | <el-button type="text" size="small" :disabled="scope.row.state != 0 || nickName !== scope.row.writeUserName" |
| | | @click="sendBackTask(scope.row)">退回任务</el-button> |
| | | <el-button type="text" size="small" :disabled="scope.row.state != 0 || nickName !== scope.row.writeUserName" |
| | | @click="handle(scope.row)">提交</el-button> |
| | | <el-button type="text" size="small" |
| | | :disabled="scope.row.state == null || scope.row.state == 0 || scope.row.isExamine == 1 || nickName !== scope.row.examineUser" |
| | | @click="handleIssued(scope.row)">审核</el-button> |
| | | <el-button type="text" size="small" |
| | | :disabled="scope.row.state == null || scope.row.state == 0 || scope.row.isExamine == 0 || scope.row.isExamine == null || scope.row.isRatify == 1 || nickName !== scope.row.ratifyUser" |
| | | @click="handleApprove(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> |
| | |
| | | </lims-table> |
| | | </div> |
| | | <el-dialog :fullscreen="fullscreen" :modal-append-to-body="false" :visible.sync="claimVisible" title="在线编制" |
| | | width="22cm"> |
| | | width="22cm"> |
| | | <div class="full-screen"> |
| | | <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" |
| | | @click="fullscreen=true;"></i> |
| | | <img v-else alt="" src="@/assets/images/no-full.svg" style="cursor: pointer;" @click="fullscreen=false;"> |
| | | @click="fullscreen = true;"></i> |
| | | <img v-else alt="" src="@/assets/images/no-full.svg" style="cursor: pointer;" @click="fullscreen = false;"> |
| | | </div> |
| | | <Word v-if="claimVisible" ref="Word" :class="{fullscreen:fullscreen}" :value="value" style="height:70vh" /> |
| | | <Word v-if="claimVisible" ref="Word" :class="{ fullscreen: fullscreen }" :value="value" style="height:70vh" /> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="claimVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="confirmClaim">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :fullscreen="fullscreen" :modal-append-to-body="false" :visible.sync="issuedVisible" title="报告审核" |
| | | width="80vw"> |
| | | width="80vw"> |
| | | <div class="full-screen"> |
| | | <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;"></i> |
| | | <img v-else alt="" src="@/assets/images/no-full.svg" style="cursor: pointer;" @click="fullscreen=false;" > |
| | | <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" |
| | | @click="fullscreen = true;"></i> |
| | | <img v-else alt="" src="@/assets/images/no-full.svg" style="cursor: pointer;" @click="fullscreen = false;"> |
| | | </div> |
| | | <div v-if="issuedVisible" style="height: 80vh;"> |
| | | <div v-if="issuedVisible" style="height: 70vh;"> |
| | | <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button :disabled="loadingIssued" @click="issuedReasonVisible=true">不通过</el-button> |
| | | <el-button type="primary" @click="subIssued">通 过</el-button> |
| | | </span> |
| | | <el-button :disabled="loadingIssued" @click="issuedReasonVisible = true">不通过</el-button> |
| | | <el-button type="primary" @click="subIssued">通 过</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :modal-append-to-body="false" :visible.sync="issuedReasonVisible" title="不通过原因" width="400px"> |
| | | <div class="search_thing"> |
| | |
| | | <div class="search_input"><el-input v-model="reason" clearable placeholder="请输入" size="small"></el-input></div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button :disabled="loadingIssuedReason" @click="issuedReasonVisible=false">取消</el-button> |
| | | <el-button :loading="loadingIssuedReason" type="primary" @click="handleIssuedReason">确定</el-button> |
| | | </span> |
| | | <el-button :disabled="loadingIssuedReason" @click="issuedReasonVisible = false">取消</el-button> |
| | | <el-button :loading="loadingIssuedReason" type="primary" @click="handleIssuedReason">确定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :fullscreen="fullscreen" :modal-append-to-body="false" :visible.sync="approveVisible" title="报告批准" width="80vw"> |
| | | <el-dialog :fullscreen="fullscreen" :modal-append-to-body="false" :visible.sync="approveVisible" title="报告批准" |
| | | width="80vw"> |
| | | <div class="full-screen"> |
| | | <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;"></i> |
| | | <img v-else alt="" src="@/assets/images/no-full.svg" style="cursor: pointer;" @click="fullscreen=false;" > |
| | | <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" |
| | | @click="fullscreen = true;"></i> |
| | | <img v-else alt="" src="@/assets/images/no-full.svg" style="cursor: pointer;" @click="fullscreen = false;"> |
| | | </div> |
| | | <div v-if="approveVisible" style="height: 80vh;"> |
| | | <div v-if="approveVisible" style="height: 70vh;"> |
| | | <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button :disabled="loadingApprove" @click="approveReasonVisible=true">不批准</el-button> |
| | | <el-button :loading="loadingApprove" type="primary" @click="subApprove">批 准</el-button> |
| | | </span> |
| | | <el-button :disabled="loadingApprove" @click="approveReasonVisible = true">不批准</el-button> |
| | | <el-button :loading="loadingApprove" type="primary" @click="subApprove">批 准</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :modal-append-to-body="false" :visible.sync="approveReasonVisible" title="不批准原因" width="400px"> |
| | | <div class="search_thing"> |
| | |
| | | <div class="search_input"><el-input v-model="reason" clearable placeholder="请输入" size="small"></el-input></div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button :disabled="loadingApproveReason" @click="approveReasonVisible=false">取消</el-button> |
| | | <el-button :loading="loadingApproveReason" type="primary" @click="handleApproveReason">确定</el-button> |
| | | </span> |
| | | <el-button :disabled="loadingApproveReason" @click="approveReasonVisible = false">取消</el-button> |
| | | <el-button :loading="loadingApproveReason" type="primary" @click="handleApproveReason">确定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="addApproverDia" title="指定批准人员" |
| | | width="400px" |
| | | @close="closeAddApproverDia"> |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="addApproverDia" title="指定批准人员" width="400px" |
| | | @close="closeAddApproverDia"> |
| | | <div class="body" style="display: flex;padding: 10px;align-items: center;"> |
| | | <div class="search_label" style="width: 150px;"><span class="required-span">*</span>批准人:</div> |
| | | <div class="search_input" style="width: 100%;"> |
| | | <el-select v-model="approver" clearable filterable placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option v-for="(item,i) in approverList" :key="i" :label="item.label" :value="item.value"> |
| | | <el-option v-for="(item, i) in approverList" :key="i" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | <el-button :loading="loadingIssued" type="primary" @click="submitAddApprover">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="addVerifyDia" |
| | | title="指定审核人员" |
| | | width="400px" |
| | | @close="closeAddVerifyDia"> |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="addVerifyDia" title="指定审核人员" width="400px" |
| | | @close="closeAddVerifyDia"> |
| | | <div class="body" style="display: flex;padding: 10px;align-items: center;"> |
| | | <div class="search_label" style="width: 150px;"><span class="required-span">*</span>审核人:</div> |
| | | <div class="search_input" style="width: 100%;"> |
| | | <el-select v-model="verifyUser" clearable filterable placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option v-for="(item,i) in approverList" :key="i" :label="item.label" :value="item.value"> |
| | | <el-option v-for="(item, i) in approverList" :key="i" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | </span> |
| | | </el-dialog> |
| | | <!--产业链信息查看--> |
| | | <!-- <ShowInfo v-if="showInfoDialog" ref="showInfoDialog" :showInfoDialog="showInfoDialog"></ShowInfo>--> |
| | | <!-- <ShowInfo v-if="showInfoDialog" ref="showInfoDialog" :showInfoDialog="showInfoDialog"></ShowInfo>--> |
| | | <!--报告查看--> |
| | | <el-dialog :fullscreen="fullscreen" :modal-append-to-body="false" :visible.sync="viewIssuedVisible" title="报告查看" |
| | | width="80vw"> |
| | | width="80vw"> |
| | | <div class="full-screen"> |
| | | <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;"></i> |
| | | <img v-else alt="" src="@/assets/images/no-full.svg" style="cursor: pointer;" @click="fullscreen=false;" > |
| | | <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" |
| | | @click="fullscreen = true;"></i> |
| | | <img v-else alt="" src="@/assets/images/no-full.svg" style="cursor: pointer;" @click="fullscreen = false;"> |
| | | </div> |
| | | <div v-if="viewIssuedVisible" style="height: 80vh;"> |
| | | <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> |
| | |
| | | <!--附件查看--> |
| | | <el-dialog :visible.sync="filesDialogVisible" title="附件查看" width="80%" @closed="closeFilesLook"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-upload ref='upload' |
| | | :action="fileAction" |
| | | :auto-upload="true" |
| | | :before-upload="fileBeforeUpload" :data="{orderId: filesLookInfo.insOrderId}" |
| | | :headers="uploadHeader" :on-error="onError" |
| | | :on-success="handleSuccessUp" |
| | | :show-file-list="false" |
| | | accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' style="width: 80px !important;"> |
| | | <el-upload ref='upload' :action="fileAction" :auto-upload="true" :before-upload="fileBeforeUpload" |
| | | :data="{ orderId: filesLookInfo.insOrderId }" :headers="uploadHeader" :on-error="onError" |
| | | :on-success="handleSuccessUp" :show-file-list="false" |
| | | accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' style="width: 80px !important;"> |
| | | <el-button size="small" style="height: 38px" type="primary">附件上传</el-button> |
| | | </el-upload> |
| | | </div> |
| | | <lims-table :tableData="tableDataFile" :column="columnFile" @pagination="paginationFile" height="500px" |
| | | key="tableDataFile" :page="pageFile" :tableLoading="tableLoadingFile"></lims-table> |
| | | <lims-table :tableData="tableDataFile" :column="columnFile" height="500px" key="tableDataFile" |
| | | :tableLoading="tableLoadingFile"></lims-table> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | <script> |
| | | import onlyoffice from "@/components/Onlyoffice/onlyoffice.vue"; |
| | | // import ShowInfo from "../do/b1-material-ins-order/showInfo.vue"; |
| | | import file from "@/utils/file"; |
| | | import { |
| | | downAll, |
| | | examineReport, |
| | |
| | | upReportUrl, |
| | | writeReport |
| | | } from "@/api/business/insReport"; |
| | | import {mapGetters} from "vuex"; |
| | | import {selectUserCondition} from "@/api/business/inspectionTask"; |
| | | import { mapGetters } from "vuex"; |
| | | import { selectUserCondition } from "@/api/business/inspectionTask"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import {delfile, downFile, getFileList} from "@/api/business/rawMaterialOrder"; |
| | | import { delFile, downFile, getFileList } from "@/api/business/rawMaterialOrder"; |
| | | export default { |
| | | components: {limsTable, onlyoffice}, |
| | | name: 'ReportPreparation', |
| | | components: { limsTable, onlyoffice }, |
| | | data() { |
| | | return { |
| | | entity: { |
| | |
| | | value: ``, |
| | | reason: '', |
| | | currentInfo: null, |
| | | option:null, |
| | | mutiList:[], |
| | | outLoading:false, |
| | | inLoading:false, |
| | | option: null, |
| | | mutiList: [], |
| | | outLoading: false, |
| | | inLoading: false, |
| | | addApproverDia: false, // 指定审批人员弹框 |
| | | approver: '', // 审批人员 |
| | | approverId: '', // 审批人员 |
| | |
| | | verifyUser: null, // 审核人员 |
| | | loadingVerify: false, // 审核人员 |
| | | typeSourceList: [ |
| | | {label: '成品下单', value: 0}, |
| | | {label: '原材料下单', value: 1}, |
| | | { label: '成品下单', value: 0 }, |
| | | { label: '原材料下单', value: 1 }, |
| | | ], |
| | | orderTypeList: [ |
| | | {label: '委托试验', value: 'Customer-ordered test'}, |
| | | {label: '抽检', value: '抽检'}, |
| | | {label: '进厂检验', value: '进厂检验'}, |
| | | {label: '季度检验', value: 'Quarterly inspection'}, |
| | | { label: '委托试验', value: 'Customer-ordered test' }, |
| | | { label: '抽检', value: '抽检' }, |
| | | { label: '进厂检验', value: '进厂检验' }, |
| | | { label: '可靠性检验', value: 'Quarterly inspection' }, |
| | | ], |
| | | showInfoDialog: false, // 产业链信息查看 |
| | | isReport: 1, |
| | |
| | | examine: null, |
| | | viewIssuedVisible: false, |
| | | queryStatusList: [ |
| | | {label: '待提交', value: 0}, |
| | | {label: '待审核', value: 1}, |
| | | {label: '待批准', value: 2}, |
| | | { label: '待提交', value: 0 }, |
| | | { label: '待审核', value: 1 }, |
| | | { label: '待批准', value: 2 }, |
| | | ], |
| | | state: 0, |
| | | orderId: 0, |
| | |
| | | ] |
| | | } |
| | | ], |
| | | pageFile: { |
| | | total: 0, |
| | | size: 10, |
| | | current: 1 |
| | | }, |
| | | isCopper: null, |
| | | tableLoading: false, |
| | | valueTableData: [], |
| | |
| | | formatData: (params) => { |
| | | if (params == 0) { |
| | | return "不通过"; |
| | | } else { |
| | | } else if (params == 1) { |
| | | return "通过"; |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 0) { |
| | | return "danger"; |
| | | } else { |
| | | } else if (params == 1) { |
| | | return "success"; |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | }, |
| | |
| | | formatData: (params) => { |
| | | if (params == 0) { |
| | | return "不批准"; |
| | | } else { |
| | | } else if (params == 1) { |
| | | return "批准"; |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 0) { |
| | | return "danger"; |
| | | } else { |
| | | } else if (params == 1) { |
| | | return "success"; |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | }, |
| | |
| | | return this.javaApi + '/insReport/upAll' |
| | | }, |
| | | fileAction() { |
| | | return this.javaApi + '/unqualifiedHandler/uploadFileByUnqualified' |
| | | return this.javaApi + '/insOrderPlan/uploadFile' |
| | | }, |
| | | fileAction1() { |
| | | return this.javaApi + '/insReport/inReport' |
| | |
| | | refreshTable() { |
| | | this.tableLoading = true |
| | | pageInsReport({ |
| | | ...this.page,...this.entity |
| | | ...this.page, ...this.entity |
| | | }).then(res => { |
| | | this.tableLoading = false |
| | | this.page.total = res.data.body.total |
| | |
| | | this.resetForm('entity') |
| | | this.refreshTable(); |
| | | }, |
| | | handleChange(arr){ |
| | | handleChange(arr) { |
| | | this.mutiList = arr |
| | | }, |
| | | // 查看检验数据 |
| | | viewInspectInfo (row) { |
| | | viewInspectInfo(row) { |
| | | //当前检验任务的检验人列表 |
| | | let inspectorList = [] |
| | | if(row.userName){ |
| | | if (row.userName) { |
| | | inspectorList = row.userName.split(',') |
| | | } |
| | | inspectorList.push(this.nickName) |
| | |
| | | }) |
| | | }, |
| | | // 打开查看附件弹框 |
| | | handleFileLook (row) { |
| | | handleFileLook(row) { |
| | | this.filesLookInfo = row |
| | | this.filesDialogVisible = true |
| | | this.getFileList() |
| | |
| | | // 查询附件查看列表回调 |
| | | getFileList() { |
| | | this.tableLoadingFile = true |
| | | getFileList({insOrderId: this.filesLookInfo.insOrderId}).then(res => { |
| | | getFileList({ insOrderId: this.filesLookInfo.insOrderId }).then(res => { |
| | | this.tableLoadingFile = false |
| | | if (res.code === 200) { |
| | | this.tableDataFile = res.data.records |
| | | this.pageFile.total = res.data.total |
| | | } |
| | | }).catch(err => { |
| | | this.tableLoadingFile = false |
| | | }) |
| | | }, |
| | | paginationFile(page) { |
| | | this.pageFile.size = page.limit |
| | | this.getFileList() |
| | | }, |
| | | closeFilesLook () { |
| | | closeFilesLook() { |
| | | this.filesDialogVisible = false |
| | | }, |
| | | handleSuccessUp(response, ) { |
| | | handleSuccessUp(response,) { |
| | | this.upLoading = false; |
| | | if (response.code == 200) { |
| | | this.$message.success('上传成功'); |
| | | this.getFileList() |
| | | } |
| | | }, |
| | | handleSuccessUp1(response, ) { |
| | | handleSuccessUp1(response,) { |
| | | if (response.code == 200) { |
| | | this.$message.success('上传成功'); |
| | | } |
| | | }, |
| | | // 下载附件的文件 |
| | | handleDown(row){ |
| | | handleDown(row) { |
| | | downFile({ |
| | | id: row.id, |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | let url = ''; |
| | | if(res.data.type==1){ |
| | | url = this.javaApi+'/img/'+res.data.fileUrl |
| | | file.downloadIamge(url,row.fileName) |
| | | }else{ |
| | | url = this.javaApi+'/word/'+res.data.fileUrl |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = row.fileName; |
| | | link.click(); |
| | | } |
| | | } |
| | | this.$download.saveAs(res.data.fileUrl, row.fileName); |
| | | }).catch(error => { |
| | | |
| | | }) |
| | | }, |
| | | // 删除附件文件 |
| | | delete(row) { |
| | | this.$confirm('是否删除当前数据?', "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | this.$confirm('此操作将删除该数据, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | delfile({ id: row.id }).then(res => { |
| | | if (res.code === 500) { |
| | | return |
| | | } |
| | | this.tableLoadingFile = true |
| | | delFile({ id: row.id }).then(res => { |
| | | this.tableLoadingFile = false |
| | | this.$message.success('删除成功') |
| | | this.getList() |
| | | }).catch(e => { |
| | | this.$message.error('删除失败') |
| | | this.getFileList() |
| | | }).catch(err => { |
| | | this.tableLoadingFile = false |
| | | console.log('err---', err); |
| | | }) |
| | | }).catch(() => { }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已取消删除' |
| | | }); |
| | | }) |
| | | }, |
| | | // 查看产业链信息 |
| | | openInfoDialog (row) { |
| | | openInfoDialog(row) { |
| | | this.showInfoDialog = true |
| | | this.$nextTick(() => { |
| | | this.$refs.showInfoDialog.getInfo(row.ifsInventoryId) |
| | | }) |
| | | }, |
| | | handleDowns(){ |
| | | if(this.mutiList.length==0){ |
| | | handleDowns() { |
| | | if (this.mutiList.length == 0) { |
| | | this.$message.error('请选择报告') |
| | | return |
| | | } |
| | | let str = this.mutiList.map(m=>m.id).join(',') |
| | | let str = this.mutiList.map(m => m.id).join(',') |
| | | this.outLoading = true |
| | | downAll({ids: str}).then(res => { |
| | | downAll({ ids: str }).then(res => { |
| | | this.outLoading = false |
| | | this.$message.success('导出成功') |
| | | // const blob = new Blob([res],{ type: 'application/octet-stream' }); |
| | | // const url = URL.createObjectURL(blob); |
| | | // const link = document.createElement('a'); |
| | | // link.href = url; |
| | | // link.download = '报告.zip'; |
| | | // link.click(); |
| | | const link = document.createElement('a'); |
| | | link.href = this.javaApi + res.message; |
| | | link.target = '_blank'; |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | this.$download.zip(res.data, '报告.zip'); |
| | | }).catch(() => { |
| | | this.outLoading = false |
| | | }) |
| | | |
| | | }, |
| | | beforeUpload(file){ |
| | | beforeUpload(file) { |
| | | const isZip = file.type === 'application/zip' || file.name.endsWith('.zip'); |
| | | if (!isZip) { |
| | | this.$message.error('上传文件只能是 ZIP 格式!'); |
| | | } |
| | | if(isZip){ |
| | | if (isZip) { |
| | | this.inLoading = true; |
| | | } |
| | | return isZip; |
| | | }, |
| | | fileBeforeUpload(file) { |
| | | let flag = true |
| | | console.log('file----', file) |
| | | if (file.size > 1024 * 1024 * 10) { |
| | | this.$message.error('上传文件不超过10M'); |
| | | this.$refs.upload.clearFiles() |
| | |
| | | return Promise.reject(flag); //正确的终止 |
| | | } |
| | | }, |
| | | handleSuccess(response,){ |
| | | handleSuccess(response,) { |
| | | this.inLoading = false; |
| | | if (response.code == 200) { |
| | | this.$message.success('导入成功') |
| | | this.refreshTable() |
| | | }else{ |
| | | } else { |
| | | this.$message.error(response.message) |
| | | } |
| | | }, |
| | | onError(err, file, fileList,type) { |
| | | onError(err, file, fileList, type) { |
| | | this.$message.error('上传失败') |
| | | this.$refs.upload.clearFiles() |
| | | }, |
| | | onError1(err, file, fileList,type) { |
| | | onError1(err, file, fileList, type) { |
| | | this.$message.error('上传失败') |
| | | this.$refs.upload1.clearFiles() |
| | | }, |
| | |
| | | // 审核按钮 |
| | | handleIssued(row) { |
| | | this.currentInfo = row; |
| | | let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS |
| | | let fileName = (row.urlS === null || row.urlS === '') ? row.url : row.urlS |
| | | let fileType = "docx" |
| | | if (row.tempUrlPdf != null || row.tempUrlPdf === '') { |
| | | fileName = row.tempUrlPdf |
| | | fileType = "pdf" |
| | | } |
| | | fileName = fileName.replace('/word/','') |
| | | fileName = fileName.replace('/word/', '') |
| | | const userName = this.nickName |
| | | this.option = { |
| | | url: this.javaApi + "/word/" + fileName, |
| | |
| | | }, |
| | | // 查看报告 |
| | | viewIssued(row) { |
| | | console.log('this.javaApi', this.javaApi) |
| | | this.currentInfo = row; |
| | | let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS |
| | | let fileName = (row.urlS === null || row.urlS === '') ? row.url : row.urlS |
| | | let fileType = "docx" |
| | | if (row.tempUrlPdf != null || row.tempUrlPdf === '') { |
| | | fileName = row.tempUrlPdf |
| | | fileType = "pdf" |
| | | } |
| | | fileName = fileName.replace('/word/','') |
| | | fileName = fileName.replace('/word/', '') |
| | | const userName = this.nickName |
| | | this.option = { |
| | | url: this.javaApi + "/word/" + fileName, |
| | |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.upLoad = true |
| | | sendBackTask({id: row.id}).then(res => { |
| | | sendBackTask({ id: row.id }).then(res => { |
| | | this.upLoad = false |
| | | this.$message.success('退回成功!') |
| | | this.refreshTable('page') |
| | |
| | | }); |
| | | }, |
| | | // 审核通过 |
| | | submitAddApprover () { |
| | | submitAddApprover() { |
| | | if (!this.approver) { |
| | | this.$message.error('请选择审批人') |
| | | return |
| | |
| | | this.loadingIssued = false; |
| | | }) |
| | | }, |
| | | closeAddApproverDia () { |
| | | closeAddApproverDia() { |
| | | this.addApproverDia = false |
| | | this.approver = '' |
| | | }, |
| | |
| | | }, |
| | | // 获取人员列表 |
| | | getAuthorizedPerson() { |
| | | selectUserCondition({ type: 0 }).then((res) => { |
| | | selectUserCondition({ type: 1 }).then((res) => { |
| | | let data = []; |
| | | res.data.forEach((a) => { |
| | | data.push({ |
| | |
| | | // 批准按钮 |
| | | handleApprove(row) { |
| | | this.currentInfo = row; |
| | | let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS |
| | | let fileName = (row.urlS === null || row.urlS === '') ? row.url : row.urlS |
| | | let fileType = "docx" |
| | | if (row.tempUrlPdf != null || row.tempUrlPdf === '') { |
| | | fileName = row.tempUrlPdf |
| | | fileType = "pdf" |
| | | } |
| | | fileName = fileName.replace('/word/','') |
| | | fileName = fileName.replace('/word/', '') |
| | | const userName = this.nickName |
| | | this.option = { |
| | | url: this.javaApi + "/word/" + fileName, |
| | |
| | | this.refreshTable('page') |
| | | this.currentInfo = null; |
| | | this.approveVisible = false; |
| | | }).catch(() => { |
| | | this.loadingApprove = false; |
| | | }) |
| | | }, |
| | | handle (row) { |
| | | handle(row) { |
| | | this.getAuthorizedPerson() |
| | | this.currentInfo = row; |
| | | this.addVerifyDia = true |
| | |
| | | this.$message.error('提交失败') |
| | | }) |
| | | }, |
| | | closeAddVerifyDia () { |
| | | closeAddVerifyDia() { |
| | | this.addVerifyDia = false |
| | | this.verifyUser = '' |
| | | }, |