¶Ô±ÈÐÂÎļþ |
| | |
| | | // å¤è´ä»¶é¡µé¢ç¸å
³æ¥å£ |
| | | import request from "@/utils/request"; |
| | | |
| | | // å表 |
| | | export function selectInspection(query) { |
| | | return request({ |
| | | url: "/inspectionPurchased/selectInspection", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // ç¼è¾/æ°å¢ |
| | | export function addOrUpdateInspection(query) { |
| | | return request({ |
| | | url: "/inspectionPurchased/addOrUpdateInspection", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | |
| | | // å é¤ |
| | | export function delInspection(query) { |
| | | return request({ |
| | | url: "/inspectionPurchased/delInspection", |
| | | method: "delete", |
| | | params: query, |
| | | }); |
| | | } |
| | |
| | | // æåä¸å页é¢ç¸å
³æ¥å£ |
| | | import request from '@/utils/request' |
| | | import request from "@/utils/request"; |
| | | |
| | | // æ¥è¯¢æåä¸åå表 |
| | | export function selectInsOrderParameter(query) { |
| | | return request({ |
| | | url: '/insOrder/selectInsOrderParameter', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | url: "/insOrder/selectInsOrderParameter", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // ä¿®æ¹æåå§æç¼å· |
| | | export function updateOrderEntrustCode(query) { |
| | | return request({ |
| | | url: '/insOrder/updateOrderEntrustCode', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | url: "/insOrder/updateOrderEntrustCode", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // æåæ£éªåå
¨é¨ä¿¡æ¯å¯¼åº |
| | | export function rawAllInsOrderExport(query) { |
| | | return request({ |
| | | url: '/insOrder/rawAllInsOrderExport', |
| | | method: 'get', |
| | | url: "/insOrder/rawAllInsOrderExport", |
| | | method: "get", |
| | | params: query, |
| | | responseType: "blob" |
| | | }) |
| | | responseType: "blob", |
| | | }); |
| | | } |
| | | // å°å¾
æ£éªççæ¤éè¿è¡æ´æ¹ |
| | | export function updateInspected(query) { |
| | | return request({ |
| | | url: '/insOrder/updateInspected', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | url: "/insOrder/updateInspected", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // æ¤éå®¡æ ¸éè¿ |
| | | export function checkUpdate(query) { |
| | | return request({ |
| | | url: '/insOrder/checkUpdate', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | url: "/insOrder/checkUpdate", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // æ¥è¯¢è®¢åæ»å
±é¢è®¡æ¶é´ |
| | | export function selectOrderManDay(query) { |
| | | return request({ |
| | | url: '/insOrder/selectOrderManDay', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | url: "/insOrder/selectOrderManDay", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // ä»»å¡äº¤æ¥ |
| | | export function upPlanUser2(query) { |
| | | return request({ |
| | | url: '/insOrderPlan/upPlanUser2', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | url: "/insOrderPlan/upPlanUser2", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // æ£éªä¸å |
| | | export function upInsOrder(query) { |
| | | return request({ |
| | | url: '/insOrder/upInsOrder', |
| | | method: 'post', |
| | | params: query |
| | | }) |
| | | url: "/insOrder/upInsOrder", |
| | | method: "post", |
| | | params: query, |
| | | }); |
| | | } |
| | | // å°å¾
å®¡æ ¸æ´æ°ææ¤éç¶æ |
| | | export function updateStatus(query) { |
| | | return request({ |
| | | url: '/insOrder/updateStatus', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | url: "/insOrder/updateStatus", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // å°å¾
å®¡æ ¸æ´æ°ææ¤éç¶æ |
| | | export function delInsOrder(query) { |
| | | return request({ |
| | | url: '/insOrder/delInsOrder', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | url: "/insOrder/delInsOrder", |
| | | method: "delete", |
| | | params: query, |
| | | }); |
| | | } |
| | | // å°å¾
å®¡æ ¸æ´æ°ææ¤éç¶æ |
| | | export function selectNoProducts(query) { |
| | | return request({ |
| | | url: '/insOrder/selectNoProducts', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | url: "/insOrder/selectNoProducts", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // æ¥è¯¢æåæ ç¾æå°ä¿¡æ¯ |
| | | export function labelOrderPrinting(query) { |
| | | return request({ |
| | | url: '/insOrder/labelOrderPrinting', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | url: "/insOrder/labelOrderPrinting", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // æ ¹æ®è®¢åidæ¥è¯¢æ ·å |
| | | export function getSampleByOrderId(query) { |
| | | return request({ |
| | | url: '/insOrder/getSampleByOrderId', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | url: "/insOrder/getSampleByOrderId", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // æ ¹æ®æ ·åidæ¥è¯¢æ£éªé¡¹æ |
| | | export function getProductTreeBySampleId(query) { |
| | | return request({ |
| | | url: '/insOrder/getProductTreeBySampleId', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | url: "/insOrder/getProductTreeBySampleId", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // æ·»å éæ¼çæ£éªé¡¹ |
| | | export function addOmitOrderProduct(query) { |
| | | return request({ |
| | | url: '/insOrder/addOmitOrderProduct', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | url: "/insOrder/addOmitOrderProduct", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | |
| | | :show-overflow-tooltip="item.dataType === 'action' || item.dataType === 'slot' ? false : true" |
| | | :min-width="item.dataType == 'action' ? btnWidth : getTitleWidth(item)" :sortable="item.sortable ? true : false" |
| | | :type="item.type" |
| | | :width="item.dataType == 'action' ? btnWidth : (column.length < 6 ? 'auto' : getTitleWidth(item))" |
| | | :width="item.dataType == 'action' ? btnWidth : (column.length < 10 ? 'auto' : getTitleWidth(item))" |
| | | align="center"> |
| | | <!-- <div class="123" v-if="item.type == ''"> --> |
| | | <template v-if="item.hasOwnProperty('colunmTemplate')" :slot="item.colunmTemplate" slot-scope="scope"> |
| | |
| | | return count * 15 + 50 + "px"; |
| | | }, |
| | | getTitleWidth(row) { |
| | | if (row.label.includes('æ¶é´') || row.label.includes('ç¼å·') || row.label.includes('æ ·ååç§°') || row.label.includes('é¶ä»¶')) { |
| | | if (row.label.includes('æ¶é´') || row.label.includes('å·') || row.label.includes('æ ·ååç§°') || row.label.includes('é¶ä»¶')) { |
| | | return 160 |
| | | } else if (row.label.includes('产å') || row.label.includes('模æ¿åç§°')) { |
| | | return 200 |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="search"> |
| | | <el-form :model="queryParams" ref="queryParams" size="small" :inline="true"> |
| | | <el-row> |
| | | <el-form-item label="产ååç§°" prop="name"> |
| | | <el-input v-model="queryParams.name" clearable placeholder="请è¾å
¥" size="small" |
| | | @keyup.enter.native="refreshTable"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="SPå·" prop="spNum"> |
| | | <el-input v-model="queryParams.spNum" clearable placeholder="请è¾å
¥" size="small" |
| | | @keyup.enter.native="refreshTable"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="refreshTable()">æ¥ è¯¢</el-button> |
| | | <el-button size="mini" @click="refresh()">é ç½®</el-button> |
| | | </el-form-item> |
| | | </el-row> |
| | | </el-form> |
| | | <div> |
| | | <el-button size="mini" type="primary">è·å订å</el-button> |
| | | <el-button size="mini" type="primary" @click="openAdd('æ°å¢')">æ°å¢</el-button> |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 220px)'" |
| | | :page="page" @pagination="pagination"></lims-table> |
| | | <!-- æ°å¢/ç¼è¾ --> |
| | | <el-dialog :title="title" :visible.sync="addDia" width="500px"> |
| | | <el-form :model="addForm" v-if="addDia" ref="addForm" :rules="addRules" label-position="right" |
| | | label-width="120px"> |
| | | <el-form-item label="产å" prop="name"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable v-model="addForm.name" |
| | | :disabled="title == 'æ£éª'"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ¥ææ°é" prop="num"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable v-model="addForm.num" :disabled="title == 'æ£éª'"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ä¾è´§åå®¶" prop="supplier"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable v-model="addForm.supplier" :disabled="title == 'æ£éª'"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="订åå·" prop="orderNum"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable v-model="addForm.orderNum" :disabled="title == 'æ£éª'"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="SPå·" prop="spNum"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable v-model="addForm.spNum" :disabled="title == 'æ£éª'"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input size="small" placeholder="请è¾å
¥" type="textarea" :rows="2" clearable v-model="addForm.remark" |
| | | :disabled="title == 'æ£éª'"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å¤è§" prop="inspectionItems" v-if="title == 'æ£éª'"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable v-model="addForm.inspectionItems"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£æµç»æ" prop="result" v-if="title == 'æ£éª'"> |
| | | <el-switch v-model="addForm.result" active-text="åæ ¼" inactive-text="ä¸åæ ¼" active-value="åæ ¼" |
| | | inactive-value="ä¸åæ ¼"> |
| | | </el-switch> |
| | | </el-form-item> |
| | | <el-form-item label="æµè¯æä»¶" prop="file" v-if="title == 'æ£éª'"> |
| | | <el-upload action="#" :auto-upload="false" :multiple="false" |
| | | accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.pdf,' :on-change="handleChangeUpload"> |
| | | <el-button size="mini" type="primary">ä¸ä¼ éä»¶</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addDia = false">å æ¶</el-button> |
| | | <el-button :loading="uploading" type="primary" @click="submitProduct('addForm')">确 认</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import { selectInspection, addOrUpdateInspection, delInspection } from '@/api/business/outsourcedParts.js' |
| | | export default { |
| | | components: { limsTable }, |
| | | data() { |
| | | return { |
| | | queryParams: {}, |
| | | tableData: [], |
| | | column: [ |
| | | { label: "å§æç¼å·", prop: "entrustmentNo" }, |
| | | { label: "产å", prop: "name" }, |
| | | { label: "æ¥ææ°é", prop: "num" }, |
| | | { |
| | | label: "ä¾è´§åå®¶", |
| | | prop: "supplier" |
| | | }, |
| | | { label: "订åå·", prop: "orderNum" }, |
| | | { label: "SPå·", prop: "spNum" }, |
| | | { |
| | | label: "æ£éªç¶æ", prop: "inspectionStatus", dataType: 'tag', |
| | | formatData: (params) => { |
| | | let obj = this.inspectionTaskState.find(m => m.value == params) |
| | | if (obj) { |
| | | return obj.label |
| | | } else { |
| | | return '' |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 0) { |
| | | return 'danger' |
| | | } else { |
| | | return 'success' |
| | | } |
| | | } |
| | | }, |
| | | { label: "夿³¨", prop: "remark" }, |
| | | { |
| | | dataType: "action", |
| | | label: "æä½", |
| | | operation: [ |
| | | { |
| | | name: "ç¼è¾", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.openAdd("ç¼è¾", row); |
| | | }, |
| | | }, |
| | | { |
| | | name: "å é¤", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.handleDelete(row); |
| | | }, |
| | | disabled: (row) => { |
| | | return !!row.ratifyUser |
| | | }, |
| | | }, |
| | | { |
| | | name: "æ£éª", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.openAdd('æ£éª', row); |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | page: { |
| | | total: 0, |
| | | size: 20, |
| | | current: 0, |
| | | }, |
| | | tableLoading: false, |
| | | title: "æ°å¢", |
| | | addDia: false, |
| | | addForm: {}, |
| | | addRules: { |
| | | name: [{ required: true, message: "请è¾å
¥äº§ååç§°", trigger: "blur" }], |
| | | num: [ |
| | | { required: true, message: "请è¾å
¥æ¥ææ°é", trigger: "blur" }, |
| | | ], |
| | | supplier: [ |
| | | { required: true, message: "请è¾å
¥ä¾è´§åå®¶", trigger: "blur" }, |
| | | ], |
| | | orderNum: [{ required: true, message: "请è¾å
¥è®¢åå·", trigger: "blur" }], |
| | | spNum: [ |
| | | { required: true, message: "请è¾å
¥SPå·", trigger: "blur" }, |
| | | ], |
| | | inspectionItems: [ |
| | | { required: true, message: "请è¾å
¥å¤è§", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | uploading: false, |
| | | inspectionTaskState: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getDicts("inspection_task_state").then((response) => { |
| | | this.inspectionTaskState = this.dictToValue(response.data); |
| | | }); |
| | | }, |
| | | methods: { |
| | | getList() { |
| | | this.tableLoading = true; |
| | | let param = { ...this.queryParams, ...this.page }; |
| | | delete param.total; |
| | | selectInspection({ ...param }) |
| | | .then((res) => { |
| | | this.tableLoading = false; |
| | | if (res.code === 200) { |
| | | this.tableData = res.data.records; |
| | | this.page.total = res.data.total; |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | this.tableLoading = false; |
| | | }); |
| | | }, |
| | | pagination({ page, limit }) { |
| | | this.page.current = page; |
| | | this.page.size = limit; |
| | | this.getList(); |
| | | }, |
| | | refresh() { |
| | | this.queryParams = {}; |
| | | this.page.current = 1; |
| | | this.getList(); |
| | | }, |
| | | refreshTable() { |
| | | this.page.current = 1; |
| | | this.getList(); |
| | | }, |
| | | // æ°å¢/ç¼è¾/æ£éª |
| | | openAdd(title, row) { |
| | | this.title = title; |
| | | this.file = null; |
| | | if (row) { |
| | | this.addForm = row; |
| | | } else { |
| | | this.addForm = {}; |
| | | } |
| | | this.addDia = true; |
| | | }, |
| | | // æ°å¢/ç¼è¾/æ£éª--æäº¤ |
| | | submitProduct(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | this.uploading = true; |
| | | if (this.title == "æ°å¢" || this.title == "ç¼è¾") { |
| | | addOrUpdateInspection(this.addForm) |
| | | .then((res) => { |
| | | this.uploading = false; |
| | | if (res.code != 200) { |
| | | return; |
| | | } |
| | | this.$message.success("æäº¤æå"); |
| | | this.refresh(); |
| | | this.addDia = false; |
| | | }) |
| | | .catch((err) => { |
| | | this.uploading = false; |
| | | }); |
| | | } else { |
| | | // æ£éª |
| | | let fd = new FormData(); |
| | | //æä»¶ä¿¡æ¯ä¸rawææ¯ççæä»¶ |
| | | if (this.file) { |
| | | fd.append("file", this.file.raw); |
| | | } |
| | | } |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | // å é¤ |
| | | handleDelete(row) { |
| | | this.$confirm("æ¯å¦å é¤è¯¥æ¡æ°æ®?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | delInspection({ id: row.id }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$message.success("å 餿å"); |
| | | this.refresh(); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { }); |
| | | }, |
| | | handleChangeUpload(file, fileLists) { |
| | | this.addForm.file = file |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .search { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | </style> |