| | |
| | | // ä¸åæ ¼ç®¡çç¸å
³æ¥å£ |
| | | |
| | | import request from "@/utils/request"; |
| | | |
| | | //æ¥è¯¢è¿è´§éªè¯ä¿¡æ¯ |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // æ¥è¯¢ä¸åæ ¼æ ·åæ°æ® |
| | | export function pageInsUnPass(data) { |
| | | return request({ |
| | | url: "/unPass/pageInsUnPass", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // ä¸åæ ¼å¤çç¸å
³æ¥å£ |
| | | 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, |
| | | }); |
| | | } |
| | |
| | | }, |
| | | mounted() { |
| | | this.queryParams.userId = this.userId; |
| | | // this.getPower(); |
| | | this.refreshTable(); |
| | | }, |
| | | methods: { |
| | |
| | | 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; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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 // ærequestId说æå·²ç»æäº¤è¿OAï¼ä¸å¯å次æäº¤ |
| | | } |
| | | }, |
| | | { |
| | | name: 'æ¥çOAæµç¨', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.OAView(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: 'å é¤', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.deleteOA(row); |
| | | }, |
| | | disabled: (row, index) => { |
| | | return row.requestId !== null // ærequestId说æå·²ç»æäº¤è¿OAï¼ä¸å¯å次æäº¤ |
| | | } |
| | | }, |
| | | ] |
| | | } |
| | | ], |
| | | 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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
| | |
| | | </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"> |