¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from "@/utils/request"; |
| | | |
| | | // éè¿æ£éªåæ¥è¯¢æ£éªæ°æ®ï¼æ°æ®æ¥çï¼ |
| | | export function selectSampleAndProductByOrderId(query) { |
| | | return request({ |
| | | url: "/insOrder/selectSampleAndProductByOrderId", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // æ£éªä»»å¡-ä¿®æ¹æ£éªå¼ |
| | | export function updateProductOnPlan(data) { |
| | | return request({ |
| | | url: "/insOrderPlan/updateProductOnPlan", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | |
| | | import Vue from 'vue' |
| | | import Router from 'vue-router' |
| | | import Vue from "vue"; |
| | | import Router from "vue-router"; |
| | | |
| | | Vue.use(Router) |
| | | Vue.use(Router); |
| | | |
| | | /* Layout */ |
| | | import Layout from '@/layout' |
| | | import Layout from "@/layout"; |
| | | |
| | | /** |
| | | * Note: è·¯ç±é
置项 |
| | |
| | | // å
Œ
±è·¯ç± |
| | | export const constantRoutes = [ |
| | | { |
| | | path: '/redirect', |
| | | path: "/redirect", |
| | | component: Layout, |
| | | hidden: true, |
| | | children: [ |
| | | { |
| | | path: '/redirect/:path(.*)', |
| | | component: () => import('@/views/redirect') |
| | | } |
| | | ] |
| | | path: "/redirect/:path(.*)", |
| | | component: () => import("@/views/redirect"), |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | path: '/login', |
| | | component: () => import('@/views/login'), |
| | | hidden: true |
| | | path: "/login", |
| | | component: () => import("@/views/login"), |
| | | hidden: true, |
| | | }, |
| | | { |
| | | path: '/register', |
| | | component: () => import('@/views/register'), |
| | | hidden: true |
| | | path: "/register", |
| | | component: () => import("@/views/register"), |
| | | hidden: true, |
| | | }, |
| | | { |
| | | path: '/404', |
| | | component: () => import('@/views/error/404'), |
| | | hidden: true |
| | | path: "/404", |
| | | component: () => import("@/views/error/404"), |
| | | hidden: true, |
| | | }, |
| | | { |
| | | path: '/401', |
| | | component: () => import('@/views/error/401'), |
| | | hidden: true |
| | | path: "/401", |
| | | component: () => import("@/views/error/401"), |
| | | hidden: true, |
| | | }, |
| | | { |
| | | path: '', |
| | | path: "", |
| | | component: Layout, |
| | | redirect: 'index', |
| | | redirect: "index", |
| | | children: [ |
| | | { |
| | | path: 'index', |
| | | component: () => import('@/views/index'), |
| | | name: 'Index', |
| | | meta: { title: 'é¦é¡µ', icon: 'dashboard', affix: true } |
| | | } |
| | | ] |
| | | path: "index", |
| | | component: () => import("@/views/index"), |
| | | name: "Index", |
| | | meta: { title: "é¦é¡µ", icon: "dashboard", affix: true }, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | path: '/user', |
| | | path: "/user", |
| | | component: Layout, |
| | | hidden: true, |
| | | redirect: 'noredirect', |
| | | redirect: "noredirect", |
| | | children: [ |
| | | { |
| | | path: 'profile', |
| | | component: () => import('@/views/system/user/profile/index'), |
| | | name: 'Profile', |
| | | meta: { title: '个人ä¸å¿', icon: 'user' } |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | path: "profile", |
| | | component: () => import("@/views/system/user/profile/index"), |
| | | name: "Profile", |
| | | meta: { title: "个人ä¸å¿", icon: "user" }, |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | |
| | | // å¨æè·¯ç±ï¼åºäºç¨æ·æé卿å»å è½½ |
| | | export const dynamicRoutes = [ |
| | | { |
| | | // åææä¸å |
| | | path: '/materialOrder', |
| | | path: "/materialOrder", |
| | | component: Layout, |
| | | hidden: true, |
| | | permissions: ['business:order'], |
| | | permissions: ["business:order"], |
| | | children: [ |
| | | { |
| | | // éææä¸å |
| | | path: 'customsInspection', |
| | | component: () => import('@/views/business/materialOrder/customsInspection'), |
| | | name: 'customsInspection', |
| | | meta: { title: 'éææä¸å', activeMenu: '/business/materialOrder' } |
| | | } |
| | | ] |
| | | path: "customsInspection", |
| | | component: () => |
| | | import("@/views/business/materialOrder/customsInspection"), |
| | | name: "customsInspection", |
| | | meta: { title: "éææä¸å", activeMenu: "/business/materialOrder" }, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | // æ£éªä»»å¡ |
| | | path: "/inspectionTask", |
| | | component: Layout, |
| | | hidden: true, |
| | | permissions: ["business:inspection"], |
| | | children: [ |
| | | { |
| | | // æ£éªå详æ
|
| | | path: "inspection", |
| | | component: () => import("@/views/business/inspectionTask/inspection"), |
| | | name: "inspection", |
| | | meta: { title: "æ£éªå详æ
", activeMenu: "/business/inspectionTask" }, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | // ç¨æ·ç®¡ç |
| | | path: '/system/user-auth', |
| | | path: "/system/user-auth", |
| | | component: Layout, |
| | | hidden: true, |
| | | permissions: ['system:user:edit'], |
| | | permissions: ["system:user:edit"], |
| | | children: [ |
| | | { |
| | | path: 'role/:userId(\\d+)', |
| | | component: () => import('@/views/system/user/authRole'), |
| | | name: 'AuthRole', |
| | | meta: { title: 'åé
è§è²', activeMenu: '/system/user' } |
| | | } |
| | | ] |
| | | path: "role/:userId(\\d+)", |
| | | component: () => import("@/views/system/user/authRole"), |
| | | name: "AuthRole", |
| | | meta: { title: "åé
è§è²", activeMenu: "/system/user" }, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | // è§è²ç®¡ç |
| | | path: '/system/role-auth', |
| | | path: "/system/role-auth", |
| | | component: Layout, |
| | | hidden: true, |
| | | permissions: ['system:role:edit'], |
| | | permissions: ["system:role:edit"], |
| | | children: [ |
| | | { |
| | | path: 'user/:roleId(\\d+)', |
| | | component: () => import('@/views/system/role/authUser'), |
| | | name: 'AuthUser', |
| | | meta: { title: 'åé
ç¨æ·', activeMenu: '/system/role' } |
| | | } |
| | | ] |
| | | path: "user/:roleId(\\d+)", |
| | | component: () => import("@/views/system/role/authUser"), |
| | | name: "AuthUser", |
| | | meta: { title: "åé
ç¨æ·", activeMenu: "/system/role" }, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | // æ°æ®åå
¸ |
| | | path: '/system/dict-data', |
| | | path: "/system/dict-data", |
| | | component: Layout, |
| | | hidden: true, |
| | | permissions: ['system:dict:list'], |
| | | permissions: ["system:dict:list"], |
| | | children: [ |
| | | { |
| | | path: 'index/:dictId(\\d+)', |
| | | component: () => import('@/views/system/dict/data'), |
| | | name: 'Data', |
| | | meta: { title: 'åå
¸æ°æ®', activeMenu: '/system/dict' } |
| | | } |
| | | ] |
| | | path: "index/:dictId(\\d+)", |
| | | component: () => import("@/views/system/dict/data"), |
| | | name: "Data", |
| | | meta: { title: "åå
¸æ°æ®", activeMenu: "/system/dict" }, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | // æ°æ®åå
¸ |
| | | path: '/customer', |
| | | path: "/customer", |
| | | component: Layout, |
| | | hidden: true, |
| | | permissions: ['customer:edit'], |
| | | permissions: ["customer:edit"], |
| | | }, |
| | | { |
| | | path: '/monitor/job-log', |
| | | path: "/monitor/job-log", |
| | | component: Layout, |
| | | hidden: true, |
| | | permissions: ['monitor:job:list'], |
| | | permissions: ["monitor:job:list"], |
| | | children: [ |
| | | { |
| | | path: 'index/:jobId(\\d+)', |
| | | component: () => import('@/views/monitor/job/log'), |
| | | name: 'JobLog', |
| | | meta: { title: 'è°åº¦æ¥å¿', activeMenu: '/monitor/job' } |
| | | } |
| | | ] |
| | | path: "index/:jobId(\\d+)", |
| | | component: () => import("@/views/monitor/job/log"), |
| | | name: "JobLog", |
| | | meta: { title: "è°åº¦æ¥å¿", activeMenu: "/monitor/job" }, |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | path: '/tool/gen-edit', |
| | | path: "/tool/gen-edit", |
| | | component: Layout, |
| | | hidden: true, |
| | | permissions: ['tool:gen:edit'], |
| | | permissions: ["tool:gen:edit"], |
| | | children: [ |
| | | { |
| | | path: 'index/:tableId(\\d+)', |
| | | component: () => import('@/views/tool/gen/editTable'), |
| | | name: 'GenEdit', |
| | | meta: { title: 'ä¿®æ¹çæé
ç½®', activeMenu: '/tool/gen' } |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | path: "index/:tableId(\\d+)", |
| | | component: () => import("@/views/tool/gen/editTable"), |
| | | name: "GenEdit", |
| | | meta: { title: "ä¿®æ¹çæé
ç½®", activeMenu: "/tool/gen" }, |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | |
| | | // 鲿¢è¿ç»ç¹å»å¤æ¬¡è·¯ç±æ¥é |
| | | let routerPush = Router.prototype.push; |
| | | let routerReplace = Router.prototype.replace; |
| | | // push |
| | | Router.prototype.push = function push(location) { |
| | | return routerPush.call(this, location).catch(err => err) |
| | | } |
| | | return routerPush.call(this, location).catch((err) => err); |
| | | }; |
| | | // replace |
| | | Router.prototype.replace = function push(location) { |
| | | return routerReplace.call(this, location).catch(err => err) |
| | | } |
| | | return routerReplace.call(this, location).catch((err) => err); |
| | | }; |
| | | |
| | | export default new Router({ |
| | | mode: 'history', // 廿urlä¸ç# |
| | | mode: "history", // 廿urlä¸ç# |
| | | scrollBehavior: () => ({ y: 0 }), |
| | | routes: constantRoutes |
| | | }) |
| | | routes: constantRoutes, |
| | | }); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog |
| | | :visible.sync="editInspectionDia" |
| | | title="ä¿®æ¹æ£éªé¡¹" |
| | | width="80%" |
| | | @close="editInspectionDia = false" |
| | | > |
| | | <TableCard :showTitle="false"> |
| | | <template v-slot:table> |
| | | <lims-table |
| | | :column="editColumn" |
| | | :table-data="editTableData" |
| | | :table-loading="editLoading" |
| | | :page="page" |
| | | height="600" |
| | | style="padding: 0 15px" |
| | | @pagination="pagination" |
| | | > |
| | | </lims-table> |
| | | </template> |
| | | </TableCard> |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="editAskDia" title="ä¿®æ¹" width="50%"> |
| | | <el-form ref="form" :model="editForm" label-width="100px"> |
| | | <el-form-item label="è¦æ±å¼"> |
| | | <el-input v-model="editForm.ask" type="textarea"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è¦æ±æè¿°"> |
| | | <el-input v-model="editForm.tell" type="textarea"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå¼ç±»å"> |
| | | <el-select |
| | | v-model="editForm.inspectionValueType" |
| | | clearable |
| | | placeholder="è¯·éæ©" |
| | | size="small" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in inspectionValueTypeList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="editAskDia = false">å æ¶</el-button> |
| | | <el-button |
| | | :loading="handleEditLoading" |
| | | type="primary" |
| | | @click="handleEdit" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import TableCard from "@/components/TableCard/index.vue"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import { |
| | | selectSampleAndProductByOrderId, |
| | | updateProductOnPlan, |
| | | } from "@/api/business/inspectionTask.js"; |
| | | export default { |
| | | name: "EditInspectionItem", |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { TableCard, limsTable }, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | editInspectionDia: false, |
| | | entity: { |
| | | id: 0, |
| | | }, |
| | | inspectionValueTypeList: [], // æ£éªå¼ç±»åä¸ææ¡ |
| | | editColumn: [ |
| | | { |
| | | label: "æ ·åç¼å·", |
| | | minWidth: "160px", |
| | | prop: "sampleCode", |
| | | }, |
| | | { |
| | | label: "æ ·ååç§°", |
| | | minWidth: "120px", |
| | | prop: "sample", |
| | | }, |
| | | { |
| | | label: "æ£éªé¡¹åç±»", |
| | | minWidth: "120px", |
| | | prop: "inspectionItemClass", |
| | | }, |
| | | { |
| | | label: "æ£éªé¡¹", |
| | | minWidth: "120px", |
| | | prop: "inspectionItem", |
| | | }, |
| | | { |
| | | label: "æ£éªå项", |
| | | minWidth: "120px", |
| | | prop: "inspectionItemSubclass", |
| | | }, |
| | | { |
| | | label: "æ¡ä»¶", |
| | | minWidth: "120px", |
| | | prop: "radius", |
| | | }, |
| | | { |
| | | label: "çµç¼æ è¯", |
| | | minWidth: "120px", |
| | | prop: "cableTag", |
| | | }, |
| | | { |
| | | label: "åä½", |
| | | prop: "unit", |
| | | }, |
| | | { |
| | | label: "è¦æ±å¼", |
| | | minWidth: "300px", |
| | | prop: "ask", |
| | | }, |
| | | { |
| | | label: "è¦æ±æè¿°", |
| | | minWidth: "300px", |
| | | prop: "tell", |
| | | }, |
| | | { |
| | | label: "æ ·ååå·", |
| | | minWidth: "120px", |
| | | prop: "model", |
| | | }, |
| | | { |
| | | dataType: "action", |
| | | width: "80px", |
| | | label: "æä½", |
| | | fixed: "right", |
| | | operation: [ |
| | | { |
| | | name: "ç¼è¾", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.editIns(row); |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | editTableData: [], |
| | | editLoading: false, |
| | | page: { |
| | | total: 0, |
| | | size: 10, |
| | | current: 0, |
| | | }, |
| | | editAskDia: false, |
| | | editForm: { |
| | | id: "", |
| | | ask: "", |
| | | tell: "", |
| | | inspectionValueType: "", |
| | | }, |
| | | handleEditLoading: false, |
| | | }; |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | showDialog(id) { |
| | | this.editInspectionDia = true; |
| | | this.entity.id = id; |
| | | this.getTableData(); |
| | | }, |
| | | // è·ååè¡¨æ°æ® |
| | | getTableData() { |
| | | this.editLoading = true; |
| | | selectSampleAndProductByOrderId({ |
| | | ...this.entity, |
| | | ...this.page, |
| | | }) |
| | | .then((res) => { |
| | | this.editLoading = false; |
| | | if (res.code === 201) return; |
| | | this.editTableData = res.data.body.records; |
| | | this.page.total = res.data.body.total; |
| | | }) |
| | | .catch(() => { |
| | | this.editLoading = false; |
| | | }); |
| | | }, |
| | | // ä¿®æ¹å¼¹æ¡ |
| | | editIns(row) { |
| | | this.editAskDia = true; |
| | | this.selectEnumByCategoryForInspectionValueType(); |
| | | this.editForm = { ...row }; |
| | | }, |
| | | // æäº¤ä¿®æ¹ |
| | | handleEdit() { |
| | | const params = { |
| | | id: this.editForm.insProductId, |
| | | ask: this.editForm.ask, |
| | | tell: this.editForm.tell, |
| | | inspectionValueType: this.editForm.inspectionValueType, |
| | | }; |
| | | this.handleEditLoading = true; |
| | | updateProductOnPlan(params) |
| | | .then((res) => { |
| | | this.handleEditLoading = false; |
| | | if (res.code === 201) return; |
| | | this.$message.success("ä¿®æ¹æå"); |
| | | this.editAskDia = false; |
| | | this.getTableData(); |
| | | }) |
| | | .catch(() => { |
| | | this.handleEditLoading = false; |
| | | }); |
| | | }, |
| | | // 年度计åå页 |
| | | pagination({ page, limit }) { |
| | | this.page.current = page; |
| | | this.page.size = limit; |
| | | this.getTableData(); |
| | | }, |
| | | selectEnumByCategoryForInspectionValueType() { |
| | | this.$axios |
| | | .post(this.$api.enums.selectEnumByCategory, { |
| | | category: "æ£éªå¼ç±»å", |
| | | }) |
| | | .then((res) => { |
| | | this.inspectionValueTypeList = res.data; |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .pagination { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <style scoped> |
| | | .ins-order-plan-main .title { |
| | | font-size: 20px; |
| | | color: #3a7bfa; |
| | | } |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_thing { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 50px; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 120px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 120px); |
| | | } |
| | | |
| | | .ins-order-plan-main .search { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | height: 80px; |
| | | background-color: #fff; |
| | | border-radius: 3px; |
| | | } |
| | | |
| | | .search .form-inline { |
| | | height: 50px; |
| | | padding-top: 20px; |
| | | padding-left: 50px; |
| | | } |
| | | |
| | | .ins-order-plan-main .center { |
| | | width: calc(100% - 40px); |
| | | height: calc(100% - 60px - 80px - 40px); |
| | | background-color: #fff; |
| | | border-radius: 3px; |
| | | padding: 20px; |
| | | } |
| | | |
| | | .ins-order-plan-main .center .value-table { |
| | | width: 100%; |
| | | height: calc(100% - 68px); |
| | | } |
| | | |
| | | .tab { |
| | | list-style-type: none; |
| | | display: flex; |
| | | } |
| | | |
| | | .tab li { |
| | | line-height: 24px; |
| | | padding: 6px 14px; |
| | | font-size: 14px; |
| | | color: #333333; |
| | | border: 1px solid #eeeeee; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .tab li:nth-child(1) { |
| | | border-radius: 8px 0 0 8px; |
| | | } |
| | | |
| | | .tab li:nth-last-child(1) { |
| | | border-radius: 0 8px 8px 0; |
| | | } |
| | | |
| | | .tab li.active { |
| | | border-color: #3a7bfa; |
| | | color: #3a7bfa; |
| | | } |
| | | |
| | | .center .center-options .center-title { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: right; |
| | | } |
| | | |
| | | .center .center-options .center-title span:last-child { |
| | | color: #3a7bfa; |
| | | font-size: 23px; |
| | | font-weight: 400; |
| | | } |
| | | |
| | | .view-self-checkbox { |
| | | margin-left: 50px; |
| | | } |
| | | </style> |
| | | <style> |
| | | .ins-order-plan-main .el-form-item__label { |
| | | color: #000; |
| | | } |
| | | |
| | | .ins-order-plan-main .el-table th.el-table__cell > .cell { |
| | | height: 46px; |
| | | line-height: 30px; |
| | | } |
| | | </style> |
| | | <template> |
| | | <div class="ins-order-plan-main"> |
| | | <div v-show="activeFace == 0 && state == 0" style="height: 100%"> |
| | | <p |
| | | style=" |
| | | font-size: 16px; |
| | | padding-left: 20px; |
| | | text-align: left; |
| | | height: 60px; |
| | | line-height: 60px; |
| | | " |
| | | > |
| | | æ£éªä»»å¡ |
| | | </p> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">å§æç¼å·ï¼</div> |
| | | <div class="search_input"> |
| | | <el-input |
| | | v-model="componentData.entity.entrustCode" |
| | | clearable |
| | | placeholder="请è¾å
¥" |
| | | size="small" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">æ£éªç¶æï¼</div> |
| | | <div class="search_input"> |
| | | <el-select |
| | | v-model="componentData.entity.insState" |
| | | size="small" |
| | | style="width: 100%" |
| | | @change="refreshTable()" |
| | | > |
| | | <el-option |
| | | v-for="(a, i) in insStateList" |
| | | :key="i" |
| | | :label="a.label" |
| | | :value="a.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="search_thing">--> |
| | | <!-- <div class="search_label">ä¸åç±»å«ï¼</div>--> |
| | | <!-- <div class="search_input">--> |
| | | <!-- <el-select v-model="componentData.entity.typeSource" clearable size="small" style="width: 100%;" @change="refreshTable()">--> |
| | | <!-- <el-option v-for="(a, i) in typeSourceList" :key="i" :label="a.label" :value="a.value"></el-option>--> |
| | | <!-- </el-select>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <div class="search_thing" style="padding-left: 30px"> |
| | | <el-button size="small" @click="refresh()">é ç½®</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()" |
| | | >æ¥ è¯¢</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="center"> |
| | | <div class="center-options"> |
| | | <el-row> |
| | | <el-col :span="21"> |
| | | <div |
| | | style="display: flex; align-items: center; margin-bottom: 10px" |
| | | > |
| | | <span style="margin-right: 8px">è¯éªå®¤ç§ç±»:</span> |
| | | <ul class="tab"> |
| | | <li |
| | | v-for="(m, i) in tabList" |
| | | :key="i" |
| | | :class="{ active: i == tabIndex }" |
| | | @click="handleTab(m, i)" |
| | | > |
| | | {{ m.label.replace("è¯éªå®¤", "") }} |
| | | </li> |
| | | </ul> |
| | | <div> |
| | | <el-checkbox |
| | | v-model="alone" |
| | | class="view-self-checkbox" |
| | | @change="changeCheckBox" |
| | | ><span>æçä»»å¡</span></el-checkbox |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div class="center-title"> |
| | | <span>æ»è®¡ä»»å¡æ°é:</span> |
| | | <span v-if="$refs.insOrderPlan != undefined">{{ |
| | | $refs.insOrderPlan.total |
| | | }}</span> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <ValueTable |
| | | :key="upIndex" |
| | | ref="insOrderPlan" |
| | | :componentData="componentData" |
| | | :isColumnWidth="true" |
| | | :tableRowClassName="changeRowClass" |
| | | :upUrl="$api.user.updateUser" |
| | | :url="$api.insOrderPlan.selectInsOrderPlanList" |
| | | class="value-table" |
| | | @handleInspection="handleInspection" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <el-dialog :visible.sync="claimVisible" title="æç¤º" width="400px"> |
| | | æ¯å¦è®¤é¢å§æç¼å·<span style="color: #33c130">{{ |
| | | sampleUserForm.entrustCode |
| | | }}</span |
| | | >çä»»å¡ |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="claimVisible = false">å æ¶</el-button> |
| | | <el-button :loading="loading" type="primary" @click="confirmClaim" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="connectVisible" title="æ£éªäº¤æ¥" width="400px"> |
| | | <div class="search_thing"> |
| | | <div class="search_label" style="width: 90px"> |
| | | <span class="required-span">* </span>交æ¥äººåï¼ |
| | | </div> |
| | | <div class="search_input"> |
| | | <el-select |
| | | v-model="connect.connectPerson" |
| | | filterable |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in personList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label" style="width: 90px"> |
| | | <span class="required-span">* </span>è¯éªå®¤ï¼ |
| | | </div> |
| | | <div class="search_input"> |
| | | <el-select |
| | | v-model="connect.sonLaboratory" |
| | | filterable |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in sonLaboratoryList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="connectVisible = false">å æ¶</el-button> |
| | | <el-button :loading="loading" type="primary" @click="confirmConnect" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <div |
| | | v-if="activeFace > 0 && isCopper == null" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <!-- <Add :active="activeFace" :currentId="currentId" :examine="examine" /> --> |
| | | </div> |
| | | <div |
| | | v-if="activeFace > 0 && isCopper == 0" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <!-- <CustomsInspection |
| | | :active="activeFace" |
| | | :currentId="currentId" |
| | | :customsInspection="customsInspection" |
| | | :isReport="isReport" |
| | | /> --> |
| | | </div> |
| | | <div |
| | | v-if="activeFace > 0 && isCopper == 1" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <!-- <CopperOrder :active="activeFace" :currentId="currentId"></CopperOrder> --> |
| | | </div> |
| | | <!--<Inspection |
| | | v-if="state > 0" |
| | | :key="InspectionKey" |
| | | :inspectorList="inspectorList" |
| | | :orderId="orderId" |
| | | :sonLaboratory="sonLaboratory" |
| | | :state="state" |
| | | :typeSource="typeSource" |
| | | @goback="goback" |
| | | @refreshView="refreshView" |
| | | />--> |
| | | <el-dialog :visible.sync="dataDialogVisible" title="æ°æ®æ¥ç" width="80%"> |
| | | <div v-if="dataDialogVisible" style="height: 70vh; overflow-y: auto"> |
| | | <ValueTable |
| | | ref="ValueTableDataLook" |
| | | :componentData="componentDataDataLook" |
| | | :rowKey="'insProductId'" |
| | | :url="$api.insOrder.selectSampleAndProductByOrderId" |
| | | /> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :visible.sync="bindDialogVisible" |
| | | title="æ£éªé¡¹ç»å®" |
| | | width="600px" |
| | | > |
| | | <div |
| | | slot="title" |
| | | style=" |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | " |
| | | > |
| | | <span>æ£éªé¡¹ç»å®</span> |
| | | <el-button |
| | | style="float: right; margin-left: 360px" |
| | | size="small" |
| | | @click="openBindAdd" |
| | | type="primary" |
| | | > |
| | | æ°å¢ |
| | | </el-button> |
| | | </div> |
| | | <el-table :data="bindTableData" style="width: 100%" height="70vh"> |
| | | <el-table-column |
| | | prop="inspectionItemClass" |
| | | label="æ£éªé¡¹åç±»" |
| | | width="150" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="inspectionItem" label="æ£éªé¡¹" width="150"> |
| | | </el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="æ£éªå项"> |
| | | </el-table-column> |
| | | <el-table-column label="æä½"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" @click="handleDelete(scope.row)" |
| | | >å é¤</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :visible.sync="bindAddDialogVisible" |
| | | title="éæ©ç»å®" |
| | | width="600px" |
| | | > |
| | | <el-table |
| | | :data="bindAddTableData" |
| | | style="width: 100%" |
| | | height="60vh" |
| | | @selection-change="handleBindAddSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"> </el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItemClass" |
| | | label="æ£éªé¡¹åç±»" |
| | | width="150" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="inspectionItem" label="æ£éªé¡¹" width="150"> |
| | | </el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="æ£éªå项"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="bindAddDialogVisible = false">å æ¶</el-button> |
| | | <el-button :loading="loading" type="primary" @click="bindAdd" |
| | | >ç» å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <un-pass-retest-result |
| | | v-if="retestVisible" |
| | | :retestInfo="retestInfo" |
| | | :retestVisible="retestVisible" |
| | | @closeRetestLook="closeRetestLook" |
| | | ></un-pass-retest-result> |
| | | <!--产ä¸é¾ä¿¡æ¯æ¥ç--> |
| | | <!-- <ShowInfo |
| | | v-if="showInfoDialog" |
| | | ref="showInfoDialog" |
| | | :showInfoDialog="showInfoDialog" |
| | | ></ShowInfo> --> |
| | | <edit-inspection-item ref="editInspectionItem"></edit-inspection-item> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from "@/components/Table/value-table.vue"; |
| | | // import Inspection from "../do/b1-inspect-order-plan/Inspection.vue"; |
| | | // import CustomsInspection from "../do/b1-material-ins-order/customs-inspection.vue"; |
| | | import { getYearAndMonthAndDays } from "@/utils/date"; |
| | | // import Add from "../do/b1-ins-order/add.vue"; |
| | | // import ShowInfo from "../do/b1-material-ins-order/showInfo.vue"; |
| | | // import CopperOrder from "../do/b1-material-ins-order/copper-order.vue"; |
| | | import EditInspectionItem from "./components/EditInspectionItem.vue"; |
| | | export default { |
| | | components: { |
| | | EditInspectionItem, |
| | | // CopperOrder, |
| | | // ShowInfo, |
| | | ValueTable, |
| | | // Inspection, |
| | | // Add, |
| | | // CustomsInspection, |
| | | }, |
| | | data() { |
| | | return { |
| | | InspectionKey: 1, |
| | | bindDialogVisible: false, |
| | | bindAddDialogVisible: false, |
| | | bindTableData: [], |
| | | bindAddTableData: [], |
| | | chooseBindAddList: [], |
| | | examine: null, |
| | | inspectorList: [], //æ£éªäººåå表 |
| | | alone: true, |
| | | sampleUserForm: { |
| | | entrustCode: null, |
| | | insSampleId: null, |
| | | userId: null, |
| | | }, |
| | | claimVisible: false, |
| | | tabList: [ |
| | | { label: "å§æ", value: 0 }, |
| | | { label: "åææ", value: 1 }, |
| | | ], |
| | | active: 1, |
| | | tabIndex: 0, |
| | | componentDataDataLook: { |
| | | entity: { |
| | | id: 0, |
| | | orderBy: { |
| | | field: "sampleCode", |
| | | order: "asc", |
| | | }, |
| | | }, |
| | | isIndex: false, |
| | | showSelect: false, |
| | | select: false, |
| | | do: [ |
| | | { |
| | | id: "parent", |
| | | font: "ä¸åæ ¼å¤æµæ¥ç", |
| | | type: "text", |
| | | method: "getRetestResult", |
| | | disabFun: (row, index) => { |
| | | return row.insResult != 0; |
| | | }, |
| | | }, |
| | | { |
| | | id: "parent", |
| | | font: "æ£éªé¡¹ç»å®", |
| | | type: "text", |
| | | method: "getBinding", |
| | | disabFun: (row, index) => { |
| | | return ( |
| | | this.lookInfo.userName == null || |
| | | this.lookInfo.insState == 3 || |
| | | this.lookInfo.insState == 5 |
| | | ); |
| | | }, |
| | | }, |
| | | ], |
| | | tagField: { |
| | | insState: { |
| | | select: [], |
| | | }, |
| | | insResult: { |
| | | select: [ |
| | | { |
| | | value: 1, |
| | | label: "åæ ¼", |
| | | type: "success", |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "ä¸åæ ¼", |
| | | type: "danger", |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "ä¸å¤å®", |
| | | type: "", |
| | | }, |
| | | ], |
| | | }, |
| | | }, |
| | | selectField: {}, |
| | | spanConfig: { |
| | | rows: [ |
| | | { |
| | | name: "sampleCode", |
| | | index: 0, |
| | | }, |
| | | { |
| | | name: "sample", |
| | | index: 1, |
| | | }, |
| | | { |
| | | name: "model", |
| | | index: 6, |
| | | }, |
| | | ], |
| | | }, |
| | | requiredAdd: [], |
| | | requiredUp: [], |
| | | }, |
| | | dataDialogVisible: false, |
| | | componentData: { |
| | | entity: { |
| | | orderBy: { |
| | | field: "entrustCode", |
| | | order: "asc", |
| | | }, |
| | | sonLaboratory: null, |
| | | insState: null, |
| | | userId: null, |
| | | typeSource: null, |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | init: false, |
| | | needSort: ["createTime", "sendTime", "type", "appointed", "insState"], |
| | | do: [ |
| | | { |
| | | id: "", |
| | | font: "æ°æ®æ¥ç", |
| | | type: "text", |
| | | method: "handleDataLook", |
| | | }, |
| | | { |
| | | id: "", |
| | | font: "ä¿®æ¹æ£éªå¼", |
| | | type: "text", |
| | | method: "editInspection", |
| | | disabFun: (row, index) => { |
| | | return ( |
| | | row.userName == null || row.insState == 3 || row.insState == 5 |
| | | ); |
| | | }, |
| | | }, |
| | | { |
| | | id: "", |
| | | font: "æ£éª", |
| | | type: "text", |
| | | method: "handleInspection", |
| | | disabFun: (row, index) => { |
| | | return ( |
| | | row.userName == null || |
| | | row.insState == 3 || |
| | | row.insState == 5 || |
| | | (row.userName && |
| | | !row.userName.includes( |
| | | JSON.parse(localStorage.getItem("user")).name |
| | | )) |
| | | ); |
| | | }, |
| | | }, |
| | | { |
| | | id: "", |
| | | font: "交æ¥", |
| | | type: "text", |
| | | method: "handleConnect", |
| | | disabFun: (row, index) => { |
| | | return ( |
| | | row.userName == null || |
| | | row.insState == 5 || |
| | | row.insState == 3 || |
| | | (row.userName && |
| | | !row.userName.includes( |
| | | JSON.parse(localStorage.getItem("user")).name |
| | | )) |
| | | ); |
| | | }, |
| | | }, |
| | | // { |
| | | // font: '产ä¸é¾', |
| | | // type: 'text', |
| | | // method: 'openInfoDialog', |
| | | // disabFun: (row, index) => { |
| | | // return row.typeSource !== 1 |
| | | // } |
| | | // }, |
| | | // { |
| | | // id: '', |
| | | // font: '认é¢', |
| | | // type: 'text', |
| | | // method: 'claimFun', |
| | | // disabFun: (row, index) => { |
| | | // return row.userName != null || row.checkName!=null |
| | | // } |
| | | // }, |
| | | { |
| | | id: "", |
| | | font: "åå§è®°å½", |
| | | type: "text", |
| | | method: "viewInspectInfo", |
| | | }, |
| | | ], |
| | | linkEvent: { |
| | | entrustCode: { |
| | | method: "selectAllByOne", |
| | | }, |
| | | }, |
| | | tagField: { |
| | | type: { |
| | | select: [], |
| | | }, |
| | | insState: { |
| | | select: [], |
| | | }, |
| | | insResult: { |
| | | select: [ |
| | | { |
| | | value: 0, |
| | | label: "ä¸åæ ¼", |
| | | type: "danger", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "åæ ¼", |
| | | type: "success", |
| | | }, |
| | | { |
| | | value: "", |
| | | label: "æªåºç»æ", |
| | | type: "info", |
| | | }, |
| | | ], |
| | | }, |
| | | typeSource: { |
| | | select: [ |
| | | { |
| | | value: 0, |
| | | label: "æåä¸å", |
| | | type: "info", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "åææä¸å", |
| | | type: "info", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "åææä¸å", |
| | | type: "info", |
| | | }, |
| | | ], |
| | | }, |
| | | orderType: { |
| | | select: [ |
| | | { |
| | | value: "Customer-ordered test", |
| | | label: "å§æè¯éª", |
| | | type: "success", |
| | | effect: "plain", |
| | | }, |
| | | { |
| | | value: "æ½æ£", |
| | | label: "æ½æ£", |
| | | type: "", |
| | | effect: "plain", |
| | | }, |
| | | { |
| | | value: "è¿åæ£éª", |
| | | label: "è¿åæ£éª", |
| | | type: "info", |
| | | effect: "plain", |
| | | }, |
| | | { |
| | | value: "Quarterly inspection", |
| | | label: "å£åº¦æ£éª", |
| | | type: "warning", |
| | | effect: "plain", |
| | | }, |
| | | ], |
| | | }, |
| | | }, |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [], |
| | | }, |
| | | upIndex: 0, |
| | | planTotal: 0, |
| | | insStateList: [], |
| | | state: 0, // 0:å°è´¦é¡µï¼1ï¼æ£éªé¡µé¢,2æ£éªé¡µé¢(夿 ¸)ï¼é»è®¤ä¸º0,3æ°æ®æ¥ç |
| | | typeSource: null, // 0:æåä¸åï¼1ï¼åææä¸å |
| | | sonLaboratory: null, // 0:å§æï¼1ï¼åææ |
| | | activeFace: 0, // 1ï¼ä¸åï¼2ï¼æ¥çï¼3ï¼å®¡æ ¸ï¼é»è®¤ä¸º0 |
| | | currentId: null, |
| | | entityCopy: {}, |
| | | orderId: 0, |
| | | personList: [], |
| | | connectVisible: false, |
| | | connect: { |
| | | connectPerson: "", |
| | | sonLaboratory: "", |
| | | }, |
| | | loading: false, |
| | | currentTime: null, |
| | | sonLaboratoryList: [], |
| | | typeSourceList: [ |
| | | { label: "æåä¸å", value: 0 }, |
| | | { label: "åææä¸å", value: 1 }, |
| | | ], |
| | | customsInspection: {}, |
| | | showInfoDialog: false, // 产ä¸é¾ä¿¡æ¯æ¥ç |
| | | isReport: 0, |
| | | retestVisible: false, |
| | | retestInfo: [], |
| | | isCopper: null, |
| | | bindCurrentInfo: {}, |
| | | lookInfo: {}, |
| | | }; |
| | | }, |
| | | created() { |
| | | // this.getLaboratoryDicts() |
| | | this.getTypeDicts(); |
| | | this.getInsStateDicts(); |
| | | this.getAuthorizedPerson(); |
| | | this.currentTime = getYearAndMonthAndDays(); |
| | | }, |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity); |
| | | let user = JSON.parse(localStorage.getItem("user")); |
| | | this.componentData.entity.userId = user.userId; |
| | | this.getPower(); |
| | | this.refreshTable(); |
| | | }, |
| | | methods: { |
| | | // ä¿®æ¹æ£éªå¼ |
| | | editInspection(row) { |
| | | this.$refs.editInspectionItem.showDialog(row.id); |
| | | }, |
| | | // å·æ°é¡µé¢ |
| | | refreshView() { |
| | | this.InspectionKey++; |
| | | }, |
| | | // æ°æ®æ¥ç |
| | | handleDataLook(row) { |
| | | this.lookInfo = row; |
| | | this.componentDataDataLook.entity.id = row.id; |
| | | this.dataDialogVisible = true; |
| | | }, |
| | | // æ¥çä¸åæ ¼å¤æµç»æ |
| | | getRetestResult(row) { |
| | | this.$axios |
| | | .get( |
| | | this.$api.insOrder.getRetestResult + |
| | | "?insProductId=" + |
| | | row.insProductId |
| | | ) |
| | | .then((res) => { |
| | | if (res.code == 201) return; |
| | | this.retestVisible = true; |
| | | this.retestInfo = res.data; |
| | | }); |
| | | }, |
| | | // |
| | | closeRetestLook() { |
| | | this.retestVisible = false; |
| | | }, |
| | | // æéåé
|
| | | getPower(radio) { |
| | | let power = JSON.parse(sessionStorage.getItem("power")); |
| | | let inspection = false; |
| | | let connect = false; |
| | | let review = false; |
| | | let claim = false; |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == "doInsOrder") { |
| | | inspection = true; |
| | | } |
| | | if (power[i].menuMethod == "upPlanUser") { |
| | | connect = true; |
| | | } |
| | | if (power[i].menuMethod == "verifyPlan") { |
| | | review = true; |
| | | } |
| | | if (power[i].menuMethod == "claimInsOrderPlan") { |
| | | claim = true; |
| | | } |
| | | } |
| | | if (!claim) { |
| | | this.componentData.do.splice(3, 1); |
| | | } |
| | | if (!review) { |
| | | this.componentData.do.splice(2, 1); |
| | | } |
| | | if (!connect) { |
| | | this.componentData.do.splice(1, 1); |
| | | } |
| | | if (!inspection) { |
| | | this.componentData.do.splice(0, 1); |
| | | } |
| | | }, |
| | | changeCheckBox(val) { |
| | | this.componentData.entity.userId = val ? 0 : null; |
| | | this.refreshTable(); |
| | | }, |
| | | refresh() { |
| | | this.componentData.entity = this.HaveJson(this.entityCopy); |
| | | let user = JSON.parse(localStorage.getItem("user")); |
| | | this.componentData.entity.userId = user.userId; |
| | | this.alone = true; |
| | | this.refreshTable(); |
| | | }, |
| | | // claimFun(row) { |
| | | // if (row) { |
| | | // this.sampleUserForm = { |
| | | // entrustCode: row.entrustCode, |
| | | // insSampleId: row.id, |
| | | // sonLaboratory: row.sonLaboratory, |
| | | // } |
| | | // this.claimVisible = true |
| | | // } |
| | | // }, |
| | | // æ¥ç产ä¸é¾ä¿¡æ¯ |
| | | openInfoDialog(row) { |
| | | this.showInfoDialog = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.showInfoDialog.getInfo(row.ifsInventoryId); |
| | | }); |
| | | }, |
| | | confirmClaim() { |
| | | this.loading = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, { |
| | | headers: { |
| | | "Content-Type": "application/json", |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200 && res.data) { |
| | | this.loading = false; |
| | | this.$message.success("è®¤é¢æå"); |
| | | this.claimVisible = false; |
| | | this.refreshTable("page"); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | refreshTable(e) { |
| | | this.componentData.entity.typeSource = this.tabIndex; |
| | | this.$refs.insOrderPlan.selectList(e); |
| | | }, |
| | | changeRowClass({ row, rowIndex }) { |
| | | if (this.currentTime == row.appointed) { |
| | | return "highlight-warning-row-border"; |
| | | } else if (this.currentTime > row.appointed) { |
| | | return "highlight-danger-row-border"; |
| | | } |
| | | return ""; |
| | | }, |
| | | onReset() { |
| | | this.searchForm = { |
| | | sampleName: null, |
| | | state: null, |
| | | }; |
| | | this.componentData.entity.insState = null; |
| | | this.componentData.entity.sampleName = null; |
| | | this.refreshTable(); |
| | | }, |
| | | onSubmit() { |
| | | this.componentData.entity.insState = this.searchForm.state; |
| | | this.componentData.entity.sampleName = this.searchForm.sampleName; |
| | | this.$nextTick(() => { |
| | | this.refreshTable(); |
| | | }); |
| | | }, |
| | | handleTab(m, i) { |
| | | this.tabIndex = i; |
| | | this.componentData.entity.sonLaboratory = ""; |
| | | this.refreshTable(); |
| | | }, |
| | | getTypeDicts() { |
| | | this.$axios |
| | | .post(this.$api.enums.selectEnumByCategory, { |
| | | category: "ç´§æ¥ç¨åº¦", |
| | | }) |
| | | .then((res) => { |
| | | let data = res.data; |
| | | data.forEach((ele) => { |
| | | if (ele.value === "0") { |
| | | ele.type = "success"; |
| | | } else if (ele.value === "1") { |
| | | ele.type = "warning"; |
| | | } else if (ele.value === "2") { |
| | | ele.type = "danger"; |
| | | } |
| | | }); |
| | | this.componentData.tagField.type.select = data; |
| | | }); |
| | | }, |
| | | getInsStateDicts() { |
| | | this.$axios |
| | | .post(this.$api.enums.selectEnumByCategory, { |
| | | category: "æ£éªä»»å¡ç¶æ", |
| | | }) |
| | | .then((res) => { |
| | | let data = res.data; |
| | | this.insStateList = data; |
| | | data.forEach((ele) => { |
| | | //0:å¾
æ£éª 1:æ£éªä¸ 2:å·²æ£éª 3:å¾
夿 ¸ 4:夿 ¸æªéè¿ 5:夿 ¸éè¿ |
| | | if (["2", "5"].includes(ele.value)) { |
| | | ele.type = "success"; |
| | | } else if (["1", "3"].includes(ele.value)) { |
| | | ele.type = "warning"; |
| | | } else if (["0", "4"].includes(ele.value)) { |
| | | ele.type = "danger"; |
| | | } |
| | | }); |
| | | this.componentData.tagField.insState.select = data; |
| | | }); |
| | | }, |
| | | // getLaboratoryDicts() { |
| | | // this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | // category: "åå®éªå®¤" |
| | | // }).then(res => { |
| | | // this.tabList = res.data.map(ele => { |
| | | // return { |
| | | // label: ele.label, |
| | | // value: ele.value |
| | | // } |
| | | // }) |
| | | // if(this.tabList.length>0){ |
| | | // this.componentData.entity.sonLaboratory = this.tabList[0].value |
| | | // } |
| | | // this.refreshTable() |
| | | // }) |
| | | // }, |
| | | selectAllByOne(row) { |
| | | this.isCopper = row.isCopper; |
| | | this.customsInspection = row; |
| | | this.activeFace = 2; |
| | | this.examine = 1; |
| | | this.isReport = 0; |
| | | this.currentId = parseInt(row.id); |
| | | }, |
| | | playOrder(num) { |
| | | this.activeFace = num; |
| | | }, |
| | | goback() { |
| | | this.state = 0; |
| | | this.refreshTable("page"); |
| | | }, |
| | | // è¿è¡æ£éªä»»å¡ |
| | | handleInspection(row) { |
| | | //å½åæ£éªä»»å¡çæ£éªäººå表 |
| | | let inspectorList = []; |
| | | if (row.userName) { |
| | | inspectorList = row.userName.split(","); |
| | | } |
| | | let user = JSON.parse(localStorage.getItem("user")); |
| | | if (user) { |
| | | inspectorList.push(user.name); |
| | | } |
| | | this.inspectorList = inspectorList; |
| | | this.sonLaboratory = row.sonLaboratory; |
| | | this.state = 1; |
| | | this.typeSource = row.typeSource; |
| | | this.orderId = row.id; |
| | | }, |
| | | // æ¥çæ£éªæ°æ® |
| | | viewInspectInfo(row) { |
| | | //å½åæ£éªä»»å¡çæ£éªäººå表 |
| | | let inspectorList = []; |
| | | if (row.userName) { |
| | | inspectorList = row.userName.split(","); |
| | | } |
| | | let user = JSON.parse(localStorage.getItem("user")); |
| | | if (user) { |
| | | inspectorList.push(user.name); |
| | | } |
| | | this.inspectorList = inspectorList; |
| | | this.sonLaboratory = row.sonLaboratory; |
| | | this.state = 3; |
| | | this.typeSource = row.typeSource; |
| | | this.orderId = row.id; |
| | | }, |
| | | handleConnect(row) { |
| | | this.orderId = row.id; |
| | | this.connect = {}; |
| | | this.connectVisible = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.upPlanUser2, { |
| | | orderId: this.orderId, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200 && res.data.length > 0) { |
| | | this.sonLaboratoryList = []; |
| | | res.data.forEach((m) => { |
| | | this.sonLaboratoryList.push({ |
| | | value: m, |
| | | label: m, |
| | | }); |
| | | }); |
| | | this.connect.sonLaboratory = this.sonLaboratoryList[0].value; |
| | | } |
| | | }); |
| | | }, |
| | | confirmConnect() { |
| | | if ( |
| | | this.connect.connectPerson == null || |
| | | this.connect.connectPerson == "" || |
| | | this.connect.connectPerson == undefined |
| | | ) { |
| | | this.$message.error("æªéæ©äº¤æ¥äººå"); |
| | | return; |
| | | } |
| | | if ( |
| | | this.connect.sonLaboratory == null || |
| | | this.connect.sonLaboratory == "" || |
| | | this.connect.sonLaboratory == undefined |
| | | ) { |
| | | this.$message.error("æªéæ©è¯éªå®¤"); |
| | | return; |
| | | } |
| | | this.loading = true; |
| | | this.$axios |
| | | .post(this.$api.insOrderPlan.upPlanUser, { |
| | | orderId: this.orderId, |
| | | userId: this.connect.connectPerson, |
| | | sonLaboratory: this.connect.sonLaboratory, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.loading = false; |
| | | this.$message.success("æä½æå"); |
| | | this.refreshTable("page"); |
| | | } |
| | | this.connectVisible = false; |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | handleReview(row) { |
| | | this.state = 2; |
| | | this.orderId = row.id; |
| | | }, |
| | | getAuthorizedPerson() { |
| | | this.$axios.get(this.$api.user.getUserMenu).then((res) => { |
| | | let data = []; |
| | | res.data.forEach((a) => { |
| | | data.push({ |
| | | label: a.name, |
| | | value: a.id, |
| | | }); |
| | | }); |
| | | this.personList = data; |
| | | }); |
| | | }, |
| | | // ç»å®æ£éªé¡¹ç»å® |
| | | getBinding(row) { |
| | | this.bindCurrentInfo = row; |
| | | this.$axios |
| | | .get( |
| | | this.$api.insOrderPlan.getBindingProductByProductId + |
| | | "?productId=" + |
| | | row.insProductId |
| | | ) |
| | | .then((res) => { |
| | | if (res.coe == 201) { |
| | | // this.$message.error('æªç»å®æ£éªé¡¹') |
| | | return; |
| | | } |
| | | // console.log(res) |
| | | this.bindTableData = res.data; |
| | | this.bindDialogVisible = true; |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | openBindAdd() { |
| | | this.$axios |
| | | .get( |
| | | this.$api.insOrderPlan.getProductTreeByProductId + |
| | | "?productId=" + |
| | | this.bindCurrentInfo.insProductId |
| | | ) |
| | | .then((res) => { |
| | | if (res.coe == 201) { |
| | | // this.$message.error('æªç»å®æ£éªé¡¹') |
| | | return; |
| | | } |
| | | // console.log(res) |
| | | this.bindAddTableData = res.data; |
| | | this.bindAddDialogVisible = true; |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | handleBindAddSelectionChange(list) { |
| | | this.chooseBindAddList = list; |
| | | }, |
| | | bindAdd() { |
| | | if (this.chooseBindAddList.length == 0) { |
| | | this.$message.error("è¯·éæ©æ£éªé¡¹"); |
| | | return; |
| | | } |
| | | this.chooseBindAddList.forEach((item) => { |
| | | delete item.template; |
| | | }); |
| | | this.loading = true; |
| | | this.$axios |
| | | .post( |
| | | this.$api.insOrderPlan.bindingProductTreeByProductId, |
| | | { |
| | | insProductId: this.bindCurrentInfo.insProductId, |
| | | insProductBindingList: this.chooseBindAddList, |
| | | }, |
| | | { |
| | | headers: { |
| | | "Content-Type": "application/json", |
| | | }, |
| | | noQs: true, |
| | | } |
| | | ) |
| | | .then((res) => { |
| | | this.loading = false; |
| | | if (res.code == 201) { |
| | | this.$message.error("ç»å®å¤±è´¥"); |
| | | return; |
| | | } |
| | | this.$message.success("ç»å®æå"); |
| | | this.bindAddDialogVisible = false; |
| | | this.getBinding(this.bindCurrentInfo); |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | handleDelete(row) { |
| | | this.$confirm("确认å 餿¤æ£éªé¡¹, æ¯å¦ç»§ç»?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }).then(async () => { |
| | | this.$axios |
| | | .get( |
| | | this.$api.insOrderPlan.delProductTreeByProductId + |
| | | "?productId=" + |
| | | row.id |
| | | ) |
| | | .then((res) => { |
| | | if (res.coe == 201) { |
| | | // this.$message.error('æªç»å®æ£éªé¡¹') |
| | | return; |
| | | } |
| | | this.getBinding(this.bindCurrentInfo); |
| | | }) |
| | | .catch((error) => { |
| | | console.error(error); |
| | | }); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |