From 2dbb9e797247b975361d47c1b679bee75f29be1b Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 19 二月 2025 10:07:54 +0800
Subject: [PATCH] 检验任务列表页面搬迁10%
---
src/api/business/inspectionTask.js | 19
src/views/business/inspectionTask/inspection.vue | 0
src/router/index.js | 213 ++++---
src/views/business/inspectionTask/components/EditInspectionItem.vue | 244 ++++++++
src/views/business/inspectionTask/index.vue | 1197 ++++++++++++++++++++++++++++++++++++++++++
5 files changed, 1,575 insertions(+), 98 deletions(-)
diff --git a/src/api/business/inspectionTask.js b/src/api/business/inspectionTask.js
new file mode 100644
index 0000000..a36f376
--- /dev/null
+++ b/src/api/business/inspectionTask.js
@@ -0,0 +1,19 @@
+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,
+ });
+}
diff --git a/src/router/index.js b/src/router/index.js
index 91a52f6..bf11864 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,10 +1,10 @@
-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: 璺敱閰嶇疆椤�
@@ -31,179 +31,196 @@
// 鍏叡璺敱
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,
+});
diff --git a/src/views/business/inspectionTask/components/EditInspectionItem.vue b/src/views/business/inspectionTask/components/EditInspectionItem.vue
new file mode 100644
index 0000000..9058ff0
--- /dev/null
+++ b/src/views/business/inspectionTask/components/EditInspectionItem.vue
@@ -0,0 +1,244 @@
+<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>
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
new file mode 100644
index 0000000..80b4a18
--- /dev/null
+++ b/src/views/business/inspectionTask/index.vue
@@ -0,0 +1,1197 @@
+<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: "瀛e害妫�楠�",
+ 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>
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/views/business/inspectionTask/inspection.vue
--
Gitblit v1.9.3