From 9e0426e8e28dd530663cdbe80f258d1622cc9e7d Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期五, 21 三月 2025 13:35:02 +0800 Subject: [PATCH] 原材料变更为原辅料,新增基础配置包材 --- src/views/business/productOrder/index.vue | 110 +++++++++++++++++++++++++++++++++--------------------- 1 files changed, 67 insertions(+), 43 deletions(-) diff --git a/src/views/business/productOrder/index.vue b/src/views/business/productOrder/index.vue index 81a2848..8083832 100644 --- a/src/views/business/productOrder/index.vue +++ b/src/views/business/productOrder/index.vue @@ -15,11 +15,6 @@ <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�" size="small" @keyup.enter.native="refreshTable()"></el-input> </el-form-item> -<!-- <el-form-item label="鏍峰搧缂栧彿" prop="sampleCode" v-if="more">--> -<!-- <el-input v-model="entity.sampleCode" clearable placeholder="璇疯緭鍏�" size="small"--> -<!-- @keyup.enter.native="refreshTable">--> -<!-- </el-input>--> -<!-- </el-form-item>--> <el-form-item label="涓嬪崟鏃堕棿" prop="createTime" v-if="more"> <el-date-picker v-model="entity.createTime" clearable format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small" style="width:100%" type="date" value-format="yyyy-MM-dd HH:mm:ss"> @@ -37,7 +32,7 @@ </el-form-item> <el-form-item> <el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text" - @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button> + @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button> <el-button size="small" @click="refresh()">閲� 缃�</el-button> <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> </el-form-item> @@ -46,12 +41,18 @@ <div class="table-tab"> <div> <ul class="tab"> - <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">寰呭鏍�</li> - <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">妫�楠屼腑</li> - <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">濮旀墭宸叉</li> - <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">鎶芥牱宸叉</li> - <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">閫�鍥�</li> - <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">鎾ら攢</li> + <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">寰呭鏍� + </li> + <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">妫�楠屼腑 + </li> + <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" + @click="handleTab(2)">濮旀墭宸叉</li> + <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)"> + 鎶芥牱宸叉</li> + <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">閫�鍥� + </li> + <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)"> + 鎾ら攢</li> <li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">鍏ㄩ儴</li> </ul> </div> @@ -91,8 +92,8 @@ </el-dialog> <!-- 鎾ら攢 --> <el-dialog :before-close="handleClose" :visible.sync="quashDialogVisible" title="涓嬪崟鎾ら攢" width="30%"> - <p v-if="!isQuash" style="font-size:16px;color:#333333">濮旀墭缂栧彿<span - style="color:#34BD66">{{ this.insOrderRow.entrustCode }}</span>鐨勪俊鎭槸鍚︽挙閿�</p> + <p v-if="!isQuash" style="font-size:16px;color:#333333">濮旀墭缂栧彿<span style="color:#34BD66">{{ + this.insOrderRow.entrustCode }}</span>鐨勪俊鎭槸鍚︽挙閿�</p> <el-form v-else ref="ruleForm" :label-position="labelPosition" :model="formData" label-width="150px"> <el-form-item label="璇疯緭鍏ユ挙閿�鍘熷洜锛�"> <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input> @@ -173,7 +174,8 @@ <span slot="footer" class="dialog-footer"> <el-row> <el-button @click="handleNo">{{ deleteTilte == '鎾ら攢' ? '鍙� 娑�' : '涓嶉�氳繃' }}</el-button> - <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' : '閫氳繃'}}</el-button> + <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' : + '閫氳繃'}}</el-button> </el-row> </span> </el-dialog> @@ -268,8 +270,8 @@ <el-row style="margin-top: 0.01cm;font-size: 0.20cm;"> <el-col style="display: flex;align-items: center;"><span>鏍峰搧鐘舵��: </span> - <span style="white-space: nowrap;"><span v-if="item.insState == 0">鈭�</span><span v-if="item.insState != 0" - class="scor"></span>寰呮 + <span style="white-space: nowrap;"><span v-if="item.insState == 0">鈭�</span><span + v-if="item.insState != 0" class="scor"></span>寰呮 <span v-if="item.insState == 1">鈭�</span><span v-if="item.insState != 1" class="scor"></span>鍦ㄦ <span v-if="item.insState == 2">鈭�</span><span v-if="item.insState != 2" class="scor"></span>宸叉 <span v-if="item.isLeave == 1">鈭�</span><span v-if="item.isLeave != 1" class="scor"></span>鐣欐牱</span> @@ -307,7 +309,6 @@ <script> import vueQr from 'vue-qr' import PrintJS from 'print-js' -import file from "@/utils/file"; import PrintDialog from "@/views/business/productOrder/components/printDialog.vue"; import AddInspectionDia from "@/views/business/productOrder/components/addInspectionDia.vue"; import limsTable from "@/components/Table/lims-table.vue"; @@ -320,9 +321,9 @@ } from "@/api/business/productOrder"; import { selectUserCondition } from "@/api/performance/class"; import { downFile, getFileList, selectSampleAndProductByOrderId } from "@/api/business/rawMaterialOrder"; -import {mapGetters} from "vuex"; -// import Inspection from "../do/b1-inspect-order-plan/Inspection.vue"; +import { mapGetters } from "vuex"; export default { + name: 'ProductOrder', components: { limsTable, AddInspectionDia, @@ -339,9 +340,21 @@ tableData: [], tableLoading: false, column: [ - { label: '濮旀墭缂栧彿', prop: 'entrustCode', width: '160px' }, + { + label: "濮旀墭缂栧彿", + prop: "entrustCode", + width: "160px", + dataType: "link", + linkMethod: "changeEntrustCode", + }, { label: '濮旀墭鍗曚綅', prop: 'company' }, - { label: '鏍峰搧鍚嶇О', prop: 'sampleName' }, + { + label: "鏍峰搧鍚嶇О", + prop: "sampleName", + width: "160px", + dataType: "link", + linkMethod: "selectAllByOne", + }, { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' }, { label: '鏍峰搧鏁伴噺', prop: 'sampleNum' }, { label: '妫�楠屼汉', prop: 'testingName' }, @@ -523,14 +536,14 @@ ], page: { total: 0, - size: 10, + size: 20, current: 1 }, state: 0,// 0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0,3鏁版嵁鏌ョ湅 InspectionKey: 1, inspectorList: [],//妫�楠屼汉鍛樺垪琛� - sonLaboratory: null,// 0:濮旀墭锛�1锛氬師鏉愭枡 - typeSource: null,// 0:鎴愬搧涓嬪崟锛�1锛氬師鏉愭枡涓嬪崟 + sonLaboratory: null,// 0:濮旀墭锛�1锛氬師杈呮枡 + typeSource: null,// 0:鎴愬搧涓嬪崟锛�1锛氬師杈呮枡涓嬪崟 deleteTilte: '鎾ら攢', examine: null, deleteList: [], @@ -552,7 +565,7 @@ tableDataLook: [], tableDataLookPage: { total: 0, - size: 10, + size: 20, current: 1 }, tableDataLookColumn: [ @@ -643,7 +656,7 @@ ], pageFile: { total: 0, - size: 10, + size: 20, current: 1 }, formData: {}, @@ -680,7 +693,7 @@ ], pageDelete: { total: 0, - size: 10, + size: 20, current: 1 }, deleteDialogVisible: false, @@ -749,6 +762,9 @@ this.refreshTable() this.getAuthorizedPerson() }, + activated() { + this.refreshTable() + }, methods: { // 鏌ヨ鍒楄〃鏁版嵁 refreshTable() { @@ -763,7 +779,7 @@ } const params = { ...this.entity, state: this.tabList[this.tabIndex].value } this.tableLoading = true - selectInsOrderParameter(params).then(res => { + selectInsOrderParameter({ ...this.page, ...params }).then(res => { this.upIndex++ this.tableLoading = false if (res.code === 200) { @@ -784,6 +800,9 @@ }, // 鎵撳紑淇敼濮旀墭缂栧彿寮规 changeEntrustCode(row) { + if (this.tabIndex !== 1) { + return + } this.entrustCodeVisible = true this.entrustCodeInfo = { ...row } }, @@ -877,7 +896,8 @@ }, // 瀵煎嚭璁板綍 downLoad() { - rawAllInsOrderExport({ ...this.entity }).then(res => { + const params = { ...this.entity, state: this.tabList[this.tabIndex].value } + rawAllInsOrderExport({ ...params }).then(res => { const blob = new Blob([res], { type: 'application/octet-stream' }); this.$download.saveAs(blob, '濮旀墭妫�娴嬩俊鎭鍑�.xlsx'); }).catch(err => { @@ -929,15 +949,14 @@ }, // 璇︽儏 selectAllByOne(row) { - this.active = 2; - // console.log(row); - // //鎵撳紑寮规 - // this.dialogVisible = true; - // //row = 鐐瑰嚮瀵瑰簲琛屽�� - // //澶嶅埗缁檉ormData - // this.formData = this.HaveJson(row); - this.currentId = row.id - this.examine = 1 + this.$router.push({ + path: "/productOrder/add", query: { + examine: 1, + active: 2, + currentId: row.id, + tabIndex: this.tabIndex, + } + }); }, // 鏁版嵁鏌ョ湅 handleDataLook(row) { @@ -962,10 +981,10 @@ this.tableDataLookPage.size = page.limit this.getDataTableList(this.currentRow) }, - closeDia () { + closeDia() { this.tableDataLookPage = { total: 0, - size: 10, + size: 20, current: 1 } this.dataDialogVisible = false @@ -1005,7 +1024,12 @@ download(row) { let url = row.urlS ? row.urlS : row.url; if (url) { - this.$download.saveAs(url, row.entrustCode); + url = url.split('.')[0] + '.pdf' + const link = document.createElement('a'); + link.href = this.javaApi + url; + link.target = '_blank'; + document.body.appendChild(link); + link.click(); } }, // 鎾ら攢 @@ -1023,7 +1047,7 @@ }, getDeleteList() { this.tableLoadingDelete = true - selectNoProducts({ orderId: this.orderId, revocationInsProductIds: this.revocationInsProductIds }).then(res => { + selectNoProducts({ orderId: this.orderId, revocationInsProductIds: this.revocationInsProductIds, ...this.pageDelete }).then(res => { this.tableLoadingDelete = false this.componentDataDelete = res.data.records this.pageDelete.total = res.data.total -- Gitblit v1.9.3