From 2a7d1dd7eff5a18eeca54ec9311050571a54f269 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 24 二月 2025 20:16:08 +0800
Subject: [PATCH] 不合格处理搬迁
---
src/views/business/unpass/index.vue | 135 +++++++++
src/api/business/unpass.js | 9
src/views/structural/premises/index.vue | 5
src/api/business/unqualifiedHandler.js | 27 +
src/views/business/unpass/components/OAProcess.vue | 250 +++++++++++++++++
src/views/business/unpass/index-manage.vue | 324 +++++++++++++++++++++++
src/views/business/inspectionTask/index.vue | 35 --
7 files changed, 747 insertions(+), 38 deletions(-)
diff --git a/src/api/business/unpass.js b/src/api/business/unpass.js
index 7803d75..2aa3648 100644
--- a/src/api/business/unpass.js
+++ b/src/api/business/unpass.js
@@ -1,5 +1,4 @@
// 涓嶅悎鏍肩鐞嗙浉鍏虫帴鍙�
-
import request from "@/utils/request";
//鏌ヨ杩涜揣楠岃瘉淇℃伅
@@ -73,3 +72,11 @@
data: data,
});
}
+// 鏌ヨ涓嶅悎鏍兼牱鍝佹暟鎹�
+export function pageInsUnPass(data) {
+ return request({
+ url: "/unPass/pageInsUnPass",
+ method: "post",
+ data: data,
+ });
+}
diff --git a/src/api/business/unqualifiedHandler.js b/src/api/business/unqualifiedHandler.js
new file mode 100644
index 0000000..d458b42
--- /dev/null
+++ b/src/api/business/unqualifiedHandler.js
@@ -0,0 +1,27 @@
+// 涓嶅悎鏍煎鐞嗙浉鍏虫帴鍙�
+import request from "@/utils/request";
+
+//鏌ヨ涓嶅悎鏍煎鐞�
+export function page(query) {
+ return request({
+ url: "/unqualifiedHandler/page",
+ method: "get",
+ params: query,
+ });
+}
+//鍒犻櫎涓嶅悎鏍煎鐞�
+export function deleteUnqualifiedHandler(query) {
+ return request({
+ url: "/unqualifiedHandler/deleteUnqualifiedHandler",
+ method: "delete",
+ params: query,
+ });
+}
+//鍒犻櫎涓嶅悎鏍煎鐞�
+export function pushOA(query) {
+ return request({
+ url: "/unqualifiedHandler/pushOA",
+ method: "delete",
+ params: query,
+ });
+}
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index f71274e..600e362 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -567,7 +567,6 @@
},
mounted() {
this.queryParams.userId = this.userId;
- // this.getPower();
this.refreshTable();
},
methods: {
@@ -626,40 +625,6 @@
handleDataLook(row) {
this.lookInfo = row;
this.getLookList();
- },
- // 鏉冮檺鍒嗛厤
- 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.queryParams.userId = val ? 0 : null;
diff --git a/src/views/business/unpass/components/OAProcess.vue b/src/views/business/unpass/components/OAProcess.vue
new file mode 100644
index 0000000..b26260c
--- /dev/null
+++ b/src/views/business/unpass/components/OAProcess.vue
@@ -0,0 +1,250 @@
+<template>
+ <div>
+ <el-dialog :close-on-press-escape="false" :visible.sync="isShow" title="涓嶅悎鏍煎鐞�"
+ width="1040px"
+ @close="$emit('closeOAProcess')">
+
+ <table :border='true' class="table">
+ <tr>
+ <th class="th-title">1妫�楠屽憳</th>
+ <th class="th-titleSec">澶勭悊缁撴灉</th>
+ <th class="th-info1">{{oneOperation}}</th>
+ <th class="th-titleSec">澶勭悊鎰忚</th>
+ <th class="th-info" colspan="3">{{oneInfo}}</th>
+ <th style="display:none;"></th>
+ <th style="display:none;"></th>
+ <th >{{oneName}}<span v-if="oneName">锛�</span>{{oneTime}}</th>
+ </tr>
+ <tr>
+ <th class="th-title">2妫�娴嬩富绠$‘璁�</th>
+ <th class="th-titleSec">澶勭悊缁撴灉</th>
+ <th class="th-info1">{{twoOperation}}</th>
+ <th class="th-titleSec">澶勭悊鎰忚</th>
+ <th class="th-info" colspan="3">{{twoInfo}}</th>
+ <th style="display:none;"></th>
+ <th style="display:none;"></th>
+ <th >{{twoName}}<span v-if="twoName">锛�</span>{{twoTime}}</th>
+ </tr>
+ <tr>
+ <th class="th-title">3鐗╂祦閮ㄧ‘璁�</th>
+ <th class="th-titleSec">澶勭悊缁撴灉</th>
+ <th class="th-info1">{{threeOperation}}</th>
+ <th class="th-titleSec">澶勭悊鎰忚</th>
+ <th class="th-info" colspan="3">{{threeInfo}}</th>
+ <th style="display:none;"></th>
+ <th style="display:none;"></th>
+ <th >{{threeName}}<span v-if="threeName">锛�</span>{{threeTime}}</th>
+ </tr>
+ <tr>
+ <th class="th-title">4浜у搧宸ョ▼甯堝鐞嗘剰瑙�</th>
+ <th class="th-titleSec">澶勭悊缁撴灉</th>
+ <th class="th-info1">{{fourOperation}}</th>
+ <th class="th-titleSec">澶勭悊鎰忚</th>
+ <th class="th-info" colspan="3">{{fourInfo}}</th>
+ <th style="display:none;"></th>
+ <th style="display:none;"></th>
+ <th >{{fourName}}<span v-if="fourName">锛�</span>{{fourTime}}</th>
+ </tr>
+ <tr>
+ <th class="th-title">5.鎬诲伐鎴栬�呭壇缁忕悊鐨勫鐞嗘剰瑙�</th>
+ <th class="th-titleSec">澶勭悊缁撴灉</th>
+ <th class="th-info1">{{fiveOperation}}</th>
+ <th class="th-titleSec">澶勭悊鎰忚</th>
+ <th class="th-info" colspan="3">{{fiveInfo}}</th>
+ <th style="display:none;"></th>
+ <th style="display:none;"></th>
+ <th >{{fiveName}}<span v-if="fiveName">锛�</span>{{fiveTime}}</th>
+ </tr>
+ <tr>
+ <th class="th-title">6璐ㄩ噺閮�</th>
+ <th class="th-titleSec">澶勭悊缁撴灉</th>
+ <th class="th-info1">{{sixOperation}}</th>
+ <th class="th-titleSec">澶勭悊鎰忚</th>
+ <th class="th-info" colspan="3">{{sixInfo}}</th>
+ <th style="display:none;"></th>
+ <th style="display:none;"></th>
+ <th >{{sixName}}<span v-if="sixName">锛�</span>{{sixTime}}</th>
+ </tr>
+ <tr>
+ <th class="th-title">7璐ㄩ噺閮ㄧ粡鐞�</th>
+ <th class="th-titleSec">澶勭悊缁撴灉</th>
+ <th class="th-info1">{{sevenOperation}}</th>
+ <th class="th-titleSec">澶勭悊鎰忚</th>
+ <th class="th-info" colspan="3">{{sevenInfo}}</th>
+ <th style="display:none;"></th>
+ <th style="display:none;"></th>
+ <th >{{sevenName}}<span v-if="sevenName">锛�</span>{{sevenTime}}</th>
+ </tr>
+ <tr>
+ <th class="th-title">8鏍哥畻鍛�</th>
+ <th class="th-titleSec">澶勭悊缁撴灉</th>
+ <th class="th-info1">{{eightOperation}}</th>
+ <th class="th-titleSec">澶勭悊鎰忚</th>
+ <th class="th-info" colspan="3">{{eightInfo}}</th>
+ <th style="display:none;"></th>
+ <th style="display:none;"></th>
+ <th >{{eightName}}<span v-if="eightName">锛�</span>{{eightTime}}</th>
+ </tr>
+ <tr>
+ <th class="th-title">9鐗╂祦閮ㄧ储璧旂粨鏋�</th>
+ <th class="th-titleSec">澶勭悊缁撴灉</th>
+ <th class="th-info1">{{nineOperation}}</th>
+ <th class="th-titleSec">澶勭悊鎰忚</th>
+ <th class="th-info" colspan="3">{{nineInfo}}</th>
+ <th style="display:none;"></th>
+ <th style="display:none;"></th>
+ <th >{{nineName}}<span v-if="nineName">锛�</span>{{nineTime}}</th>
+ </tr>
+ </table>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+export default {
+ name: "OAProcess",
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: {},
+ props: {
+ OAProcess: {
+ type: Boolean,
+ default: () => false
+ },
+ },
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ isShow: this.OAProcess,
+ oneInfo: '',
+ twoInfo: '',
+ threeInfo: '',
+ fourInfo: '',
+ fiveInfo: '',
+ sixInfo: '',
+ sevenInfo: '',
+ eightInfo: '',
+ nineInfo: '',
+ oneTime: '',
+ twoTime: '',
+ threeTime: '',
+ fourTime: '',
+ fiveTime: '',
+ sixTime: '',
+ sevenTime: '',
+ eightTime: '',
+ nineTime: '',
+ oneName: '',
+ twoName: '',
+ threeName: '',
+ fourName: '',
+ fiveName: '',
+ sixName: '',
+ sevenName: '',
+ eightName: '',
+ nineName: '',
+ oneOperation: '',
+ twoOperation: '',
+ threeOperation: '',
+ fourOperation: '',
+ fiveOperation: '',
+ sixOperation: '',
+ sevenOperation: '',
+ eightOperation: '',
+ nineOperation: '',
+ }
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ getInfo (id) {
+ this.$axios.post(this.$api.unqualifiedHandler.getOaFlow, {
+ id: id
+ }).then(res => {
+ if (res.code === 200) {
+ const data = res.data
+ if (data.length > 0) {
+ data.forEach(item => {
+ if (item.nodeName === '1妫�楠屽憳') {
+ this.oneInfo = item.approvalOpinion
+ this.oneTime = item.approvalDate
+ this.oneName = item.approver
+ this.oneOperation = item.operation
+ } else if (item.nodeName === '2妫�娴嬩富绠$‘璁�') {
+ this.twoInfo = item.approvalOpinion
+ this.twoTime = item.approvalDate
+ this.twoName = item.approver
+ this.twoOperation = item.operation
+ } else if (item.nodeName === '3鐗╂祦閮ㄧ‘璁�') {
+ this.threeInfo = item.approvalOpinion
+ this.threeTime = item.approvalDate
+ this.threeName = item.approver
+ this.threeOperation = item.operation
+ } else if (item.nodeName === '4浜у搧宸ョ▼甯堝鐞嗘剰瑙�') {
+ this.fourInfo = item.approvalOpinion
+ this.fourTime = item.approvalDate
+ this.fourName = item.approver
+ this.fourOperation = item.operation
+ } else if (item.nodeName === '5.鎬诲伐鎴栬�呭壇缁忕悊鐨勫鐞嗘剰瑙�') {
+ this.fiveInfo = item.approvalOpinion
+ this.fiveTime = item.approvalDate
+ this.fiveName = item.approver
+ this.fiveOperation = item.operation
+ } else if (item.nodeName === '6璐ㄩ噺閮�') {
+ this.sixInfo = item.approvalOpinion
+ this.sixTime = item.approvalDate
+ this.sixName = item.approver
+ this.sixOperation = item.operation
+ } else if (item.nodeName === '7璐ㄩ噺閮ㄧ粡鐞�') {
+ this.sevenInfo = item.approvalOpinion
+ this.sevenTime = item.approvalDate
+ this.sevenName = item.approver
+ this.sevenOperation = item.operation
+ } else if (item.nodeName === '8鏍哥畻鍛�') {
+ this.eightInfo = item.approvalOpinion
+ this.eightTime = item.approvalDate
+ this.eightName = item.approver
+ this.eightOperation = item.operation
+ } else if (item.nodeName === '9鐗╂祦閮ㄧ储璧旂粨鏋�') {
+ this.nineInfo = item.approvalOpinion
+ this.nineTime = item.approvalDate
+ this.nineName = item.approver
+ this.nineOperation = item.operation
+ }
+ })
+ }
+ }
+ }).catch(err => {
+ this.submitDeclareLoading = false
+ console.log(err)
+ })
+ }
+ },
+}
+</script>
+
+<style scoped>
+.table {
+ width: 100%;
+ height: 500px;
+}
+.th-title {
+ width: 160px;
+ text-align: left;
+ background-color: #e0eaf5;
+ font-size: 16px;
+}
+.th-titleSec {
+ width: 70px;
+ background-color: #e0eaf5;
+ font-size: 16px;
+}
+.th-info {
+ width: 210px;
+ text-align: left;
+ font-size: 16px;
+}
+.th-info1 {
+ width: 100px;
+ text-align: center;
+ font-size: 16px;
+}
+</style>
diff --git a/src/views/business/unpass/index-manage.vue b/src/views/business/unpass/index-manage.vue
new file mode 100644
index 0000000..a7de5dd
--- /dev/null
+++ b/src/views/business/unpass/index-manage.vue
@@ -0,0 +1,324 @@
+<template>
+ <div class="capacity-scope">
+ <div class="search">
+ <div>
+ <el-form :model="entity" ref="entity" size="small" :inline="true">
+ <el-form-item label="瑙勬牸鍨嬪彿" prop="model">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="entity.model"
+ @keyup.enter.native="refreshTable()"></el-input>
+ </el-form-item>
+ <el-form-item label="鏍峰搧鍚嶇О" prop="sample">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="entity.sample"
+ @keyup.enter.native="refreshTable()"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="refreshTable">鏌� 璇�</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="refresh">閲� 缃�</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ </div>
+ <div>
+ <lims-table :tableData="tableData" :column="column"
+ :height="'calc(100vh - 250px)'" @pagination="pagination"
+ :page="page" :tableLoading="tableLoading"></lims-table>
+ </div>
+ <el-dialog
+ title="鎻愪氦"
+ :show-close="false"
+ :close-on-press-escape="false"
+ :close-on-click-modal="false"
+ :visible.sync="dialogVisible"
+ width="30%">
+ <span>鏄惁纭鎻愪氦OA锛�</span>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitOA" :loading="submitOALoading">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog
+ title="鍒犻櫎"
+ :show-close="false"
+ :close-on-press-escape="false"
+ :close-on-click-modal="false"
+ :visible.sync="deleteVisible"
+ width="30%">
+ <span>鏄惁纭<span style="color: #FF4902">鍒犻櫎</span>OA锛�</span>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="deleteVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="cancelOA" :loading="cancelOALoading">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <UnPassDialog ref="unPassDialog" v-if="unPassDialog"
+ :orderId="orderId"
+ @resetForm="resetForm1"
+ :unPassDialog="unPassDialog"></UnPassDialog>
+ <OAProcess ref="OAProcess"
+ :OAProcess="OAProcess"
+ @closeOAProcess="closeOAProcess"
+ v-if="OAProcess"></OAProcess>
+ </div>
+</template>
+
+<script>
+import UnPassDialog from "./components/unPassDialog.vue";
+import OAProcess from "./components/OAProcess.vue";
+import limsTable from "@/components/Table/lims-table.vue";
+import {deleteUnqualifiedHandler, page, pushOA} from "@/api/business/unqualifiedHandler";
+import ValueTable from "@/components/Table/value-table.vue";
+export default {
+ components: {
+ limsTable,
+ OAProcess,
+ UnPassDialog,
+ ValueTable
+ },
+ data() {
+ return {
+ handlerId: null,
+ entity: {
+ sample: null,
+ model: null,
+ },
+ tableData: [],
+ tableLoading: false,
+ column: [
+ { label: '缂栧彿', prop: 'no' },
+ {
+ label: "OA瀹℃牳鐘舵��",
+ prop: "oaState",
+ width: "100px",
+ dataType: "tag",
+ formatData: (params) => {
+ if (params == 1) {
+ return "寰呭鏍�";
+ } else if(params == 2) {
+ return "瀹℃牳涓�";
+ } else if(params == 3) {
+ return "閫氳繃";
+ } else {
+ return "椹冲洖";
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return "warning";
+ } else if(params == 2) {
+ return "info";
+ } else if(params == 3) {
+ return "success";
+ } else {
+ return "danger";
+ }
+ },
+ },
+ { label: '璁㈠崟鍙�', prop: 'orderNo' },
+ {
+ label: "闆朵欢鍙�",
+ prop: "partNo",
+ width: "160px",
+ dataType: "link",
+ linkMethod: "openUnPassDialog",
+ },
+ { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
+ { label: '鐗╂枡鍚嶇О', prop: 'materialName' },
+ { label: '鐢熶骇鎵规', prop: 'productionBatch' },
+ { label: '鍒拌揣鏁伴噺', prop: 'cargoQuantity' },
+ { label: '瑙勬牸鍨嬪彿', prop: 'specsModels' },
+ { label: '鎶ユ鏃ユ湡', prop: 'inspectTime' },
+ { label: '鐘舵��', prop: 'statusDB' },
+ { label: '鍙嶉浜�', prop: 'feedbackUser' },
+ { label: '瑕佹楠岀殑閲囪喘鏁伴噺', prop: 'qtyToInspect' },
+ { label: '鍙嶉鏃ユ湡', prop: 'feedbackTime' },
+ {
+ label: "鍒嗙被",
+ prop: "classification",
+ width: "100px",
+ dataType: "tag",
+ formatData: (params) => {
+ if (params == 0) {
+ return "涓�绫讳笉鍚堟牸";
+ } else if(params == 1) {
+ return "浜岀被涓嶅悎鏍�";
+ } else {
+ return null
+ }
+ },
+ formatType: (params) => {
+ if (params == 0) {
+ return "warning";
+ } else if(params == 1) {
+ return "info";
+ } else {
+ return "null";
+ }
+ },
+ },
+ { label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
+ {
+ label: "涓嶅悎鏍煎綊灞�",
+ prop: "offGradeAscription",
+ width: "100px",
+ dataType: "tag",
+ formatData: (params) => {
+ if (params == 0) {
+ return "鐢熶骇鍙嶉涓嶅悎鏍�";
+ } else if(params == 1) {
+ return "妫�娴嬩笉鍚堟牸";
+ } else {
+ return null
+ }
+ },
+ formatType: (params) => {
+ if (params == 0) {
+ return "warning";
+ } else if(params == 1) {
+ return "info";
+ } else {
+ return "null";
+ }
+ },
+ },
+ { label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
+ {
+ dataType: 'action',
+ fixed: 'right',
+ label: '鎿嶄綔',
+ width: '180px',
+ operation: [
+ {
+ name: '鎻愪氦OA',
+ type: 'text',
+ clickFun: (row) => {
+ this.openOA(row);
+ },
+ disabled: (row, index) => {
+ return row.requestId !== null // 鏈塺equestId璇存槑宸茬粡鎻愪氦杩嘜A锛屼笉鍙啀娆℃彁浜�
+ }
+ },
+ {
+ name: '鏌ョ湅OA娴佺▼',
+ type: 'text',
+ clickFun: (row) => {
+ this.OAView(row);
+ },
+ },
+ {
+ name: '鍒犻櫎',
+ type: 'text',
+ clickFun: (row) => {
+ this.deleteOA(row);
+ },
+ disabled: (row, index) => {
+ return row.requestId !== null // 鏈塺equestId璇存槑宸茬粡鎻愪氦杩嘜A锛屼笉鍙啀娆℃彁浜�
+ }
+ },
+ ]
+ }
+ ],
+ page: {
+ total: 0,
+ size: 10,
+ current: 1
+ },
+ statusList: [],
+ dialogVisible: false, // 纭鎻愪氦OA寮规
+ unPassDialog: false, // 涓嶅悎鏍煎鐞嗗脊妗�
+ orderId: '',
+ OAProcess: false, // OA娴佺▼寮规
+ submitOALoading: false, // OA娴佺▼寮规鎻愪氦鎸夐挳loading
+ deleteVisible: false, // OA娴佺▼鍒犻櫎寮规
+ cancelOALoading: false, // OA娴佺▼鍒犻櫎寮规鎻愪氦鎸夐挳loading
+ };
+ },
+ mounted() {
+ this.refreshTable()
+ },
+ methods: {
+ refreshTable() {
+ this.tableLoading = true
+ page({ ...this.page, ...this.entity }).then(res => {
+ this.tableLoading = false
+ this.tableData = res.data.records
+ this.page.total = res.data.total
+ }).catch(err => {
+ this.tableLoading = false
+ })
+ },
+ // 閲嶇疆
+ refresh() {
+ this.resetForm('entity')
+ this.refreshTable()
+ },
+ // 鍒嗛〉鍒囨崲
+ pagination(page) {
+ this.page.size = page.limit
+ this.refreshTable()
+ },
+ // 鎵撳紑涓嶅悎鏍煎鐞嗗脊妗�
+ openUnPassDialog (row) {
+ this.unPassDialog = true
+ this.$nextTick(() => {
+ this.$refs.unPassDialog.getInsOrder('view', row)
+ })
+ },
+ // 鍏抽棴涓嶅悎鏍煎鐞嗗脊妗�
+ resetForm1 () {
+ this.$refs.unPassDialog.$refs['unPassForm'].resetFields();
+ this.unPassDialog = false
+ },
+ // 鎵撳紑鍒犻櫎OA纭寮规
+ deleteOA (row) {
+ this.handlerId = row.handlerId
+ this.deleteVisible = true
+ },
+ // 鎻愪氦鍒犻櫎鐢宠
+ cancelOA () {
+ this.de = true
+ deleteUnqualifiedHandler({id: this.handlerId,}).then(res => {
+ this.cancelOALoading = false
+ if (res.code === 200) {
+ this.deleteVisible = false
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.refreshTable('page')
+ }
+ }).catch(error => {
+ this.cancelOALoading = false
+ console.error(error);
+ });
+ },
+ // 鏌ョ湅鎻愪氦OA鐨勬暟鎹�
+ openOA (row) {
+ this.handlerId = row.handlerId
+ this.dialogVisible = true
+ },
+ // 鏌ョ湅OA娴佺▼
+ OAView (row) {
+ this.OAProcess = true
+ this.$nextTick(() => {
+ this.$refs.OAProcess.getInfo(row.handlerId)
+ })
+ },
+ // 鍏抽棴鏌ョ湅OA娴佺▼鐨勫脊妗�
+ closeOAProcess () {
+ this.OAProcess = false
+ },
+ //鎻愪氦OA
+ submitOA(row) {
+ // 鎻愪氦OA
+ this.submitOALoading = true
+ pushOA({handlerId: this.handlerId,}).then(res => {
+ this.submitOALoading = false
+ if (res.code === 200) {
+ this.dialogVisible = false
+ this.$message.success('鎻愪氦鎴愬姛')
+ this.refreshTable('page')
+ }
+ }).catch(error => {
+ this.submitOALoading = false
+ console.error(error);
+ });
+ }
+ }
+};
+</script>
diff --git a/src/views/business/unpass/index.vue b/src/views/business/unpass/index.vue
new file mode 100644
index 0000000..fb9b01e
--- /dev/null
+++ b/src/views/business/unpass/index.vue
@@ -0,0 +1,135 @@
+<template>
+ <div class="capacity-scope">
+ <div class="search">
+ <div>
+ <el-form :model="entity" ref="entity" size="small" :inline="true">
+ <el-form-item label="瑙勬牸鍨嬪彿" prop="model">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="entity.model"
+ @keyup.enter.native="refreshTable()"></el-input>
+ </el-form-item>
+ <el-form-item label="鏍峰搧鍚嶇О" prop="sample">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="entity.sample"
+ @keyup.enter.native="refreshTable()"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="refreshTable">鏌� 璇�</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="refresh">閲� 缃�</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ </div>
+ <div>
+ <lims-table :tableData="tableData" :column="column"
+ :height="'calc(100vh - 250px)'" @pagination="pagination"
+ :page="page" :tableLoading="tableLoading"></lims-table>
+ </div>
+ </div>
+</template>
+
+<script>
+import limsTable from "@/components/Table/lims-table.vue";
+import {pageInsUnPass} from "@/api/business/unpass";
+
+export default {
+ components: {limsTable},
+ data() {
+ return {
+ entity: {
+ sample: null,
+ model: null,
+ },
+ tableData: [],
+ tableLoading: false,
+ column: [
+ { label: '缂栧彿', prop: 'no' },
+ {
+ label: "OA瀹℃牳鐘舵��",
+ prop: "oaState",
+ width: "100px",
+ dataType: "tag",
+ formatData: (params) => {
+ if (params == 0) {
+ return "鍚�";
+ } else {
+ return "鏄�";
+ }
+ },
+ formatType: (params) => {
+ if (params == 0) {
+ return "danger";
+ } else {
+ return "primary";
+ }
+ },
+ },
+ {
+ dataType: 'action',
+ fixed: 'right',
+ label: '鎿嶄綔',
+ width: '180px',
+ operation: [
+ {
+ name: '缂栬緫',
+ type: 'text',
+ clickFun: (row) => {
+ this.openAdd('edit', row);
+ },
+ },
+ {
+ name: '鍒犻櫎',
+ type: 'text',
+ clickFun: (row) => {
+ this.delete(row);
+ },
+ },
+ {
+ name: '鍗扮珷绠$悊',
+ type: 'text',
+ clickFun: (row) => {
+ this.fileManagement(row);
+ },
+ },
+ ]
+ }
+ ],
+ page: {
+ total: 0,
+ size: 10,
+ current: 1
+ },
+ }
+ },
+ mounted() {
+ this.refreshTable()
+ },
+ methods :{
+ refreshTable() {
+ this.tableLoading = true
+ pageInsUnPass({ ...this.page, ...this.entity }).then(res => {
+ this.tableLoading = false
+ this.tableData = res.data.records
+ this.page.total = res.data.total
+ }).catch(err => {
+ this.tableLoading = false
+ })
+ },
+ // 閲嶇疆
+ refresh() {
+ this.resetForm('entity')
+ this.refreshTable()
+ },
+ // 鍒嗛〉鍒囨崲
+ pagination(page) {
+ this.page.size = page.limit
+ this.refreshTable()
+ },
+ }
+}
+</script>
+<style scoped>
+.search {
+ height: 46px;
+ display: flex;
+ justify-content: space-between;
+}
+</style>
diff --git a/src/views/structural/premises/index.vue b/src/views/structural/premises/index.vue
index 1c3ccca..0cb76e1 100644
--- a/src/views/structural/premises/index.vue
+++ b/src/views/structural/premises/index.vue
@@ -22,8 +22,9 @@
</div>
</div>
<div class="table">
- <lims-table :tableData="tableData" :column="column" :height="'calc(100vh - 250px)'" @pagination="pagination"
- :page="page" :tableLoading="tableLoading"></lims-table>
+ <lims-table :tableData="tableData" :column="column"
+ :height="'calc(100vh - 250px)'" @pagination="pagination"
+ :page="page" :tableLoading="tableLoading"></lims-table>
</div>
<!-- 鏂板瀹為獙瀹�-->
<el-dialog :title="formTitle" :visible.sync="addDia" width="450px">
--
Gitblit v1.9.3