From f0a9ef6693a1738c78680f6f6ac565d549e30bef Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 19 二月 2025 14:33:19 +0800
Subject: [PATCH] 检验任务搬迁10%
---
src/components/Table/lims-table.vue | 22 +
src/api/business/inspectionTask.js | 90 ++++
src/store/modules/user.js | 146 +++---
src/main.js | 2
src/layout/components/Navbar.vue | 140 +++---
src/store/getters.js | 38
src/utils/index.js | 301 +++++++------
src/views/performance/manHour/workTimeConfig.vue | 2
src/views/business/inspectionTask/components/EditInspectionItem.vue | 20
src/views/business/inspectionTask/index.vue | 484 +++++++++++++---------
10 files changed, 733 insertions(+), 512 deletions(-)
diff --git a/src/api/business/inspectionTask.js b/src/api/business/inspectionTask.js
index a36f376..7efcdea 100644
--- a/src/api/business/inspectionTask.js
+++ b/src/api/business/inspectionTask.js
@@ -17,3 +17,93 @@
data: data,
});
}
+
+// 鏌ョ湅涓嶅悎鏍煎娴嬫暟鎹�
+export function getRetestResult(query) {
+ return request({
+ url: "/insOrder/getRetestResult",
+ method: "get",
+ params: query,
+ });
+}
+
+// 璁ら妫�楠屼换鍔�
+export function claimInsOrderPlan(data) {
+ return request({
+ url: "/insOrderPlan/claimInsOrderPlan",
+ method: "post",
+ data: data,
+ });
+}
+
+// 浠诲姟浜ゆ帴2
+export function upPlanUser2(data) {
+ return request({
+ url: "/insOrderPlan/upPlanUser2",
+ method: "post",
+ data: data,
+ });
+}
+
+// 浠诲姟浜ゆ帴
+export function upPlanUser(data) {
+ return request({
+ url: "/insOrderPlan/upPlanUser",
+ method: "post",
+ data: data,
+ });
+}
+
+// 鑾峰彇鐢ㄦ埛鍒楄〃
+export function selectUserCondition(query) {
+ return request({
+ url: "/system/newUser/selectUserCondition",
+ method: "get",
+ params: query,
+ });
+}
+
+// 妫�楠屼换鍔�-鐗规畩妫�楠岄」缁戝畾鏌ヨ
+export function getBindingProductByProductId(query) {
+ return request({
+ url: "/insOrderPlan/getBindingProductByProductId",
+ method: "get",
+ params: query,
+ });
+}
+
+// 妫�楠屼换鍔�-鏍规嵁妫�楠岄」id鏌ヨ妫�楠岄」鏍戜俊鎭�
+export function getProductTreeByProductId(query) {
+ return request({
+ url: "/insOrderPlan/getProductTreeByProductId",
+ method: "get",
+ params: query,
+ });
+}
+
+// 妫�楠屼换鍔�-鐗规畩妫�楠岄」缁戝畾
+export function bindingProductTreeByProductId(data) {
+ return request({
+ url: "/insOrderPlan/bindingProductTreeByProductId",
+ method: "post",
+ data: data,
+ });
+}
+
+// 妫�楠屼换鍔�-鍒犻櫎鐗规畩妫�楠岄」缁戝畾淇℃伅
+export function delProductTreeByProductId(query) {
+ return request({
+ url: "/insOrderPlan/delProductTreeByProductId",
+ method: "delete",
+ params: query,
+ });
+}
+
+// 鏌ヨ妫�楠屼换鍔�
+export function selectInsOrderPlanList(query) {
+ return request({
+ url: "/insOrderPlan/selectInsOrderPlanList",
+ method: "get",
+ params: query,
+ });
+}
diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue
index d6a75c2..b7ec78f 100644
--- a/src/components/Table/lims-table.vue
+++ b/src/components/Table/lims-table.vue
@@ -170,6 +170,15 @@
</el-upload>
</template>
</div>
+ <!-- 鍙偣鍑荤殑鏂囧瓧 -->
+ <div
+ v-else-if="item.dataType == 'link'"
+ class="cell link"
+ style="width: 100%"
+ @click="goLink(scope.row, item.linkMethod)"
+ >
+ <span v-if="!item.formatData">{{ scope.row[item.prop] }}</span>
+ </div>
<!-- 榛樿绾睍绀烘暟鎹� -->
<div v-else class="cell" style="width: 100%">
<span v-if="!item.formatData">{{ scope.row[item.prop] }}</span>
@@ -294,7 +303,7 @@
},
border: {
type: Boolean,
- default: false,
+ default: true,
},
highlightCurrentRow: {
type: Boolean,
@@ -381,6 +390,13 @@
// return index * 2;
return (this.page.current - 1) * this.page.size + index + 1;
},
+ // 鐐瑰嚮鍗曞厓鏍糽ink浜嬩欢
+ goLink(row, linkMethod) {
+ if (!linkMethod) {
+ return this.$message.warning("璇烽厤缃甽ingk浜嬩欢");
+ }
+ this.$parent[linkMethod](row);
+ },
},
};
</script>
@@ -399,4 +415,8 @@
>>> .cell {
padding: 0 !important;
}
+.link {
+ color: rgb(64, 158, 255);
+ cursor: pointer;
+}
</style>
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index bb34f1b..da89cf9 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -1,7 +1,7 @@
<template>
<div class="navbar">
-<!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>-->
-<!-- <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>-->
+ <!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>-->
+ <!-- <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>-->
<div class="logo">
<img src="@/assets/logo/ZTTlogo.png" />
</div>
@@ -10,56 +10,61 @@
</div>
<div class="right-menu">
<div class="avatar-wrapper">
- <img :src="avatar" class="user-avatar">
- <span class="userName">Admin</span>
- <img class="logoout" src="@/assets/images/logoout.png" @click="logout" title="閫�鍑鸿处鍙�" />
+ <img :src="avatar" class="user-avatar" />
+ <span class="userName">{{ nickName }}</span>
+ <img
+ class="logoout"
+ src="@/assets/images/logoout.png"
+ @click="logout"
+ title="閫�鍑鸿处鍙�"
+ />
</div>
-<!-- <template v-if="device!=='mobile'">-->
-<!-- <search id="header-search" class="right-menu-item" />-->
+ <!-- <template v-if="device!=='mobile'">-->
+ <!-- <search id="header-search" class="right-menu-item" />-->
-<!-- <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom">-->
-<!-- <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />-->
-<!-- </el-tooltip>-->
+ <!-- <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom">-->
+ <!-- <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />-->
+ <!-- </el-tooltip>-->
-<!-- <el-tooltip content="鏂囨。鍦板潃" effect="dark" placement="bottom">-->
-<!-- <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />-->
-<!-- </el-tooltip>-->
+ <!-- <el-tooltip content="鏂囨。鍦板潃" effect="dark" placement="bottom">-->
+ <!-- <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />-->
+ <!-- </el-tooltip>-->
-<!-- <screenfull id="screenfull" class="right-menu-item hover-effect" />-->
+ <!-- <screenfull id="screenfull" class="right-menu-item hover-effect" />-->
-<!-- <el-tooltip content="甯冨眬澶у皬" effect="dark" placement="bottom">-->
-<!-- <size-select id="size-select" class="right-menu-item hover-effect" />-->
-<!-- </el-tooltip>-->
+ <!-- <el-tooltip content="甯冨眬澶у皬" effect="dark" placement="bottom">-->
+ <!-- <size-select id="size-select" class="right-menu-item hover-effect" />-->
+ <!-- </el-tooltip>-->
-<!-- </template>-->
+ <!-- </template>-->
-<!-- <div class="avatar-container">-->
-<!-- <el-dropdown-menu slot="dropdown">-->
-<!-- <router-link to="/user/profile">-->
-<!-- <el-dropdown-item>涓汉涓績</el-dropdown-item>-->
-<!-- </router-link>-->
-<!-- <el-dropdown-item @click.native="setting = true">-->
-<!-- <span>甯冨眬璁剧疆</span>-->
-<!-- </el-dropdown-item>-->
-<!-- <el-dropdown-item divided @click.native="logout">-->
-<!-- <span>閫�鍑虹櫥褰�</span>-->
-<!-- </el-dropdown-item>-->
-<!-- </el-dropdown-menu>-->
-<!-- </div>-->
+ <!-- <div class="avatar-container">-->
+ <!-- <el-dropdown-menu slot="dropdown">-->
+ <!-- <router-link to="/user/profile">-->
+ <!-- <el-dropdown-item>涓汉涓績</el-dropdown-item>-->
+ <!-- </router-link>-->
+ <!-- <el-dropdown-item @click.native="setting = true">-->
+ <!-- <span>甯冨眬璁剧疆</span>-->
+ <!-- </el-dropdown-item>-->
+ <!-- <el-dropdown-item divided @click.native="logout">-->
+ <!-- <span>閫�鍑虹櫥褰�</span>-->
+ <!-- </el-dropdown-item>-->
+ <!-- </el-dropdown-menu>-->
+ <!-- </div>-->
</div>
</div>
</template>
<script>
-import { mapGetters } from 'vuex'
-import Breadcrumb from '@/components/Breadcrumb'
-import TopNav from '@/components/TopNav'
-import Hamburger from '@/components/Hamburger'
-import Screenfull from '@/components/Screenfull'
-import SizeSelect from '@/components/SizeSelect'
-import Search from '@/components/HeaderSearch'
-import RuoYiGit from '@/components/RuoYi/Git'
-import RuoYiDoc from '@/components/RuoYi/Doc'
+import { mapGetters } from "vuex";
+import Breadcrumb from "@/components/Breadcrumb";
+import TopNav from "@/components/TopNav";
+import Hamburger from "@/components/Hamburger";
+import Screenfull from "@/components/Screenfull";
+import SizeSelect from "@/components/SizeSelect";
+import Search from "@/components/HeaderSearch";
+import RuoYiGit from "@/components/RuoYi/Git";
+import RuoYiDoc from "@/components/RuoYi/Doc";
export default {
components: {
@@ -70,44 +75,43 @@
SizeSelect,
Search,
RuoYiGit,
- RuoYiDoc
+ RuoYiDoc,
},
computed: {
- ...mapGetters([
- 'avatar',
- 'device'
- ]),
+ ...mapGetters(["avatar", "device", "nickName"]),
setting: {
get() {
- return this.$store.state.settings.showSettings
+ return this.$store.state.settings.showSettings;
},
set(val) {
- this.$store.dispatch('settings/changeSetting', {
- key: 'showSettings',
- value: val
- })
- }
+ this.$store.dispatch("settings/changeSetting", {
+ key: "showSettings",
+ value: val,
+ });
+ },
},
topNav: {
get() {
- return this.$store.state.settings.topNav
- }
- }
+ return this.$store.state.settings.topNav;
+ },
+ },
},
methods: {
async logout() {
- this.$confirm('纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧锛�', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- this.$store.dispatch('LogOut').then(() => {
- location.href = '/index';
+ this.$confirm("纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧锛�", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ this.$store.dispatch("LogOut").then(() => {
+ location.href = "/index";
+ });
})
- }).catch(() => {});
- }
- }
-}
+ .catch(() => {});
+ },
+ },
+};
</script>
<style lang="scss" scoped>
@@ -116,7 +120,7 @@
overflow: hidden;
//position: relative;
background: #fff;
- box-shadow: 0 1px 4px rgba(0,21,41,.08);
+ box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
position: fixed; /* 灏嗗ご閮ㄥ浐瀹� */
top: 0; /* 鍦ㄩ《閮ㄥ浐瀹� */
width: 100%; /* 瀹藉害100%锛岃鐩栨暣涓鍙� */
@@ -199,10 +203,10 @@
&.hover-effect {
cursor: pointer;
- transition: background .3s;
+ transition: background 0.3s;
&:hover {
- background: rgba(0, 0, 0, .025)
+ background: rgba(0, 0, 0, 0.025);
}
}
}
diff --git a/src/main.js b/src/main.js
index e82c37b..96becea 100644
--- a/src/main.js
+++ b/src/main.js
@@ -26,6 +26,7 @@
selectDictLabels,
handleTree,
} from "@/utils/ruoyi";
+import { dictToValue } from "@/utils/index";
// 鍒嗛〉缁勪欢
import Pagination from "@/components/Pagination";
// 鑷畾涔夎〃鏍煎伐鍏风粍浠�
@@ -56,6 +57,7 @@
Vue.prototype.selectDictLabels = selectDictLabels;
Vue.prototype.download = download;
Vue.prototype.handleTree = handleTree;
+Vue.prototype.dictToValue = dictToValue;
Vue.prototype.HaveJson = (val) => {
return JSON.parse(JSON.stringify(val));
};
diff --git a/src/store/getters.js b/src/store/getters.js
index 8adb1b6..0d93723 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -1,19 +1,21 @@
const getters = {
- sidebar: state => state.app.sidebar,
- size: state => state.app.size,
- device: state => state.app.device,
- dict: state => state.dict.dict,
- visitedViews: state => state.tagsView.visitedViews,
- cachedViews: state => state.tagsView.cachedViews,
- token: state => state.user.token,
- avatar: state => state.user.avatar,
- name: state => state.user.name,
- introduction: state => state.user.introduction,
- roles: state => state.user.roles,
- permissions: state => state.user.permissions,
- permission_routes: state => state.permission.routes,
- topbarRouters:state => state.permission.topbarRouters,
- defaultRoutes:state => state.permission.defaultRoutes,
- sidebarRouters:state => state.permission.sidebarRouters,
-}
-export default getters
+ sidebar: (state) => state.app.sidebar,
+ size: (state) => state.app.size,
+ device: (state) => state.app.device,
+ dict: (state) => state.dict.dict,
+ visitedViews: (state) => state.tagsView.visitedViews,
+ cachedViews: (state) => state.tagsView.cachedViews,
+ token: (state) => state.user.token,
+ avatar: (state) => state.user.avatar,
+ name: (state) => state.user.name,
+ nickName: (state) => state.user.nickName,
+ userId: (state) => state.user.id,
+ introduction: (state) => state.user.introduction,
+ roles: (state) => state.user.roles,
+ permissions: (state) => state.user.permissions,
+ permission_routes: (state) => state.permission.routes,
+ topbarRouters: (state) => state.permission.topbarRouters,
+ defaultRoutes: (state) => state.permission.defaultRoutes,
+ sidebarRouters: (state) => state.permission.sidebarRouters,
+};
+export default getters;
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 63e6ba2..54d35ca 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,106 +1,120 @@
-import { login, logout, getInfo } from '@/api/login'
-import { getToken, setToken, removeToken } from '@/utils/auth'
-import { isHttp, isEmpty } from "@/utils/validate"
-import defAva from '@/assets/images/profile.jpg'
+import { login, logout, getInfo } from "@/api/login";
+import { getToken, setToken, removeToken } from "@/utils/auth";
+import { isHttp, isEmpty } from "@/utils/validate";
+import defAva from "@/assets/images/profile.jpg";
const user = {
state: {
token: getToken(),
- id: '',
- name: '',
- avatar: '',
+ id: "",
+ name: "",
+ avatar: "",
+ nickName: "",
roles: [],
- permissions: []
+ permissions: [],
},
mutations: {
SET_TOKEN: (state, token) => {
- state.token = token
+ state.token = token;
},
SET_ID: (state, id) => {
- state.id = id
+ state.id = id;
},
SET_NAME: (state, name) => {
- state.name = name
+ state.name = name;
},
SET_AVATAR: (state, avatar) => {
- state.avatar = avatar
+ state.avatar = avatar;
+ },
+ SET_NICKNAME: (state, nickName) => {
+ state.nickName = nickName;
},
SET_ROLES: (state, roles) => {
- state.roles = roles
+ state.roles = roles;
},
SET_PERMISSIONS: (state, permissions) => {
- state.permissions = permissions
- }
+ state.permissions = permissions;
+ },
},
actions: {
// 鐧诲綍
Login({ commit }, userInfo) {
- const username = userInfo.username.trim()
- const password = userInfo.password
- const code = userInfo.code
- const uuid = userInfo.uuid
+ const username = userInfo.username.trim();
+ const password = userInfo.password;
+ const code = userInfo.code;
+ const uuid = userInfo.uuid;
return new Promise((resolve, reject) => {
- login(username, password, code, uuid).then(res => {
- setToken(res.token)
- commit('SET_TOKEN', res.token)
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
+ login(username, password, code, uuid)
+ .then((res) => {
+ setToken(res.token);
+ commit("SET_TOKEN", res.token);
+ resolve();
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ });
},
// 鑾峰彇鐢ㄦ埛淇℃伅
GetInfo({ commit, state }) {
return new Promise((resolve, reject) => {
- getInfo().then(res => {
- const user = res.user
- let avatar = user.avatar || ""
- if (!isHttp(avatar)) {
- avatar = (isEmpty(avatar)) ? defAva : process.env.VUE_APP_BASE_API + avatar
- }
- if (res.roles && res.roles.length > 0) { // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁�
- commit('SET_ROLES', res.roles)
- commit('SET_PERMISSIONS', res.permissions)
- } else {
- commit('SET_ROLES', ['ROLE_DEFAULT'])
- }
- commit('SET_ID', user.userId)
- commit('SET_NAME', user.userName)
- commit('SET_AVATAR', avatar)
- resolve(res)
- }).catch(error => {
- reject(error)
- })
- })
+ getInfo()
+ .then((res) => {
+ const user = res.user;
+ let avatar = user.avatar || "";
+ if (!isHttp(avatar)) {
+ avatar = isEmpty(avatar)
+ ? defAva
+ : process.env.VUE_APP_BASE_API + avatar;
+ }
+ if (res.roles && res.roles.length > 0) {
+ // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁�
+ commit("SET_ROLES", res.roles);
+ commit("SET_PERMISSIONS", res.permissions);
+ } else {
+ commit("SET_ROLES", ["ROLE_DEFAULT"]);
+ }
+ commit("SET_ID", user.userId);
+ commit("SET_NAME", user.userName);
+ commit("SET_AVATAR", avatar);
+ commit("SET_NICKNAME", user.nickName);
+ resolve(res);
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ });
},
// 閫�鍑虹郴缁�
LogOut({ commit, state }) {
return new Promise((resolve, reject) => {
- logout(state.token).then(() => {
- commit('SET_TOKEN', '')
- commit('SET_ROLES', [])
- commit('SET_PERMISSIONS', [])
- removeToken()
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
+ logout(state.token)
+ .then(() => {
+ commit("SET_TOKEN", "");
+ commit("SET_ROLES", []);
+ commit("SET_PERMISSIONS", []);
+ removeToken();
+ resolve();
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ });
},
// 鍓嶇 鐧诲嚭
FedLogOut({ commit }) {
- return new Promise(resolve => {
- commit('SET_TOKEN', '')
- removeToken()
- resolve()
- })
- }
- }
-}
+ return new Promise((resolve) => {
+ commit("SET_TOKEN", "");
+ removeToken();
+ resolve();
+ });
+ },
+ },
+};
-export default user
+export default user;
diff --git a/src/utils/index.js b/src/utils/index.js
index df5db12..6a246f9 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -1,18 +1,25 @@
-import { parseTime } from './ruoyi'
+import { parseTime } from "./ruoyi";
/**
* 琛ㄦ牸鏃堕棿鏍煎紡鍖�
*/
export function formatDate(cellValue) {
if (cellValue == null || cellValue == "") return "";
- var date = new Date(cellValue)
- var year = date.getFullYear()
- var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
- var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
- var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
- var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
- var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
- return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
+ var date = new Date(cellValue);
+ var year = date.getFullYear();
+ var month =
+ date.getMonth() + 1 < 10
+ ? "0" + (date.getMonth() + 1)
+ : date.getMonth() + 1;
+ var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+ var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
+ var minutes =
+ date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+ var seconds =
+ date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
+ return (
+ year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds
+ );
}
/**
@@ -21,40 +28,40 @@
* @returns {string}
*/
export function formatTime(time, option) {
- if (('' + time).length === 10) {
- time = parseInt(time) * 1000
+ if (("" + time).length === 10) {
+ time = parseInt(time) * 1000;
} else {
- time = +time
+ time = +time;
}
- const d = new Date(time)
- const now = Date.now()
+ const d = new Date(time);
+ const now = Date.now();
- const diff = (now - d) / 1000
+ const diff = (now - d) / 1000;
if (diff < 30) {
- return '鍒氬垰'
+ return "鍒氬垰";
} else if (diff < 3600) {
// less 1 hour
- return Math.ceil(diff / 60) + '鍒嗛挓鍓�'
+ return Math.ceil(diff / 60) + "鍒嗛挓鍓�";
} else if (diff < 3600 * 24) {
- return Math.ceil(diff / 3600) + '灏忔椂鍓�'
+ return Math.ceil(diff / 3600) + "灏忔椂鍓�";
} else if (diff < 3600 * 24 * 2) {
- return '1澶╁墠'
+ return "1澶╁墠";
}
if (option) {
- return parseTime(time, option)
+ return parseTime(time, option);
} else {
return (
d.getMonth() +
1 +
- '鏈�' +
+ "鏈�" +
d.getDate() +
- '鏃�' +
+ "鏃�" +
d.getHours() +
- '鏃�' +
+ "鏃�" +
d.getMinutes() +
- '鍒�'
- )
+ "鍒�"
+ );
}
}
@@ -63,18 +70,18 @@
* @returns {Object}
*/
export function getQueryObject(url) {
- url = url == null ? window.location.href : url
- const search = url.substring(url.lastIndexOf('?') + 1)
- const obj = {}
- const reg = /([^?&=]+)=([^?&=]*)/g
+ url = url == null ? window.location.href : url;
+ const search = url.substring(url.lastIndexOf("?") + 1);
+ const obj = {};
+ const reg = /([^?&=]+)=([^?&=]*)/g;
search.replace(reg, (rs, $1, $2) => {
- const name = decodeURIComponent($1)
- let val = decodeURIComponent($2)
- val = String(val)
- obj[name] = val
- return rs
- })
- return obj
+ const name = decodeURIComponent($1);
+ let val = decodeURIComponent($2);
+ val = String(val);
+ obj[name] = val;
+ return rs;
+ });
+ return obj;
}
/**
@@ -83,14 +90,14 @@
*/
export function byteLength(str) {
// returns the byte length of an utf8 string
- let s = str.length
+ let s = str.length;
for (var i = str.length - 1; i >= 0; i--) {
- const code = str.charCodeAt(i)
- if (code > 0x7f && code <= 0x7ff) s++
- else if (code > 0x7ff && code <= 0xffff) s += 2
- if (code >= 0xDC00 && code <= 0xDFFF) i--
+ const code = str.charCodeAt(i);
+ if (code > 0x7f && code <= 0x7ff) s++;
+ else if (code > 0x7ff && code <= 0xffff) s += 2;
+ if (code >= 0xdc00 && code <= 0xdfff) i--;
}
- return s
+ return s;
}
/**
@@ -98,13 +105,13 @@
* @returns {Array}
*/
export function cleanArray(actual) {
- const newArray = []
+ const newArray = [];
for (let i = 0; i < actual.length; i++) {
if (actual[i]) {
- newArray.push(actual[i])
+ newArray.push(actual[i]);
}
}
- return newArray
+ return newArray;
}
/**
@@ -112,13 +119,13 @@
* @returns {Array}
*/
export function param(json) {
- if (!json) return ''
+ if (!json) return "";
return cleanArray(
- Object.keys(json).map(key => {
- if (json[key] === undefined) return ''
- return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])
+ Object.keys(json).map((key) => {
+ if (json[key] === undefined) return "";
+ return encodeURIComponent(key) + "=" + encodeURIComponent(json[key]);
})
- ).join('&')
+ ).join("&");
}
/**
@@ -126,21 +133,21 @@
* @returns {Object}
*/
export function param2Obj(url) {
- const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
+ const search = decodeURIComponent(url.split("?")[1]).replace(/\+/g, " ");
if (!search) {
- return {}
+ return {};
}
- const obj = {}
- const searchArr = search.split('&')
- searchArr.forEach(v => {
- const index = v.indexOf('=')
+ const obj = {};
+ const searchArr = search.split("&");
+ searchArr.forEach((v) => {
+ const index = v.indexOf("=");
if (index !== -1) {
- const name = v.substring(0, index)
- const val = v.substring(index + 1, v.length)
- obj[name] = val
+ const name = v.substring(0, index);
+ const val = v.substring(index + 1, v.length);
+ obj[name] = val;
}
- })
- return obj
+ });
+ return obj;
}
/**
@@ -148,9 +155,9 @@
* @returns {string}
*/
export function html2Text(val) {
- const div = document.createElement('div')
- div.innerHTML = val
- return div.textContent || div.innerText
+ const div = document.createElement("div");
+ div.innerHTML = val;
+ return div.textContent || div.innerText;
}
/**
@@ -160,21 +167,21 @@
* @returns {Object}
*/
export function objectMerge(target, source) {
- if (typeof target !== 'object') {
- target = {}
+ if (typeof target !== "object") {
+ target = {};
}
if (Array.isArray(source)) {
- return source.slice()
+ return source.slice();
}
- Object.keys(source).forEach(property => {
- const sourceProperty = source[property]
- if (typeof sourceProperty === 'object') {
- target[property] = objectMerge(target[property], sourceProperty)
+ Object.keys(source).forEach((property) => {
+ const sourceProperty = source[property];
+ if (typeof sourceProperty === "object") {
+ target[property] = objectMerge(target[property], sourceProperty);
} else {
- target[property] = sourceProperty
+ target[property] = sourceProperty;
}
- })
- return target
+ });
+ return target;
}
/**
@@ -183,18 +190,18 @@
*/
export function toggleClass(element, className) {
if (!element || !className) {
- return
+ return;
}
- let classString = element.className
- const nameIndex = classString.indexOf(className)
+ let classString = element.className;
+ const nameIndex = classString.indexOf(className);
if (nameIndex === -1) {
- classString += '' + className
+ classString += "" + className;
} else {
classString =
classString.substr(0, nameIndex) +
- classString.substr(nameIndex + className.length)
+ classString.substr(nameIndex + className.length);
}
- element.className = classString
+ element.className = classString;
}
/**
@@ -202,10 +209,10 @@
* @returns {Date}
*/
export function getTime(type) {
- if (type === 'start') {
- return new Date().getTime() - 3600 * 1000 * 24 * 90
+ if (type === "start") {
+ return new Date().getTime() - 3600 * 1000 * 24 * 90;
} else {
- return new Date(new Date().toDateString())
+ return new Date(new Date().toDateString());
}
}
@@ -216,38 +223,38 @@
* @return {*}
*/
export function debounce(func, wait, immediate) {
- let timeout, args, context, timestamp, result
+ let timeout, args, context, timestamp, result;
- const later = function() {
+ const later = function () {
// 鎹笂涓�娆¤Е鍙戞椂闂撮棿闅�
- const last = +new Date() - timestamp
+ const last = +new Date() - timestamp;
// 涓婃琚寘瑁呭嚱鏁拌璋冪敤鏃堕棿闂撮殧 last 灏忎簬璁惧畾鏃堕棿闂撮殧 wait
if (last < wait && last > 0) {
- timeout = setTimeout(later, wait - last)
+ timeout = setTimeout(later, wait - last);
} else {
- timeout = null
+ timeout = null;
// 濡傛灉璁惧畾涓篿mmediate===true锛屽洜涓哄紑濮嬭竟鐣屽凡缁忚皟鐢ㄨ繃浜嗘澶勬棤闇�璋冪敤
if (!immediate) {
- result = func.apply(context, args)
- if (!timeout) context = args = null
+ result = func.apply(context, args);
+ if (!timeout) context = args = null;
}
}
- }
+ };
- return function(...args) {
- context = this
- timestamp = +new Date()
- const callNow = immediate && !timeout
+ return function (...args) {
+ context = this;
+ timestamp = +new Date();
+ const callNow = immediate && !timeout;
// 濡傛灉寤舵椂涓嶅瓨鍦紝閲嶆柊璁惧畾寤舵椂
- if (!timeout) timeout = setTimeout(later, wait)
+ if (!timeout) timeout = setTimeout(later, wait);
if (callNow) {
- result = func.apply(context, args)
- context = args = null
+ result = func.apply(context, args);
+ context = args = null;
}
- return result
- }
+ return result;
+ };
}
/**
@@ -258,18 +265,18 @@
* @returns {Object}
*/
export function deepClone(source) {
- if (!source && typeof source !== 'object') {
- throw new Error('error arguments', 'deepClone')
+ if (!source && typeof source !== "object") {
+ throw new Error("error arguments", "deepClone");
}
- const targetObj = source.constructor === Array ? [] : {}
- Object.keys(source).forEach(keys => {
- if (source[keys] && typeof source[keys] === 'object') {
- targetObj[keys] = deepClone(source[keys])
+ const targetObj = source.constructor === Array ? [] : {};
+ Object.keys(source).forEach((keys) => {
+ if (source[keys] && typeof source[keys] === "object") {
+ targetObj[keys] = deepClone(source[keys]);
} else {
- targetObj[keys] = source[keys]
+ targetObj[keys] = source[keys];
}
- })
- return targetObj
+ });
+ return targetObj;
}
/**
@@ -277,16 +284,16 @@
* @returns {Array}
*/
export function uniqueArr(arr) {
- return Array.from(new Set(arr))
+ return Array.from(new Set(arr));
}
/**
* @returns {string}
*/
export function createUniqueString() {
- const timestamp = +new Date() + ''
- const randomNum = parseInt((1 + Math.random()) * 65536) + ''
- return (+(randomNum + timestamp)).toString(32)
+ const timestamp = +new Date() + "";
+ const randomNum = parseInt((1 + Math.random()) * 65536) + "";
+ return (+(randomNum + timestamp)).toString(32);
}
/**
@@ -296,7 +303,7 @@
* @returns {boolean}
*/
export function hasClass(ele, cls) {
- return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'))
+ return !!ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)"));
}
/**
@@ -305,7 +312,7 @@
* @param {string} cls
*/
export function addClass(ele, cls) {
- if (!hasClass(ele, cls)) ele.className += ' ' + cls
+ if (!hasClass(ele, cls)) ele.className += " " + cls;
}
/**
@@ -315,76 +322,84 @@
*/
export function removeClass(ele, cls) {
if (hasClass(ele, cls)) {
- const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)')
- ele.className = ele.className.replace(reg, ' ')
+ const reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
+ ele.className = ele.className.replace(reg, " ");
}
}
export function makeMap(str, expectsLowerCase) {
- const map = Object.create(null)
- const list = str.split(',')
+ const map = Object.create(null);
+ const list = str.split(",");
for (let i = 0; i < list.length; i++) {
- map[list[i]] = true
+ map[list[i]] = true;
}
- return expectsLowerCase
- ? val => map[val.toLowerCase()]
- : val => map[val]
+ return expectsLowerCase ? (val) => map[val.toLowerCase()] : (val) => map[val];
}
-export const exportDefault = 'export default '
+export const exportDefault = "export default ";
export const beautifierConf = {
html: {
- indent_size: '2',
- indent_char: ' ',
- max_preserve_newlines: '-1',
+ indent_size: "2",
+ indent_char: " ",
+ max_preserve_newlines: "-1",
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
- indent_scripts: 'separate',
- brace_style: 'end-expand',
+ indent_scripts: "separate",
+ brace_style: "end-expand",
space_before_conditional: true,
unescape_strings: false,
jslint_happy: false,
end_with_newline: true,
- wrap_line_length: '110',
+ wrap_line_length: "110",
indent_inner_html: true,
comma_first: false,
e4x: true,
- indent_empty_lines: true
+ indent_empty_lines: true,
},
js: {
- indent_size: '2',
- indent_char: ' ',
- max_preserve_newlines: '-1',
+ indent_size: "2",
+ indent_char: " ",
+ max_preserve_newlines: "-1",
preserve_newlines: false,
keep_array_indentation: false,
break_chained_methods: false,
- indent_scripts: 'normal',
- brace_style: 'end-expand',
+ indent_scripts: "normal",
+ brace_style: "end-expand",
space_before_conditional: true,
unescape_strings: false,
jslint_happy: true,
end_with_newline: true,
- wrap_line_length: '110',
+ wrap_line_length: "110",
indent_inner_html: true,
comma_first: false,
e4x: true,
- indent_empty_lines: true
- }
-}
+ indent_empty_lines: true,
+ },
+};
// 棣栧瓧姣嶅ぇ灏�
export function titleCase(str) {
- return str.replace(/( |^)[a-z]/g, L => L.toUpperCase())
+ return str.replace(/( |^)[a-z]/g, (L) => L.toUpperCase());
}
// 涓嬪垝杞┘宄�
export function camelCase(str) {
- return str.replace(/_[a-z]/g, str1 => str1.substr(-1).toUpperCase())
+ return str.replace(/_[a-z]/g, (str1) => str1.substr(-1).toUpperCase());
}
export function isNumberStr(str) {
- return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
+ return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str);
}
+// 淇瀛楀吀缁撴瀯
+export function dictToValue(arr) {
+ return arr.map((m) => {
+ return {
+ value: m.dictValue,
+ label: m.dictLabel,
+ type: m.listClass,
+ };
+ });
+}
diff --git a/src/views/business/inspectionTask/components/EditInspectionItem.vue b/src/views/business/inspectionTask/components/EditInspectionItem.vue
index 9058ff0..78d3735 100644
--- a/src/views/business/inspectionTask/components/EditInspectionItem.vue
+++ b/src/views/business/inspectionTask/components/EditInspectionItem.vue
@@ -38,10 +38,10 @@
style="width: 100%"
>
<el-option
- v-for="item in inspectionValueTypeList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ v-for="dict in dict.type.inspection_value_type"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
></el-option>
</el-select>
</el-form-item>
@@ -73,11 +73,11 @@
data() {
// 杩欓噷瀛樻斁鏁版嵁
return {
+ dicts: ["inspection_value_type"],
editInspectionDia: false,
entity: {
id: 0,
},
- inspectionValueTypeList: [], // 妫�楠屽�肩被鍨嬩笅鎷夋
editColumn: [
{
label: "鏍峰搧缂栧彿",
@@ -193,7 +193,6 @@
// 淇敼寮规
editIns(row) {
this.editAskDia = true;
- this.selectEnumByCategoryForInspectionValueType();
this.editForm = { ...row };
},
// 鎻愪氦淇敼
@@ -222,15 +221,6 @@
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;
- });
},
},
};
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 80b4a18..127d5bb 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -1,14 +1,10 @@
<style scoped>
-.ins-order-plan-main .title {
- font-size: 20px;
- color: #3a7bfa;
-}
-
.search {
background-color: #fff;
- height: 80px;
+ height: 40px;
display: flex;
align-items: center;
+ margin-top: 20px;
}
.search_thing {
@@ -18,7 +14,7 @@
}
.search_label {
- width: 120px;
+ width: 100px;
font-size: 14px;
text-align: right;
}
@@ -29,39 +25,27 @@
.ins-order-plan-main .search {
width: 100%;
- margin-bottom: 10px;
- height: 80px;
+ height: 40px;
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);
+ padding-top: 0px;
}
.tab {
list-style-type: none;
display: flex;
+ padding-left: 6px;
}
.tab li {
line-height: 24px;
- padding: 6px 14px;
+ padding: 4px 10px;
font-size: 14px;
color: #333333;
border: 1px solid #eeeeee;
@@ -102,32 +86,16 @@
.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"
+ v-model="queryParams.entrustCode"
clearable
placeholder="璇疯緭鍏�"
size="small"
@@ -139,13 +107,13 @@
<div class="search_label">妫�楠岀姸鎬侊細</div>
<div class="search_input">
<el-select
- v-model="componentData.entity.insState"
+ v-model="queryParams.insState"
size="small"
style="width: 100%"
@change="refreshTable()"
>
<el-option
- v-for="(a, i) in insStateList"
+ v-for="(a, i) in dict.type.inspection_task_state"
:key="i"
:label="a.label"
:value="a.value"
@@ -153,14 +121,6 @@
</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()"
@@ -172,10 +132,8 @@
<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>
+ <div style="display: flex; align-items: center">
+ <span style="font-size: 14px">璇曢獙瀹ょ绫�:</span>
<ul class="tab">
<li
v-for="(m, i) in tabList"
@@ -199,14 +157,12 @@
<el-col :span="3">
<div class="center-title">
<span>鎬昏浠诲姟鏁伴噺:</span>
- <span v-if="$refs.insOrderPlan != undefined">{{
- $refs.insOrderPlan.total
- }}</span>
+ <span>{{ page.total }}</span>
</div>
</el-col>
</el-row>
</div>
- <ValueTable
+ <!-- <ValueTable
:key="upIndex"
ref="insOrderPlan"
:componentData="componentData"
@@ -216,7 +172,15 @@
:url="$api.insOrderPlan.selectInsOrderPlanList"
class="value-table"
@handleInspection="handleInspection"
- />
+ /> -->
+ <lims-table
+ :tableData="tableData"
+ :column="column"
+ :page="page"
+ :tableLoading="tableLoading"
+ :height="'calc(100vh - 290px)'"
+ @pagination="pagination"
+ ></lims-table>
</div>
</div>
<el-dialog :visible.sync="claimVisible" title="鎻愮ず" width="400px">
@@ -398,12 +362,12 @@
>
</span>
</el-dialog>
- <un-pass-retest-result
+ <!-- <un-pass-retest-result
v-if="retestVisible"
:retestInfo="retestInfo"
:retestVisible="retestVisible"
@closeRetestLook="closeRetestLook"
- ></un-pass-retest-result>
+ ></un-pass-retest-result> -->
<!--浜т笟閾句俊鎭煡鐪�-->
<!-- <ShowInfo
v-if="showInfoDialog"
@@ -422,16 +386,37 @@
// 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 UnPassRetestResult from "../do/b1-material-ins-order/unPassRetestResult.vue";
import EditInspectionItem from "./components/EditInspectionItem.vue";
+import limsTable from "@/components/Table/lims-table.vue";
+import {
+ getRetestResult,
+ claimInsOrderPlan,
+ upPlanUser2,
+ upPlanUser,
+ selectUserCondition,
+ getBindingProductByProductId,
+ getProductTreeByProductId,
+ bindingProductTreeByProductId,
+ delProductTreeByProductId,
+ selectInsOrderPlanList,
+} from "@/api/business/inspectionTask.js";
+import { mapGetters } from "vuex";
export default {
components: {
EditInspectionItem,
// CopperOrder,
// ShowInfo,
ValueTable,
+ limsTable,
// Inspection,
// Add,
// CustomsInspection,
+ // UnPassRetestResult
+ },
+ dicts: ["urgency_level", "inspection_task_state"],
+ computed: {
+ ...mapGetters(["name", "userId"]),
},
data() {
return {
@@ -742,30 +727,212 @@
isCopper: null,
bindCurrentInfo: {},
lookInfo: {},
+ orderTypeList: [
+ {
+ 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",
+ },
+ ],
+ urgencyLevel: [],
+ inspectionTaskState: [],
+ tableData: [],
+ column: [
+ {
+ label: "濮旀墭缂栧彿",
+ prop: "entrustCode",
+ width: "140px",
+ dataType: "link",
+ linkMethod: "selectAllByOne",
+ },
+ { label: "鏍峰搧鍚嶇О", prop: "sample", width: "140px" },
+ {
+ label: "涓嬪崟绫诲埆",
+ prop: "typeSource",
+ dataType: "tag",
+ formatData: (params) => {
+ if (params == 0) {
+ return "鎴愬搧涓嬪崟";
+ } else {
+ return "鍘熸潗鏂欎笅鍗�";
+ }
+ },
+ },
+ { label: "鏍峰搧鍨嬪彿", prop: "sampleModel", width: "120px" },
+ {
+ label: "绱ф�ョ▼搴�",
+ prop: "type",
+ dataType: "tag",
+ formatData: (params) => {
+ return this.urgencyLevel.find((m) => m.value == params).label;
+ },
+ },
+ {
+ label: "妫�楠岀被鍨�",
+ prop: "orderType",
+ dataType: "tag",
+ formatData: (params) => {
+ return this.orderTypeList.find((m) => m.value == params).label;
+ },
+ formatType: (params) => {
+ return this.orderTypeList.find((m) => m.value == params).type;
+ },
+ },
+ {
+ label: "鐘舵��",
+ prop: "insState",
+ dataType: "tag",
+ formatData: (params) => {
+ return this.inspectionTaskState.find((m) => m.value == params)
+ .label;
+ },
+ formatType: (params) => {
+ return this.inspectionTaskState.find((m) => m.value == params).type;
+ },
+ },
+ { label: "妫�楠屼汉", prop: "userName" },
+ { label: "澶嶆牳浜�", prop: "checkName" },
+ { label: "绾﹀畾鏃堕棿", prop: "appointed" },
+ { label: "涓嬪彂鏃堕棿", prop: "sendTime", width: "140px" },
+ { label: "妫�楠屽紑濮嬫椂闂�", prop: "insTime", width: "140px" },
+ { label: "鐞嗙敱", prop: "verifyTell", width: "140px" },
+ {
+ dataType: "action",
+ fixed: "right",
+ label: "鎿嶄綔",
+ width: "260px",
+ operation: [
+ {
+ name: "鏁版嵁鏌ョ湅",
+ type: "text",
+ clickFun: (row) => {
+ this.handleDataLook(row);
+ },
+ },
+ {
+ name: "淇敼妫�楠屽��",
+ type: "text",
+ clickFun: (row) => {
+ this.editInspection(row);
+ },
+ disabled: (row) => {
+ return (
+ row.userName == null || row.insState == 3 || row.insState == 5
+ );
+ },
+ },
+ {
+ name: "妫�楠�",
+ type: "text",
+ clickFun: (row) => {
+ this.handleInspection(row);
+ },
+ disabled: (row) => {
+ return (
+ row.userName == null ||
+ row.insState == 3 ||
+ row.insState == 5 ||
+ (row.userName && !row.userName.includes(this.name))
+ );
+ },
+ },
+ {
+ name: "浜ゆ帴",
+ type: "text",
+ clickFun: (row) => {
+ this.handleConnect(row);
+ },
+ disabled: (row) => {
+ return (
+ row.userName == null ||
+ row.insState == 5 ||
+ row.insState == 3 ||
+ (row.userName && !row.userName.includes(this.name))
+ );
+ },
+ },
+ {
+ name: "鍘熷璁板綍",
+ type: "text",
+ clickFun: (row) => {
+ this.viewInspectInfo(row);
+ },
+ },
+ ],
+ },
+ ],
+ page: {
+ total: 0,
+ size: 10,
+ current: 0,
+ },
+ tableLoading: false,
+ queryParams: {},
};
},
created() {
- // this.getLaboratoryDicts()
- this.getTypeDicts();
- this.getInsStateDicts();
this.getAuthorizedPerson();
this.currentTime = getYearAndMonthAndDays();
+ this.getDicts("urgency_level").then((response) => {
+ this.urgencyLevel = this.dictToValue(response.data);
+ });
+ this.getDicts("inspection_task_state").then((response) => {
+ this.inspectionTaskState = this.dictToValue(response.data);
+ });
},
mounted() {
- this.entityCopy = this.HaveJson(this.componentData.entity);
- let user = JSON.parse(localStorage.getItem("user"));
- this.componentData.entity.userId = user.userId;
- this.getPower();
+ this.queryParams.userId = this.userId;
+ // this.getPower();
this.refreshTable();
},
methods: {
+ getList() {
+ this.tableLoading = true;
+ let param = { ...this.queryParams, ...this.page };
+ delete param.total;
+ selectInsOrderPlanList({ ...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();
+ },
// 淇敼妫�楠屽��
editInspection(row) {
this.$refs.editInspectionItem.showDialog(row.id);
},
// 鍒锋柊椤甸潰
refreshView() {
- this.InspectionKey++;
+ this.getList();
},
// 鏁版嵁鏌ョ湅
handleDataLook(row) {
@@ -775,17 +942,11 @@
},
// 鏌ョ湅涓嶅悎鏍煎娴嬬粨鏋�
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;
- });
+ getRetestResult({ insProductId: row.insProductId }).then((res) => {
+ if (res.code == 201) return;
+ this.retestVisible = true;
+ this.retestInfo = res.data;
+ });
},
//
closeRetestLook() {
@@ -826,15 +987,19 @@
}
},
changeCheckBox(val) {
- this.componentData.entity.userId = val ? 0 : null;
+ this.queryParams.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.queryParams = {};
+ this.queryParams.userId = this.userId;
this.alone = true;
this.refreshTable();
+ },
+ refreshTable(e) {
+ this.page.current = 1;
+ this.queryParams.typeSource = this.tabIndex;
+ this.getList();
},
// claimFun(row) {
// if (row) {
@@ -855,12 +1020,7 @@
},
confirmClaim() {
this.loading = true;
- this.$axios
- .post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, {
- headers: {
- "Content-Type": "application/json",
- },
- })
+ claimInsOrderPlan(this.sampleUserForm)
.then((res) => {
if (res.code === 200 && res.data) {
this.loading = false;
@@ -873,10 +1033,6 @@
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) {
@@ -891,61 +1047,21 @@
sampleName: null,
state: null,
};
- this.componentData.entity.insState = null;
- this.componentData.entity.sampleName = null;
+ this.queryParams.insState = null;
+ this.queryParams.sampleName = null;
this.refreshTable();
},
onSubmit() {
- this.componentData.entity.insState = this.searchForm.state;
- this.componentData.entity.sampleName = this.searchForm.sampleName;
+ this.queryParams.insState = this.searchForm.state;
+ this.queryParams.sampleName = this.searchForm.sampleName;
this.$nextTick(() => {
this.refreshTable();
});
},
handleTab(m, i) {
this.tabIndex = i;
- this.componentData.entity.sonLaboratory = "";
+ this.queryParams.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, {
@@ -985,9 +1101,8 @@
if (row.userName) {
inspectorList = row.userName.split(",");
}
- let user = JSON.parse(localStorage.getItem("user"));
- if (user) {
- inspectorList.push(user.name);
+ if (this.name) {
+ inspectorList.push(this.name);
}
this.inspectorList = inspectorList;
this.sonLaboratory = row.sonLaboratory;
@@ -1002,9 +1117,8 @@
if (row.userName) {
inspectorList = row.userName.split(",");
}
- let user = JSON.parse(localStorage.getItem("user"));
- if (user) {
- inspectorList.push(user.name);
+ if (this.name) {
+ inspectorList.push(this.name);
}
this.inspectorList = inspectorList;
this.sonLaboratory = row.sonLaboratory;
@@ -1016,22 +1130,18 @@
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,
- });
+ 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;
- }
- });
+ });
+ this.connect.sonLaboratory = this.sonLaboratoryList[0].value;
+ }
+ });
},
confirmConnect() {
if (
@@ -1051,12 +1161,11 @@
return;
}
this.loading = true;
- this.$axios
- .post(this.$api.insOrderPlan.upPlanUser, {
- orderId: this.orderId,
- userId: this.connect.connectPerson,
- sonLaboratory: this.connect.sonLaboratory,
- })
+ upPlanUser({
+ orderId: this.orderId,
+ userId: this.connect.connectPerson,
+ sonLaboratory: this.connect.sonLaboratory,
+ })
.then((res) => {
if (res.code === 200) {
this.loading = false;
@@ -1075,7 +1184,7 @@
this.orderId = row.id;
},
getAuthorizedPerson() {
- this.$axios.get(this.$api.user.getUserMenu).then((res) => {
+ selectUserCondition().then((res) => {
let data = [];
res.data.forEach((a) => {
data.push({
@@ -1089,12 +1198,7 @@
// 缁戝畾妫�楠岄」缁戝畾
getBinding(row) {
this.bindCurrentInfo = row;
- this.$axios
- .get(
- this.$api.insOrderPlan.getBindingProductByProductId +
- "?productId=" +
- row.insProductId
- )
+ getBindingProductByProductId({ productId: row.insProductId })
.then((res) => {
if (res.coe == 201) {
// this.$message.error('鏈粦瀹氭楠岄」')
@@ -1109,12 +1213,9 @@
});
},
openBindAdd() {
- this.$axios
- .get(
- this.$api.insOrderPlan.getProductTreeByProductId +
- "?productId=" +
- this.bindCurrentInfo.insProductId
- )
+ getProductTreeByProductId({
+ productId: this.bindCurrentInfo.insProductId,
+ })
.then((res) => {
if (res.coe == 201) {
// this.$message.error('鏈粦瀹氭楠岄」')
@@ -1140,20 +1241,10 @@
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,
- }
- )
+ bindingProductTreeByProductId({
+ insProductId: this.bindCurrentInfo.insProductId,
+ insProductBindingList: this.chooseBindAddList,
+ })
.then((res) => {
this.loading = false;
if (res.code == 201) {
@@ -1174,12 +1265,7 @@
cancelButtonText: "鍙栨秷",
type: "warning",
}).then(async () => {
- this.$axios
- .get(
- this.$api.insOrderPlan.delProductTreeByProductId +
- "?productId=" +
- row.id
- )
+ delProductTreeByProductId({ productId: row.id })
.then((res) => {
if (res.coe == 201) {
// this.$message.error('鏈粦瀹氭楠岄」')
diff --git a/src/views/performance/manHour/workTimeConfig.vue b/src/views/performance/manHour/workTimeConfig.vue
index 83dcc11..ff79cc8 100644
--- a/src/views/performance/manHour/workTimeConfig.vue
+++ b/src/views/performance/manHour/workTimeConfig.vue
@@ -172,7 +172,6 @@
</template>
<script>
-import ValueTable from "@/components/Table/value-table.vue";
import limsTable from "@/components/Table/lims-table.vue";
import {
selectAuxiliaryWorkingHours,
@@ -183,7 +182,6 @@
} from "@/api/performance/manHour";
export default {
components: {
- ValueTable,
limsTable,
},
dicts: ["sys_unit"],
--
Gitblit v1.9.3