Merge remote-tracking branch 'origin/dev' into dev
| | |
| | | // ä¸åæ ¼ç®¡çç¸å
³æ¥å£ |
| | | |
| | | 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, |
| | | }); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // å®éªå®¤çæ£æµè½åæ¡£æ¡ç¸å
³æ¥å£ |
| | | import request from "@/utils/request"; |
| | | |
| | | // 姿忣éªå页æ¥è¯¢ |
| | | export const getInspectionOrder = (params) => { |
| | | return request({ |
| | | url: "/inspectionOrder/pageInspectionOrder", |
| | | method: "get", |
| | | params: params |
| | | }) |
| | | } |
| | |
| | | content: ""; |
| | | display: inline-block; |
| | | width: 4px; |
| | | height: 28px; |
| | | height: 16px; |
| | | background: #3a7bfa; |
| | | border-radius: 10px; |
| | | margin-left: 32px; |
| | | margin-left: 20px; |
| | | margin-right: 8.5px; |
| | | } |
| | | |
| | |
| | | content: ""; |
| | | display: inline-block; |
| | | width: 4px; |
| | | height: 28px; |
| | | height: 16px; |
| | | background: #3a7bfa; |
| | | border-radius: 10px; |
| | | margin-left: 20px; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-dialog title="æ°å¢æ£éªå§æå" :visible.sync="visible" width="1200px"> |
| | | <div id="dialogBody"> |
| | | <div style="max-height: 75vh;overflow-y: auto;"> |
| | | <div id="dialogBody"> |
| | | <table border="1" cellpadding="10" class="tables heads"> |
| | | <tr> |
| | | <td rowspan="2"> |
| | | <img alt="" :src="ZTTLogo" style="width: 80%;"> |
| | | </td> |
| | | <td> |
| | | <p>è®°å½åç§°ï¼æ£éªå§æå</p> |
| | | </td> |
| | | <td> |
| | | <p>ä¿åæéï¼6å¹´</p> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <p>è®°å½ç¼å·ï¼ ZTT/QR-16-04-a</p> |
| | | </td> |
| | | <td> |
| | | <p>彿¡£é¨é¨ï¼ç»¼å室</p> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <h4 class="table_h4"> |
| | | æ£ éª å§ æ å |
| | | </h4> |
| | | <p |
| | | v-if="operationType !== 'view'" |
| | | style="margin-left: 560px;display: flex;align-items: center"> |
| | | <span style="width: 100px">å§æç¼å·ï¼</span> |
| | | <el-input clearable size="small"></el-input> |
| | | </p> |
| | | <p v-else style="margin-top: 16px;margin-left: 600px;"> |
| | | å§æç¼å·ï¼{{ currentInfo.entrustCode }} |
| | | </p> |
| | | <table border="1" cellpadding="10" class="tables"> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>è¯æ ·åç§°</p> |
| | | </td> |
| | | <td > |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.sampleName" clearable size="small"></el-input> |
| | | <span v-else>{{ currentInfo.sampleName }}</span> |
| | | </td> |
| | | <td> |
| | | <p>å§ææ¶é´</p> |
| | | </td> |
| | | <td> |
| | | <el-date-picker |
| | | v-if="operationType !== 'view'" |
| | | v-model="currentInfo.commissionDate" |
| | | clearable |
| | | format="yyyy-MM-dd" |
| | | placeholder="éæ©æ¥æ" |
| | | size="small" |
| | | style="width: 100%" |
| | | type="date" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | <span v-else>{{ currentInfo.commissionDate }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>å å·</p> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.modelNo" clearable size="small"></el-input> |
| | | <span v-else>{{ currentInfo.modelNo }}</span> |
| | | </td> |
| | | <td> |
| | | <p>å§æåä½</p> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.commissionUnit" clearable size="small"></el-input> |
| | | <span v-else>{{ currentInfo.commissionUnit }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>ç产åä½</p> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.production" clearable size="small"></el-input> |
| | | <span v-else>{{ currentInfo.production }}</span> |
| | | </td> |
| | | <td> |
| | | <p>å§æäºº</p> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.commissionUser" clearable size="small"></el-input> |
| | | <span v-else>{{ currentInfo.commissionUser }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>æ ·åæ°é</p> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.quantity" clearable size="small"></el-input> |
| | | <span v-else>{{ currentInfo.quantity }}</span> |
| | | </td> |
| | | <td> |
| | | <p>æ ·åç¶æ</p> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.sampleStatus" clearable size="small"></el-input> |
| | | <span v-else>{{ insStateList.find(m=>m.value==currentInfo.sampleStatus)?insStateList.find(m=>m.value==currentInfo.sampleStatus).label:'/' }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>æ¯å¦çæ ·</p> |
| | | </td> |
| | | <td> |
| | | <el-radio-group |
| | | v-if="operationType !== 'view'" |
| | | v-model="currentInfo.isLeave" |
| | | v-removeAriaHidden |
| | | > |
| | | <el-radio :label="1">æ¯</el-radio> |
| | | <el-radio :label="0">å¦</el-radio> |
| | | </el-radio-group> |
| | | <div v-else> |
| | | <span v-if="currentInfo.isLeave==1">æ¯</span> |
| | | <span v-else>å¦</span> |
| | | </div> |
| | | </td> |
| | | <td> |
| | | <p>æ ·åå¤çæ¹å¼</p> |
| | | </td> |
| | | <td v-if="operationType !== 'view'"> |
| | | <el-radio-group v-model="currentInfo.processing" v-removeAriaHidden> |
| | | <el-radio :label="0">å§æåä½åå</el-radio> |
| | | <el-radio :label="1">å®éªå®¤å¤ç</el-radio> |
| | | </el-radio-group> |
| | | </td> |
| | | <td v-else> |
| | | <span v-if="currentInfo.processing==0">å§æåä½åå</span> |
| | | <span v-else>å®éªå®¤å¤ç</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>约å®å®ææ¶é´(æ¥åæ¥æ)</p> |
| | | </td> |
| | | <td> |
| | | <el-date-picker |
| | | v-if="operationType !== 'view'" |
| | | v-model="currentInfo.appointed" |
| | | clearable |
| | | format="yyyy-MM-dd" |
| | | placeholder="éæ©æ¥æ" |
| | | size="small" |
| | | style="width: 100%" |
| | | type="date" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | <span v-else> |
| | | {{ currentInfo.appointed }} |
| | | </span> |
| | | </td> |
| | | <td> |
| | | <p>æ¥ååéæ¹å¼</p> |
| | | </td> |
| | | <td > |
| | | <el-radio-group |
| | | v-if="operationType !== 'view'" |
| | | v-model="currentInfo.send" v-removeAriaHidden |
| | | > |
| | | <el-radio :label="1">èªå</el-radio> |
| | | <el-radio :label="0">å
¶ä»</el-radio> |
| | | </el-radio-group> |
| | | <div v-else> |
| | | <span v-if="currentInfo.send==1">èªå</span> |
| | | <span v-else>å
¶ä»</span> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | <el-button class="add_btn" size="small" type="primary" @click="addOrderDetailList">æ·»å </el-button> |
| | | <tr> |
| | | <td> |
| | | <p>åºå·</p> |
| | | </td> |
| | | <td> |
| | | <p>æ ·åç¼å·</p> |
| | | </td> |
| | | <td> |
| | | <p>è¯éªé¡¹ç®</p> |
| | | </td> |
| | | <td> |
| | | <p>æ£éªä¾æ®</p> |
| | | </td> |
| | | <td> |
| | | <p>夿³¨</p> |
| | | </td> |
| | | </tr> |
| | | <tr v-for="(item,index) in currentInfo.orderDetailList" :key="index" > |
| | | <td>{{ index+1 }}</td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="item.sampleNumber" clearable size="small"></el-input> |
| | | <span v-else>{{ item.sampleNumber }}</span> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'"v-model="item.testItem" clearable size="small"></el-input> |
| | | <span v-else>{{ item.testItem }}</span> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="item.testStandard" clearable size="small"></el-input> |
| | | <span v-else>{{ item.testStandard }}</span> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="item.remark" clearable size="small"></el-input> |
| | | <span v-else>{{ item.remark }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>å¤å®è§å</p> |
| | | </td> |
| | | <td v-if="operationType !== 'view'" colspan="3"> |
| | | <el-radio-group v-model="currentInfo.criterionRule" v-removeAriaHidden> |
| | | <el-radio :label="0">ä¸èèä¸ç¡®å®åº¦</el-radio> |
| | | <el-radio :label="1">èèä¸ç¡®å®åº¦</el-radio> |
| | | </el-radio-group> |
| | | <span v-if="currentInfo.criterionRule === 1"> |
| | | <el-input v-model="currentInfo.criterionRuleRemark" clearable size="small" style="width: 60px"></el-input> |
| | | % |
| | | </span> |
| | | </td> |
| | | <td v-else colspan="3"> |
| | | <span v-if="currentInfo.criterionRule===0">ä¸èèä¸ç¡®å®åº¦</span> |
| | | <span v-if="currentInfo.criterionRule===1">èèä¸ç¡®å®åº¦</span> |
| | | <span v-if="currentInfo.criterionRule===1">{{ currentInfo.criterionRuleRemark + '%' }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>å§æäººç¾å</p> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.commissionUser" clearable size="small"></el-input> |
| | | <span v-else>{{currentInfo.commissionUser}}</span> |
| | | </td> |
| | | <td> |
| | | <p>å§ææ¥æ</p> |
| | | </td> |
| | | <td> |
| | | <el-date-picker |
| | | v-if="operationType !== 'view'" |
| | | v-model="currentInfo.commissionDate" |
| | | clearable |
| | | format="yyyy-MM-dd" |
| | | placeholder="éæ©æ¥æ" |
| | | size="small" |
| | | style="width: 100%" |
| | | type="date" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | <span v-else>{{ currentInfo.commissionDate }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>å§æäººèç³»çµè¯</p> |
| | | </td> |
| | | <td colspan="3"> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.commissionPhone" clearable size="small"></el-input> |
| | | <span v-else>{{ currentInfo.commissionPhone }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>综å室ç¾å</p> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.generalOfficeUser" clearable size="small"></el-input> |
| | | <span v-else>{{currentInfo.generalOfficeUser}}</span> |
| | | </td> |
| | | <td> |
| | | <p>æ¥æ¶æ¥æ</p> |
| | | </td> |
| | | <td> |
| | | <el-date-picker |
| | | v-if="operationType !== 'view'" |
| | | v-model="currentInfo.receiptData" |
| | | clearable |
| | | format="yyyy-MM-dd" |
| | | placeholder="éæ©æ¥æ" |
| | | size="small" |
| | | style="width: 100%" |
| | | type="date" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | <span v-else>{{ currentInfo.receiptData }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2"> |
| | | <p>颿 ·åç¾å</p> |
| | | </td> |
| | | <td> |
| | | <el-input v-if="operationType !== 'view'" v-model="currentInfo.sampleTakerUser" clearable size="small"></el-input> |
| | | <span v-else>{{ currentInfo.sampleTakerUser }}</span> |
| | | </td> |
| | | <td> |
| | | <p>颿 ·æ¥æ</p> |
| | | </td> |
| | | <td v-if="operationType !== 'view'"> |
| | | <el-date-picker |
| | | v-model="currentInfo.sampleData" |
| | | clearable |
| | | format="yyyy-MM-dd" |
| | | placeholder="éæ©æ¥æ" |
| | | size="small" |
| | | style="width: 100%" |
| | | type="date" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </td> |
| | | <td v-else>{{ currentInfo.sampleData }}</td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2" rowspan="3"> |
| | | <p>æ£æµæºæä¿¡æ¯</p> |
| | | </td> |
| | | <td colspan="3"> |
| | | <p>æ±èä¸å¤©ç§æè¡ä»½æéå
¬å¸æ£æµä¸å¿</p> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="3"> |
| | | <p>å°åï¼æ±èçåéå¸ç»æµææ¯å¼ååºæ°å¼åè·¯ 19 å·</p> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="3"> |
| | | <p>çµè¯ï¼0513-89059043</p> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <p style="margin-top: 10px;margin-left: 20px;">æ³¨ï¼æ¬æ£éªå§æåä¸å¼äºä»½ï¼ä¸ä»½ç»¼å室彿¡£ï¼ä¸ä»½å§æåä½çåã</p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <span v-if="operationType !== 'view'" slot="footer" class="dialog-footer"> |
| | | <el-button @click="detailDialogVisible = false">å æ¶</el-button> |
| | | <el-button v-if="operationType === 'add'" :loading="buttonLoading" type="primary" @click="handleAdd"> |
| | | ç¡® å® |
| | | </el-button> |
| | | <el-button v-if="operationType === 'edit'" :loading="buttonLoading" type="primary" @click="handleEdit"> |
| | | ç¡® å® |
| | | </el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </template> |
| | | <script> |
| | | import ZTTLogo from "@/assets/logo/ZTTlogo.png" |
| | | export default { |
| | | name: 'AddContracts', |
| | | data() { |
| | | return { |
| | | ZTTLogo, |
| | | visible: false, |
| | | operationType: '', |
| | | currentInfo:{ |
| | | orderDetailList: [] |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | open() { |
| | | this.visible = true |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .tables { |
| | | table-layout: fixed; |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | border-collapse: collapse; /* å
³é®å±æ§ï¼åå¹¶è¾¹æ¡ */ |
| | | td { |
| | | height: 40px; |
| | | width: 100px; |
| | | text-align: center; |
| | | font-size: 14px; |
| | | word-wrap: break-word; |
| | | white-space: normal; |
| | | p { |
| | | margin: unset |
| | | } |
| | | } |
| | | } |
| | | .heads { |
| | | td { |
| | | border: 1px dashed black; /* åå
æ ¼çè线 */ |
| | | padding: 8px; |
| | | text-align: left; |
| | | } |
| | | } |
| | | .table_h4 { |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | font-size: 28px; |
| | | font-weight: bold; |
| | | margin: 10px 0 10px 0; |
| | | } |
| | | .add_btn { |
| | | margin: 10px 0 10px 10px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog title="æ°å¢æ£éªä»»å¡å" :visible.sync="visible"> |
| | | <el-form :model="search" :inline="true"> |
| | | <el-form-item label="å§æç¼å·ï¼"> |
| | | <el-input placeholder="请è¾å
¥å§æç¼å·"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary">æ¥ è¯¢</el-button> |
| | | <el-button>é ç½®</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <lims-table |
| | | :column="column" |
| | | :tableData="tableData" |
| | | :page="page" |
| | | /> |
| | | </el-dialog> |
| | | <AddContracts ref="addContractsRef" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import AddContracts from "./AddContracts.vue"; |
| | | export default { |
| | | name: 'EditDemand', |
| | | components: { |
| | | limsTable, |
| | | AddContracts |
| | | }, |
| | | data() { |
| | | return { |
| | | visible: false, |
| | | search: {}, |
| | | column: [ |
| | | { label: 'åºå·', minWidth: '100px' }, |
| | | { label: 'å§æç¼å·', minWidth: '100px' }, |
| | | { label: 'æ ·ååç§°', minWidth: '100px' }, |
| | | { |
| | | dataType: "action", |
| | | fixed: "right", |
| | | label: "æä½", |
| | | operation: [ |
| | | { |
| | | name: "æ°å¢å§æå", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | this.$refs.addContractsRef.open() |
| | | } |
| | | } |
| | | ], |
| | | }, |
| | | ], |
| | | tableData: [{}], |
| | | page: { |
| | | total: 0, |
| | | size: 10, |
| | | current: 1, |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | open() { |
| | | this.visible = true |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <style lang="scss" scoped> |
| | | .standard_method { |
| | | padding: 20px; |
| | | } |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_thing { |
| | | // width: 350px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 110px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 110px); |
| | | } |
| | | |
| | | .table { |
| | | margin-top: 10px; |
| | | background-color: #fff; |
| | | width: calc(100% - 40px); |
| | | height: calc(100% - 60px - 80px - 10px - 40px); |
| | | padding: 20px; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="standard_method"> |
| | | <el-form :model="model" :inline="true" label-width="auto"> |
| | | <el-form-item label="è¯æ ·åç§°ï¼"> |
| | | <el-input size="small" |
| | | placeholder="请è¾å
¥" |
| | | clearable |
| | | @change="refreshTable()" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="å§æåä½ï¼"> |
| | | <el-input size="small" |
| | | placeholder="请è¾å
¥" |
| | | clearable |
| | | @change="refreshTable()" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="ç产åä½ï¼"> |
| | | <el-input size="small" |
| | | placeholder="请è¾å
¥" |
| | | clearable |
| | | @change="refreshTable()" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="å§æäººï¼"> |
| | | <el-input size="small" |
| | | placeholder="请è¾å
¥" |
| | | clearable |
| | | @change="refreshTable()" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="small"> |
| | | é ç½® |
| | | </el-button> |
| | | <el-button size="small" type="primary"> |
| | | æ¥ è¯¢ |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-button size="small" type="primary" icon="el-icon-plus" @click="openDialog"> |
| | | æ° å¢ |
| | | </el-button> |
| | | </div> |
| | | <lims-table |
| | | :column="column" |
| | | :tableData="tableData" |
| | | :height="'calc(100vh - 250px)'" |
| | | :page="page" |
| | | /> |
| | | <Edit ref="editRef" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import Edit from './Edit.vue' |
| | | import { getInspectionOrder } from "@/api/cnas/process/demand/demand.js" |
| | | |
| | | export default { |
| | | name: 'Demand', |
| | | components: { |
| | | limsTable, |
| | | Edit |
| | | }, |
| | | data() { |
| | | return { |
| | | queryParams: { |
| | | code: '' |
| | | }, |
| | | model: {}, |
| | | column: [ |
| | | { label: 'åºå·', minWidth: '100px' }, |
| | | { label: 'è¯æ ·åç§°', minWidth: '100px' }, |
| | | { label: 'å§æç¼å·' }, |
| | | { label: 'å§ææ¶é´' }, |
| | | { label: 'åå·' }, |
| | | { label: 'å§æåä½' }, |
| | | { label: 'ç产åä½' }, |
| | | { label: 'å§æäºº' }, |
| | | { label: 'æ ·åæ°é' }, |
| | | { label: 'æ ·åç¶æ' }, |
| | | { label: 'æ¯å¦çæ ·' }, |
| | | { label: 'æ ·åå¤çæ¹å¼' }, |
| | | { |
| | | dataType: "action", |
| | | fixed: "right", |
| | | label: "æä½", |
| | | operation: [ |
| | | { |
| | | name: "ç¼ è¾", |
| | | type: "text" |
| | | } |
| | | ], |
| | | }, |
| | | ], |
| | | tableData: [], // è¡¨æ ¼æ°æ® |
| | | page: { |
| | | total: 0, |
| | | size: 10, |
| | | current: 1, |
| | | }, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.refreshTable() |
| | | }, |
| | | methods: { |
| | | /** |
| | | * @desc å·æ°è¡¨æ ¼ |
| | | */ |
| | | async refreshTable() { |
| | | await getInspectionOrder({ ...this.page }) |
| | | }, |
| | | /** |
| | | * @desc æå¼æ¨¡ææ¡ |
| | | */ |
| | | openDialog() { |
| | | this.$refs.editRef.open() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | }, |
| | | 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"> |