| | |
| | | <div> |
| | | <!-- è¡¨æ ¼ --> |
| | | <el-table ref="multipleTable" v-loading="tableLoading" :border="border" :data="tableData" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" :height="height" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" :height="tableHeight" |
| | | :highlight-current-row="highlightCurrentRow" :row-class-name="rowClassName" :row-style="rowStyle" |
| | | :row-key="rowKey" :span-method="spanMethod" :show-summary="showSummary" :summary-method="summaryMethod" stripe style="width: 100%" tooltip-effect="dark" @row-click="rowClick" |
| | | @current-change="currentChange" @selection-change="handleSelectionChange" class="lims-table"> |
| | | <el-table-column align="center" type="selection" width="55" v-if="isSelection" /> |
| | | <el-table-column align="center" type="selection" width="55" :selectable="selectionSelectable" v-if="isSelection" /> |
| | | <el-table-column align="center" label="åºå·" type="index" width="60" :index="indexMethod" /> |
| | | |
| | | <el-table-column v-for="(item, index) in column" :key="index" :column-key="item.columnKey" |
| | |
| | | default: false, |
| | | }, |
| | | height: { |
| | | type: String, |
| | | default: null, |
| | | type: Number, |
| | | default: 0, |
| | | }, |
| | | more:{ |
| | | type:Boolean, |
| | | default: false, |
| | | }, |
| | | tableLoading: { |
| | | type: Boolean, |
| | |
| | | default: () => { |
| | | return () => { }; |
| | | }, |
| | | }, |
| | | selectionSelectable: { |
| | | type: Function, |
| | | default: () => true, |
| | | }, |
| | | rowClick: { |
| | | type: Function, |
| | |
| | | btnWidth: "120px", |
| | | uploadRefs: [], |
| | | currentFiles: {}, // ç¨äºå卿¯è¡çå½åæä»¶ |
| | | uploadKeys: {} // ç¨äºå¨æéç½®ç»ä»¶ |
| | | uploadKeys: {}, // ç¨äºå¨æéç½®ç»ä»¶ |
| | | tableHeight:0, |
| | | resizeHandler: null, // 鲿彿°å¼ç¨ |
| | | }; |
| | | }, |
| | | created(){ |
| | | this.calcTableHeight() |
| | | this.resizeHandler = this.debounce(() => { |
| | | this.calcTableHeight(); |
| | | }, 200); |
| | | }, |
| | | beforeDestroy(){ |
| | | window.removeEventListener("resize",this.resizeHandler) |
| | | }, |
| | | mounted() { |
| | | window.addEventListener("resize",this.resizeHandler) |
| | | this.calculateSpanInfo(); |
| | | this.$nextTick(() => { |
| | | this.$refs.multipleTable.doLayout(); |
| | |
| | | this.tableData.forEach((_, index) => { |
| | | this.$set(this.uploadKeys, index, Date.now()); |
| | | }); |
| | | this.$nextTick(() => { |
| | | if (this.$refs.multipleTable) { |
| | | this.$refs.multipleTable.doLayout(); |
| | | } |
| | | }); |
| | | this.refreshTableLayout(); |
| | | }, |
| | | immediate: true |
| | | } |
| | | }, |
| | | more() { |
| | | this.refreshTableLayout(); |
| | | }, |
| | | height() { |
| | | this.refreshTableLayout(); |
| | | }, |
| | | }, |
| | | methods: { |
| | | refreshTableLayout() { |
| | | this.$nextTick(() => { |
| | | this.calcTableHeight(); |
| | | if (this.$refs.multipleTable) { |
| | | this.$refs.multipleTable.doLayout(); |
| | | } |
| | | }); |
| | | }, |
| | | calcTableHeight(){ |
| | | const innerHeight = window.innerHeight; |
| | | const naviHeight = 96;//å¯¼èªæ é«åº¦ |
| | | const pageHeight = this.page?52:0;//å页ç»ä»¶é«åº¦ |
| | | const mainMarginHeight = 40;//主ç»ä»¶ä¸ä¸é´è· |
| | | const otherHeight = this.height;//å
¶ä½é«åº¦ |
| | | const searchHeight = this.more?101:51;//æç´¢æ é«åº¦ |
| | | |
| | | this.tableHeight = innerHeight - naviHeight - pageHeight - mainMarginHeight - otherHeight - searchHeight |
| | | }, |
| | | //鲿彿° |
| | | debounce(fn, delay) { |
| | | let timer = null; |
| | | return (...args) => { |
| | | clearTimeout(timer); |
| | | timer = setTimeout(() => fn.apply(this, args), delay); |
| | | }; |
| | | }, |
| | | getWidth(row, row0) { |
| | | let count = 0; |
| | | row.forEach((a) => { |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="150" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <form-dia ref="formDia" v-if="formDia" @closeDia="closeDia"></form-dia> |
| | |
| | | <div v-if="selectUserDia" class="body" style="height: 60vh;"> |
| | | <lims-table :tableData="tableData1" :column="column1" |
| | | :isSelection="true" :handleSelectionChange="selectMethod" |
| | | height="500" :tableLoading="tableLoading1"></lims-table> |
| | | :height="500" :tableLoading="tableLoading1"></lims-table> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="selectUserDia = false">å æ¶</el-button> |
| | |
| | | </div> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="columnData" |
| | | :height="'calc(100vh - 47em)'" |
| | | :height="200" |
| | | :highlightCurrentRow="true" |
| | | :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | |
| | | :departId="departId" |
| | | :isDepartment="isDepartment"></job-responsibilities> |
| | | </el-tab-pane> |
| | | <!-- <el-tab-pane label="奿©è®°å½" name="奿©è®°å½"> |
| | | <rewardPunishmentRecord v-if="activeName === '奿©è®°å½'" |
| | | :departId="departId" :isDepartment="isDepartment"></rewardPunishmentRecord> --> |
| | | <!-- </el-tab-pane> --> |
| | | <el-tab-pane label="å¹è®è®°å½" name="å¹è®è®°å½"> |
| | | <training-record v-if="activeName === 'å¹è®è®°å½'" ref="trainingRecord" |
| | | :departId="departId" |
| | |
| | | import personnelInformation from './tabs/personnel-information.vue' |
| | | import PersonnelTraining from './tabs/personnelTraining'; |
| | | import JobResponsibilities from './tabs/job-responsibilities.vue'; |
| | | import rewardPunishmentRecord from "./tabs/reward-punishment-record.vue"; |
| | | import TrainingRecord from './tabs/training-record.vue'; |
| | | import Mandate from './tabs/mandate.vue'; |
| | | import PersonnelCapacity from './tabs/personnel-capacity.vue'; |
| | |
| | | export default { |
| | | name: 'PersonnelInfo', |
| | | components: { |
| | | PersonnelList, personnelInformation, PersonnelTraining, JobResponsibilities, rewardPunishmentRecord, TrainingRecord, Mandate, PersonnelCapacity, Communicate |
| | | PersonnelList, personnelInformation, PersonnelTraining, JobResponsibilities, TrainingRecord, Mandate, PersonnelCapacity, Communicate |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | <el-button size="small" type="primary" icon="el-icon-plus" @click="openDialog">æ°å¢</el-button> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="columnData" |
| | | @pagination="page" :height="'calc(100vh - 18em)'" |
| | | @pagination="page" :height="50" |
| | | :page="pagination" :tableLoading="loading"></lims-table> |
| | | <Add ref="communicateModal" @submit="getTableData"></Add> |
| | | </div> |
| | |
| | | <el-button size="small" type="primary" icon="el-icon-plus" @click="openDialog">æ°å¢</el-button> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="columnData" |
| | | @pagination="page" :height="'calc(100vh - 18em)'" |
| | | @pagination="page" :height="50" |
| | | :page="pagination" :tableLoading="loading"></lims-table> |
| | | </div> |
| | | <Add ref="mandateModal" @refresh="getTableData"></Add> |
| | |
| | | deletePersonPostAuthorizationRecord, exportPersonPostAuthorizationRecord, |
| | | PersonPostAuthorizationRecordPage |
| | | } from "@/api/cnas/personal/personPostAuthorizationRecord"; |
| | | import {delCustomById} from "@/api/system/customer"; |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="yearColumnData" |
| | | @pagination="pagination" :height="'calc(100vh - 20em)'" |
| | | @pagination="pagination" :height="50" |
| | | :page="search" :tableLoading="yearLoading"> |
| | | <div slot="jobResponsibilities" slot-scope="scope"> |
| | | <div v-html="changeLine(scope.row.responsibilities)"></div> |
| | |
| | | { |
| | | label: 'å²ä½', |
| | | prop: 'postName', |
| | | width: '100' |
| | | width: '120' |
| | | }, { |
| | | label: 'å§å', |
| | | prop: 'userName', |
| | | width: '100' |
| | | width: '120' |
| | | }, { |
| | | label: 'å¦å', |
| | | prop: 'academicDegree', |
| | | width: '100' |
| | | width: '120' |
| | | }, { |
| | | label: 'ä¸ä¸', |
| | | prop: 'major', |
| | | width: '100' |
| | | width: '120' |
| | | }, { |
| | | label: 'èç§°', |
| | | prop: 'professionalTitle', |
| | | width: '100' |
| | | width: '120' |
| | | }, { |
| | | dataType: 'slot', |
| | | label: 'å²ä½èè´£', |
| | |
| | | }, { |
| | | dataType: 'tag', |
| | | label: '综åè¯ä»·', |
| | | width: '140px', |
| | | prop: 'comprehensiveAssessment', |
| | | formatData: (params) => { |
| | | if (params == 'Qualified this position') { |
| | |
| | | <template> |
| | | <div> |
| | | <div style="text-align: right;margin-bottom: 10px"> |
| | | <!-- <el-button size="small" @click="$emit('goBackList')">è¿å</el-button>--> |
| | | <!-- <el-button size="small" @click="$emit('goBackList')">è¿å</el-button>--> |
| | | <el-button size="small" type="primary" @click="downPerson">ä¸è½½æ¡£æ¡</el-button> |
| | | <el-button size="small" type="primary" @click="dialogVisible = true">人ååç±»</el-button> |
| | | <el-button :loading="saveLoading" size="small" type="primary" @click="save">ä¿å</el-button> |
| | |
| | | @click="annexAdd(0)">æ°å¢</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <lims-table :tableData="annexList" :column="columnData2" style="width: 96%;margin-left: 34px" height="200" |
| | | <lims-table :tableData="annexList" :column="columnData2" style="width: 96%;margin-left: 34px" :height="700" |
| | | :tableLoading="tableLoading2"></lims-table> |
| | | <el-row style="margin-top: 10px"> |
| | | <el-col :span="20"> |
| | |
| | | </el-upload> |
| | | </el-col> |
| | | </el-row> |
| | | <lims-table :tableData="tableData" :column="columnData" style="width: 96%;float: right;" height="200" |
| | | <lims-table :tableData="tableData" :column="columnData" style="width: 96%;float: right;" :height="700" |
| | | :tableLoading="tableLoading"></lims-table> |
| | | <el-row style="margin-top: 10px"> |
| | | <el-col :span="20"> |
| | |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border |
| | | height="calc(100vh - 21em)" style="width: 100%;"> |
| | | <el-table-column align="center" label="åºå·" type="index" width="60"></el-table-column> |
| | | <el-table-column label="åå·¥ç¼å·" prop="account" width="150"></el-table-column> |
| | | <el-table-column label="å§å" prop="name" width="120"></el-table-column> |
| | | <el-table-column label="ç±è´¯" prop="nativePlace" width="120"></el-table-column> |
| | | <el-table-column label="è¯ä»¶å°å" prop="idAddress" show-overflow-tooltip width="100"></el-table-column> |
| | | <el-table-column label="ææºå·" prop="telephone" show-overflow-tooltip width="100"></el-table-column> |
| | | <el-table-column label="æ¯ä¸é¢æ ¡" prop="graduatedInstitutions1" width="100"></el-table-column> |
| | | <el-table-column label="æå¦ä¸ä¸" prop="major1" width="100"></el-table-column> |
| | | <el-table-column label="æ¯ä¸æ¶é´" prop="graduationTime1" width="100"></el-table-column> |
| | | <el-table-column label="æé«å¦å" prop="officialAcademicRedentials" width="100"></el-table-column> |
| | | <el-table-column label="æé«å¦ä½" prop="highestDegree" width="100"></el-table-column> |
| | | <el-table-column label="èç§°" prop="professionalTitle" width="100"></el-table-column> |
| | | <el-table-column label="åå·¥ç¼å·" prop="account" min-width="150"></el-table-column> |
| | | <el-table-column label="å§å" prop="name" min-width="120"></el-table-column> |
| | | <el-table-column label="ç±è´¯" prop="nativePlace" min-width="120"></el-table-column> |
| | | <el-table-column label="è¯ä»¶å°å" prop="idAddress" show-overflow-tooltip min-width="100"></el-table-column> |
| | | <el-table-column label="ææºå·" prop="telephone" show-overflow-tooltip min-width="100"></el-table-column> |
| | | <el-table-column label="æ¯ä¸é¢æ ¡" prop="graduatedInstitutions1" min-width="100"></el-table-column> |
| | | <el-table-column label="æå¦ä¸ä¸" prop="major1" min-width="100"></el-table-column> |
| | | <el-table-column label="æ¯ä¸æ¶é´" prop="graduationTime1" min-width="100"></el-table-column> |
| | | <el-table-column label="æé«å¦å" prop="officialAcademicRedentials" min-width="100"></el-table-column> |
| | | <el-table-column label="æé«å¦ä½" prop="highestDegree" min-width="100"></el-table-column> |
| | | <el-table-column label="èç§°" prop="professionalTitle" min-width="100"></el-table-column> |
| | | <el-table-column fixed="right" label="æä½" width="120" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="small" type="text" @click="$emit('updatePerson', scope.row)">ç¼è¾</el-button> |
| | |
| | | </div> |
| | | <div v-if="selectUserDia" class="body" style="height: 60vh;"> |
| | | <lims-table :tableData="tableData1" :column="column1" :isSelection="true" :handleSelectionChange="selectMethod" |
| | | height="520" :tableLoading="tableLoading1"></lims-table> |
| | | :height="500" :tableLoading="tableLoading1"></lims-table> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="selectUserDia = false">å æ¶</el-button> |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="yearPlanTableData" :column="yearPlanColumn" :currentChange="currentChange" |
| | | @pagination="pagination" height="40vh" :page="page" :tableLoading="yearLoading"></lims-table> |
| | | @pagination="pagination" :height="500" :page="page" :tableLoading="yearLoading"></lims-table> |
| | | </div> |
| | | <div v-if="!editPlanShow" class="table"> |
| | | <div> |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="inDetailPlanTableData" :column="inDetailPlanColumn" |
| | | :height="isDepartment ? '40vh' : '62vh'" :isSelection="true" :handleSelectionChange="handleSelectionChange" |
| | | :height="isDepartment ? 500 : 300" :isSelection="true" :handleSelectionChange="handleSelectionChange" |
| | | @pagination="pagination1" :page="inDetailPagination" :tableLoading="yearDetailLoading"></lims-table> |
| | | </div> |
| | | </div> |
| | |
| | | <lims-table :tableData="trainingTableData" :column="trainingColumn" |
| | | ref="trainingTableData" |
| | | :currentChange="currentChange" :highlightCurrentRow="true" |
| | | @pagination="pagination" :height="'calc(100vh - 22em)'" |
| | | @pagination="pagination" :height="100" |
| | | :page="trainingPagination" :tableLoading="trainingLoading"></lims-table> |
| | | </div> |
| | | <div :style="`width: ${isDepartment ? '49%' : '100%'};`"> |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="trainingPersonTableData" :column="trainingPersonColumn" |
| | | :height="'calc(100vh - 22em)'" @pagination="pagination1" |
| | | :height="100" @pagination="pagination1" |
| | | :page="trainingPersonPagination" :tableLoading="trainingPersonLoading"></lims-table> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 290px)'" |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="150" |
| | | :page="page" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :visible.sync="addDialogVisible" title="æ°å¢" width="400px"> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData0" :column="column0" :tableLoading="tableLoading" |
| | | key="tableData0" :height="'calc(100vh - 240px)'" :page="page0" @pagination="pagination0"></lims-table> |
| | | key="tableData0" :height="150" :page="page0" @pagination="pagination0"></lims-table> |
| | | </div> |
| | | <el-dialog title="详æ
" :visible.sync="editDialogVisible" width="70%"> |
| | | <el-button size="small" type="primary" @click="handleAdd('add')" style="margin-bottom: 10px">æ°å¢</el-button> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" |
| | | key="tableData" :height="'calc(100vh - 290px)'"> |
| | | key="tableData" :height="150"> |
| | | </lims-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="editDialogVisible = false">åæ¶</el-button> |
| | |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData0" :column="column0" :tableLoading="tableLoading0" |
| | | key="tableData0" |
| | | :height="'calc(100vh - 240px)'" :page="page0" @pagination="pagination0"> |
| | | :height="150" :page="page0" @pagination="pagination0"> |
| | | <div slot="action" slot-scope="scope"> |
| | | <el-button type="text" @click="handleAdd(scope.row)">ç¼è¾</el-button> |
| | | <el-button type="text" @click="delRow(scope.row)"> |
| | |
| | | </div> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="columnData" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 270px)'" key="tableData"></lims-table> |
| | | :height="150" key="tableData"></lims-table> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="yearTableData" :column="yearColumnData" :page="yearPage" :tableLoading="yearLoading" |
| | | :height="'calc(100vh - 34em)'" @pagination="pagination" :rowClick="rowClick" key="yearTableData"></lims-table> |
| | | :height="100" @pagination="pagination" :rowClick="rowClick" key="yearTableData"></lims-table> |
| | | </div> |
| | | <div style="margin-top: 20px"> |
| | | <div style="display: flex;justify-content: space-between"> |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="yearDetailTableData" :column="yearDetailColumnData" :page="yearDetailPage" |
| | | :tableLoading="yearDetailLoading" :height="'calc(100vh - 34em)'" @pagination="pagination1" ref="yearDetailTableData" |
| | | :tableLoading="yearDetailLoading" :height="100" @pagination="pagination1" ref="yearDetailTableData" |
| | | key="yearDetailTableData"></lims-table> |
| | | </div> |
| | | <!--æ°å¢ä¿®æ¹å¼¹æ¡--> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 270px)'" |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="150" |
| | | :page="page" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :visible.sync="addDialogVisible" title="è¯ä»·" width="900px" @close="closeDia"> |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="yearTableData" :column="yearColumnData" :page="yearPage" :tableLoading="yearLoading" |
| | | height="40vh" @pagination="pagination" :rowClick="rowClick" key="yearTableData"></lims-table> |
| | | :height="200" @pagination="pagination" :rowClick="rowClick" key="yearTableData"></lims-table> |
| | | </div> |
| | | <div style="margin-top: 20px"> |
| | | <div style="display: flex;justify-content: space-between"> |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="yearDetailTableData" :column="yearDetailColumnData" :page="yearDetailPage" |
| | | :tableLoading="yearDetailLoading" height="40vh" @pagination="pagination1" key="yearDetailColumnData"></lims-table> |
| | | :tableLoading="yearDetailLoading" :height="200" @pagination="pagination1" key="yearDetailColumnData"></lims-table> |
| | | </div> |
| | | <!--æ°å¢ä¿®æ¹å¼¹æ¡--> |
| | | <detail-form-dialog v-if="formDia" ref="formDia" :superviseId="superviseId" |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 250px)'" @pagination="pagination"></lims-table> |
| | | @pagination="pagination"></lims-table> |
| | | <!-- æ°å¢/ç¼è¾ --> |
| | | <el-dialog :title="title" :visible.sync="addDlog" width="500px"> |
| | | <el-form :model="addForm" ref="addForm" :rules="addRules" label-position="right" label-width="120px"> |
| | |
| | | <lims-table |
| | | ref="yearTable" |
| | | :column="columnData" |
| | | :height="'calc(100vh - 47em)'" |
| | | :height="150" |
| | | :highlightCurrentRow="true" |
| | | :table-data="tableData" |
| | | :table-loading="tableLoading" |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="'calc(100vh - 250px)'" |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="150" |
| | | @pagination="pagination" :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <formDIaChange v-if="formDIa" ref="formDIa" :operationType="operationType" @closeDia="closeDia"></formDIaChange> |
| | |
| | | </el-radio-group> |
| | | </div> |
| | | <div v-if="tabIndex === '0'"> |
| | | <lims-table :column="tableColumn" :height="'calc(100vh - 26em)'" :table-data="tableData" |
| | | <lims-table :column="tableColumn" :height="100" :table-data="tableData" |
| | | :table-loading="tableLoading" :page="page" @pagination="pagination"> |
| | | </lims-table> |
| | | </div> |
| | | <div v-if="tabIndex === '1'"> |
| | | <lims-table :column="oldTableColumn" :height="'calc(100vh - 20em)'" :table-data="oldTableData" |
| | | <lims-table :column="oldTableColumn" :height="100" :table-data="oldTableData" |
| | | :table-loading="oldTableLoading" :page="oldPage" @pagination="oldPagination"> |
| | | </lims-table> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 270px)'" |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="150" |
| | | :page="page" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :title="title" :visible.sync="addDialogVisible" width="400px" top="6vh"> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 270px)'" |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="150" |
| | | :page="page" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :visible.sync="addDialogVisible" title="è¯ä»·" width="400px"> |
| | |
| | | <el-dialog title="æ·»å æ£éªé¡¹" :visible.sync="dialogVisible5" width="1000px"> |
| | | <lims-table :tableData="tableData5" :column="column5" |
| | | :isSelection="true" :handleSelectionChange="selectMethod" |
| | | height="540" :page="page5" :tableLoading="tableLoading5" |
| | | :height="400" :page="page5" :tableLoading="tableLoading5" |
| | | @pagination="pagination5"></lims-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible5 = false">å æ¶</el-button> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="tables"> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 290px)'" |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="150" |
| | | :page="page" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog title="仪å¨è®¾å¤é¢(å)ç¨ç»è®°" top="5vh" :visible.sync="dialogVisible" width="60%"> |
| | |
| | | </div> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | height="calc(100vh - 20em)" @pagination="pagination" |
| | | :height="100" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogVisible" title="仪å¨è®¾å¤ä½¿ç¨ç»´æ¤ä¿å
»è¡¨" width="55%"> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table" v-show="!showData"> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 300px)'" |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="100" |
| | | :page="page" @pagination="pagination" :row-class-name="tableRowClassName"></lims-table> |
| | | </div> |
| | | <el-dialog :title="isUp ? '设å¤è¯¦æ
' : 'æ¡£æ¡ä¿®è®¢'" :visible.sync="dialogVisible" width="70%" top="5vh" |
| | |
| | | </div> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | height="calc(100vh - 20em)" @pagination="pagination" |
| | | :height="100" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="usageTableDia" |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="100" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <personnel-management-dia v-if="threeWastesDia" ref="threeWastesDia" |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="100" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <three-wastes-dialog v-if="threeWastesDia" ref="threeWastesDia" |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="100" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | <lims-table :tableData="tableData" :column="tableColumn" :height="100" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <form-dia v-if="formDia" ref="formDia" @closeYearDia="closeYearDia"></form-dia> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <lims-table :tableData="list" :column="spareColumns" height="300"> |
| | | <lims-table :tableData="list" :column="spareColumns" :height="300"> |
| | | <template slot="name" slot-scope="{ row, index }"> |
| | | <el-input v-if="row.isEdit" size="small" v-model="row.name"></el-input> |
| | | <span v-else>{{ row.name }}</span> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="columns" :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | <lims-table :tableData="tableData" :column="columns" :height="150" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"> |
| | | <template slot="action" slot-scope="{ row }"> |
| | | <el-button type="text" @click="edit(row)">ç¼è¾</el-button> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog title="æä»¶åæ§ç³è¯·" :visible.sync="addDialogVisible" width="800px" top="10vh"> |
| | | <el-row> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :title="'æ·»å ' + radio + 'è®°å½'" :visible.sync="addDialogVisible" top="10vh" width="800px"> |
| | | <el-row v-if="addDialogVisible"> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :title="title" :visible.sync="addDialogVisible" top="0vh" width="950px"> |
| | | <div v-loading="diaLoading"> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog title="ä¸ä¼ " :visible.sync="addDialogVisible" width="1000px" top="3vh"> |
| | | <UpPdfStamp ref="UpPdfStamp" v-if="addDialogVisible" @uploadPDF="uploadPDF" :isUpFile="true" |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :visible.sync="addDialogVisible" title="æä»¶ä½åºç³è¯·" top="10vh" width="800px"> |
| | | <el-row> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 230px)'" @pagination="pagination"></lims-table> |
| | | :height="100" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <!-- æ°å¢/ç¼è¾ --> |
| | | <el-dialog :title="title" :visible.sync="addDia" width="500px"> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 260px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :title="title" :visible.sync="addDialogVisible" width="400px" top="6vh"> |
| | | <el-row> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 260px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :title="title" :visible.sync="addDialogVisible" width="400px" top="6vh"> |
| | | <el-row> |
| | |
| | | <el-button size="small" type="primary" :loading="upLoading">导å
¥</el-button></el-upload> |
| | | </div> |
| | | <lims-table :tableData="tableData0" :column="column0" :page="page0" :tableLoading="tableLoading0" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination0"></lims-table> |
| | | :height="150" @pagination="pagination0"></lims-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="åå²è®°å½" name="åå²è®°å½" style="height: 100%;"> |
| | | <div> |
| | |
| | | </el-form> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <!-- 详æ
/ä¸è½½/å®¡æ ¸ --> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="åå²è®°å½" name="åå²è®°å½" style="height: 100%;"> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData0" :column="column0" :page="page0" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 290px)'" @pagination="pagination0"></lims-table> |
| | | :height="150" @pagination="pagination0"></lims-table> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 260px)'" @pagination="pagination"></lims-table> |
| | | :height="150" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <el-dialog :title="title" :visible.sync="addDialogVisible" width="800px" top="6vh"> |
| | | <el-row> |
| | |
| | | <div> |
| | | <el-dialog title="详æ
" :visible.sync="viewInfoDia" width="1000px"> |
| | | <limsTable :tableData="tableData" :column="column" |
| | | height="600" @pagination="pagination" |
| | | :height="300" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></limsTable> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | </div> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <viewInfoDia ref="viewInfoDia" v-if="viewInfoDia"></viewInfoDia> |
| | |
| | | </div> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :rowClassName="rowClassName" :height="'calc(100vh - 270px)'" @pagination="pagination" |
| | | :rowClassName="rowClassName" :height="37" @pagination="pagination" |
| | | key="tableData0"></lims-table> |
| | | </div> |
| | | <!--æ¥åæ¥ç--> |
| | |
| | | :table-data="editTableData" |
| | | :table-loading="editLoading" |
| | | :page="page" |
| | | height="560" |
| | | :height="500" |
| | | @pagination="pagination" |
| | | > |
| | | </lims-table> |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :rowClassName="rowClassName" |
| | | :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0"> |
| | | :height="66" @pagination="pagination" key="tableData0"> |
| | | <div slot="action" slot-scope="scope"> |
| | | <el-button size="small" type="text" @click="handleDataLook(scope.row)">æ°æ®æ¥ç</el-button> |
| | | <el-button type="text" size="small" |
| | |
| | | ></ShowInfo> --> |
| | | <!--ä¿®æ¹æ£éªå¼å¼¹æ¡--> |
| | | <edit-inspection-item ref="editInspectionItem"></edit-inspection-item> |
| | | <!--æ¥çå·¥æ¶å¼¹æ¡--> |
| | | <viewManHourDia ref="viewManHourDia"></viewManHourDia> |
| | | <!--ä¸åæ ¼å¤æµæ¥çå¼¹æ¡--> |
| | | <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" |
| | | @closeRetestLook="closeRetestLook"></un-pass-retest-result> |
| | |
| | | |
| | | import EditInspectionItem from "./components/EditInspectionItem.vue"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import viewManHourDia from "./components/viewManHourDia.vue" |
| | | import UnPassRetestResult from "@/components/rawMaterialInspection/unPassRetestResult.vue" |
| | | import { |
| | | claimInsOrderPlan, |
| | |
| | | import { upReportUrl } from "@/api/business/insReport"; |
| | | import onlyoffice from "@/components/Onlyoffice/onlyoffice.vue"; |
| | | import filePreview from "@/components/Preview/filePreview.vue"; |
| | | import tab from "../../../plugins/tab"; |
| | | export default { |
| | | name: 'InspectionTask', |
| | | components: { |
| | | filePreview, onlyoffice, |
| | | EditInspectionItem, |
| | | limsTable, |
| | | viewManHourDia, |
| | | UnPassRetestResult |
| | | }, |
| | | dicts: ["urgency_level", "inspection_task_state", 'material_prop_type'], |
| | |
| | | // ä¿®æ¹æ£éªå¼ |
| | | editInspection(row) { |
| | | this.$refs.editInspectionItem.showDialog(row.id); |
| | | }, |
| | | // æ¥çå·¥æ¶ |
| | | viewManHour(row) { |
| | | this.$refs.viewManHourDia.showDialog(row.id, row.insState); |
| | | }, |
| | | // æ°æ®æ¥ç |
| | | handleDataLook(row) { |
| | |
| | | " |
| | | >æ ·å忢</el-button |
| | | > |
| | | <!-- <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">ä»»å¡åæ¢</el-button>--> |
| | | <el-button |
| | | v-if="state == 1" |
| | | size="small" |
| | |
| | | :column="column" |
| | | :page="page" |
| | | :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 290px)'" |
| | | :height="700" |
| | | @pagination="pagination" |
| | | style="height: 100%; margin-top: 16px" |
| | | ></lims-table> |
| | |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | | </el-table> |
| | | </el-drawer> |
| | | <el-drawer :size="500" :visible.sync="taskVisible" title="ä»»å¡åæ¢"> |
| | | <lims-table |
| | | :tableData="tableData0" |
| | | :column="column0" |
| | | :page="page0" |
| | | :tableLoading="tableLoading0" |
| | | :height="'calc(100vh - 90px)'" |
| | | :currentChange="handleChangeTask" |
| | | ></lims-table> |
| | | </el-drawer> |
| | | <el-dialog |
| | | title="åéç设å¤è¯æ ·ç±»å" |
| | |
| | | :purchaseDialog="purchaseDialog" |
| | | @resetPurchaseDialog="resetPurchaseDialog" |
| | | ></purchase-verification> |
| | | <!--æ¥çå·¥æ¶å¼¹æ¡--> |
| | | <viewManHourDia |
| | | ref="viewManHourDia" |
| | | @submit="openAddVerifyDia" |
| | | ></viewManHourDia> |
| | | <!-- IFSç©æå±æ§ç¼è¾å¼¹æ¡--> |
| | | <el-dialog |
| | | title="æ´æ°IFSåºåç©ææ¹æ¬¡å±æ§" |
| | |
| | | import DataWorker from "@/workers/DataWorker.worker.js"; |
| | | import html2canvas from "html2canvas"; |
| | | import { mapGetters } from "vuex"; |
| | | import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue"; |
| | | import { |
| | | getOneByIfsId, |
| | | saveOrUpdateProps, |
| | |
| | | export default { |
| | | name: "Inspection", |
| | | components: { |
| | | viewManHourDia, |
| | | PurchaseVerification, |
| | | AddUnPass, |
| | | limsTable, |
| | |
| | | dataGetDia: false, |
| | | fileAdd: false, |
| | | sampleVisible: false, |
| | | taskVisible: false, |
| | | submitLoading: false, |
| | | searchForm: { |
| | | sampleName: null, |
| | |
| | | } |
| | | } |
| | | }, |
| | | // æ¹åä»»å¡ |
| | | handleChangeTask(row) { |
| | | if (row) this.id = row.id; |
| | | this.taskVisible = false; |
| | | }, |
| | | // åå
¸è·åä¿¡æ¯ |
| | | getTypeDicts() { |
| | | this.getDicts("urgency_level").then((response) => { |
| | |
| | | } else { |
| | | this.$message.error("æªè¾å
¥ä¸éè¿åå "); |
| | | } |
| | | }, |
| | | // æ¥çå·¥æ¶ |
| | | viewManHour() { |
| | | this.$refs.viewManHourDia.showDialog(this.id, 99); |
| | | }, |
| | | openAddVerifyDia() { |
| | | this.addVerifyDia = true; |
| | |
| | | <!-- è¿è´§éªè¯å¼¹æ¡--> |
| | | <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId" |
| | | :purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification> |
| | | <!--æ¥çå·¥æ¶å¼¹æ¡--> |
| | | <viewManHourDia ref="viewManHourDia" @submit="openAddVerifyDia"></viewManHourDia> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import DataWorker from '../../../workers/DataWorker.worker'; |
| | | import html2canvas from "html2canvas"; |
| | | import { mapGetters } from "vuex"; |
| | | import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue"; |
| | | export default { |
| | | name: 'InspectionView', |
| | | components: { |
| | | viewManHourDia, |
| | | PurchaseVerification, |
| | | AddUnPass, |
| | | limsTable, |
| | |
| | | } else { |
| | | this.$message.error("æªè¾å
¥ä¸éè¿åå "); |
| | | } |
| | | }, |
| | | // æ¥çå·¥æ¶ |
| | | viewManHour() { |
| | | this.$refs.viewManHourDia.showDialog(this.id, 99); |
| | | }, |
| | | openAddVerifyDia() { |
| | | this.addVerifyDia = true; |
| | |
| | | this.$set(row, 'sectionCopy', row.section) |
| | | } |
| | | } |
| | | if (row.ask.includes('[')) { |
| | | if (row.ask && row.ask.includes('[')) { |
| | | this.$set(row, 'askCopy', row.ask) |
| | | } |
| | | if (row.tell.includes('[')) { |
| | | if (row.tell && row.tell.includes('[')) { |
| | | this.$set(row, 'tellCopy', row.tell) |
| | | } |
| | | let arr = this.productList.filter(m=>m.state==1&&row.sectionCopy&&row.sectionCopy.includes(m.sectionCopy)&&m.ask&&m.sectionCopy.indexOf('[')==-1) |
| | |
| | | this.$set(p, 'sectionCopy', p.section) |
| | | } |
| | | } |
| | | if (p.ask.includes('[')) { |
| | | if (p.ask && p.ask.includes('[')) { |
| | | this.$set(p, 'askCopy', p.ask) |
| | | } |
| | | if (p.tell.includes('[')) { |
| | | if (p.tell && p.tell.includes('[')) { |
| | | this.$set(p, 'tellCopy', p.tell) |
| | | } |
| | | if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.sectionCopy !== undefined && p.state === 1) { |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸åæ¶é´" prop="date" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more"> |
| | | <el-date-picker v-model="entity.date" end-placeholder="ç»ææ¥æ" format="yyyy-MM-dd" placeholder="éæ©æ¥æ" |
| | | @change="goSearch" range-separator="è³" size="small" start-placeholder="å¼å§æ¥æ" type="daterange" |
| | | value-format="yyyy-MM-dd"> |
| | | <el-date-picker v-model="entity.date" end-placeholder="ç»ææ¥æ" format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©æ¥æ" |
| | | @change="goSearch" range-separator="è³" size="small" start-placeholder="å¼å§æ¥æ" type="datetimerange" |
| | | :default-time="['00:00:00', '23:59:59']" |
| | | value-format="yyyy-MM-dd HH:mm:ss"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | |
| | | <!--å¾
ä¸å--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0" @pagination="pagination" |
| | | ref="tableData" :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'" key="tableData" :page="page" |
| | | ref="tableData" :rowClassName="changeRowClass" :height="50" :more="more" key="tableData" :page="page" |
| | | :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <!--æ£éªä¸--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 1" :isSelection="true" |
| | | :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination1" |
| | | :height="'calc(100vh - 290px)'" key="tableData1" :page="page1" :tableLoading="tableLoading1"></lims-table> |
| | | :height="50" :more="more" key="tableData1" :page="page1" :tableLoading="tableLoading1"></lims-table> |
| | | </div> |
| | | <!--å·²æ£éª--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData2" :column="column2" v-if="tabIndex === 2" :isSelection="true" |
| | | :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination2" |
| | | :height="'calc(100vh - 290px)'" key="tableData2" :page="page2" :tableLoading="tableLoading2"></lims-table> |
| | | :height="50" :more="more" key="tableData2" :page="page2" :tableLoading="tableLoading2"></lims-table> |
| | | </div> |
| | | <!--å
¨é¨--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData3" :column="column3" v-if="tabIndex === 3" :isSelection="true" |
| | | :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination3" |
| | | :height="'calc(100vh - 290px)'" key="tableData3" :page="page3" :tableLoading="tableLoading3"></lims-table> |
| | | :height="50" :more="more" key="tableData3" :page="page3" :tableLoading="tableLoading3"></lims-table> |
| | | </div> |
| | | <!--å£åº¦æ£éª--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData4" :column="column4" v-if="tabIndex === 4" :isSelection="true" |
| | | :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination4" |
| | | :height="'calc(100vh - 290px)'" key="tableData4" :page="page4" :tableLoading="tableLoading4"></lims-table> |
| | | :height="50" :more="more" key="tableData4" :page="page4" :tableLoading="tableLoading4"></lims-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </ul> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | @pagination="pagination" height="500px" key="tableData" |
| | | @pagination="pagination" :height="500" key="tableData" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | </el-dialog> |
| | |
| | | </el-upload> |
| | | </div> |
| | | <div v-if="filesDialogVisible"> |
| | | <lims-table :tableData="tableDataFile" :column="columnFile" @pagination="paginationFile" height="500px" |
| | | <lims-table :tableData="tableDataFile" :column="columnFile" @pagination="paginationFile" :height="500" |
| | | key="tableDataFile" :page="pageFile" :tableLoading="tableLoadingFile"></lims-table> |
| | | </div> |
| | | </el-dialog> |
| | |
| | | <!--å¾
ä¸å--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0" @pagination="pagination" |
| | | ref="tableData" :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'" key="tableData" :page="page" |
| | | ref="tableData" :rowClassName="changeRowClass" :height="50" :more="more" key="tableData" :page="page" |
| | | :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <!--æ£éªä¸--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 1" :isSelection="true" |
| | | :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination1" |
| | | :height="'calc(100vh - 290px)'" key="tableData1" :page="page1" :tableLoading="tableLoading1"></lims-table> |
| | | :height="50" :more="more" key="tableData1" :page="page1" :tableLoading="tableLoading1"></lims-table> |
| | | </div> |
| | | <!--å·²æ£éª--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData2" :column="column2" v-if="tabIndex === 2" :isSelection="true" |
| | | :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination2" |
| | | :height="'calc(100vh - 290px)'" key="tableData2" :page="page2" :tableLoading="tableLoading2"></lims-table> |
| | | :height="50" :more="more" key="tableData2" :page="page2" :tableLoading="tableLoading2"></lims-table> |
| | | </div> |
| | | <!--å
¨é¨--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData3" :column="column3" v-if="tabIndex === 3" :isSelection="true" |
| | | :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination3" |
| | | :height="'calc(100vh - 290px)'" key="tableData3" :page="page3" :tableLoading="tableLoading3"></lims-table> |
| | | :height="50" :more="more" key="tableData3" :page="page3" :tableLoading="tableLoading3"></lims-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <el-input v-model="specialStandardMethod" :disabled="!isSpecial" clearable size="small"></el-input> |
| | | <el-button v-show="active==1" size="small" style="margin-left: 10px" |
| | | type="primary" @click="editSpecial">ç¼è¾</el-button> |
| | | <el-button v-show="active==1" size="small" type="primary" @click="handleSplitCountNum">æå</el-button> |
| | | <el-button v-show="active==1" :disabled="sampleList.length<=1" size="small" type="danger" @click="handleDeleteSplitCountNum">å 餿å</el-button> |
| | | </div> |
| | | </div> |
| | | <el-table ref="sampleTable" :data="sampleList" border class="el-table sampleTable" highlight-current-row |
| | |
| | | <el-table-column align="center" label="åºå·" type="index" width="65"></el-table-column> |
| | | <el-table-column align="center" label="æ ·ååç§°" min-width="100" prop="sample"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.sample" :disabled="active>1" clearable size="small"></el-input> |
| | | <el-input v-model="scope.row.sample" :disabled="active>1 || scope.$index !== 0" clearable size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="æ ·åç¼å·" min-width="100" prop="sampleCode"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.sampleCode" :disabled="active>1" clearable placeholder="ä¸å¡«ååç³»ç»èªå¨çæ" |
| | | <el-input v-model="scope.row.sampleCode" :disabled="active>1 || scope.$index !== 0" clearable placeholder="ä¸å¡«ååç³»ç»èªå¨çæ" |
| | | size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="æ ·ååå·" min-width="60" prop="model"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.model" :disabled="active>1" allow-create default-first-option filterable |
| | | <el-select v-model="scope.row.model" :disabled="active>1 || scope.$index !== 0" allow-create default-first-option filterable |
| | | placeholder="æ ·ååå·" size="small" style="width: 100%;" @change="handleChangeModel"> |
| | | <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | |
| | | <el-table-column align="center" label="æ£éªæ å" min-width="100" prop="standardMethodListId"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1" |
| | | :loading="methodLoad" :readonly="active>1" clearable placeholder="æ£éªæ å" |
| | | :loading="methodLoad" :readonly="active>1 || scope.$index !== 0" clearable placeholder="æ£éªæ å" |
| | | size="small" style="width: 100%;" @change="(value)=>methodChange(value, scope.row)" @clear="productList = []" @focus="methodFocus"> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | |
| | | <el-table-column label="åºé´" min-width="120" prop="section" show-overflow-tooltip></el-table-column> |
| | | <el-table-column :filter-method="filterHandler" :filters="filters" label="åå®éªå®¤" min-width="130" prop="sonLaboratory" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column v-if="isSpecial&&active==1" label="æä½" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-if="!scope.row.repetitionTag" size="small" type="text" @click="addProductList(productList,scope.row,scope.$index)">æå
¥è¡</el-button> |
| | | <el-button v-if="!!scope.row.repetitionTag&&scope.row.delete" size="small" type="text" @click="deleteProductList(scope.$index,productList)">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column v-if="isSpecial&&active==1" label="æä½" width="100">--> |
| | | <!-- <template slot-scope="scope">--> |
| | | <!-- <el-button v-if="!scope.row.repetitionTag" size="small" type="text" @click="addProductList(productList,scope.row,scope.$index)">æå
¥è¡</el-button>--> |
| | | <!-- <el-button v-if="!!scope.row.repetitionTag&&scope.row.delete" size="small" type="text" @click="deleteProductList(scope.$index,productList)">å é¤</el-button>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | |
| | | <div v-if="selectUserDia" class="body"> |
| | | <lims-table :tableData="tableData1" :column="column1" |
| | | :isSelection="true" :handleSelectionChange="selectMethod" |
| | | @pagination="pagination1" height="400px" key="tableData1" |
| | | @pagination="pagination1" :height="400" key="tableData1" |
| | | :page="page1" :tableLoading="tableLoading1"></lims-table> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | this.getInfo(); |
| | | }, |
| | | methods: { |
| | | // æå |
| | | handleSplitCountNum () { |
| | | if(!this.sampleList || this.sampleList.length===0){ |
| | | this.$message.error("请å
éæ©æ ·å") |
| | | return |
| | | } |
| | | this.sample.joinName = null |
| | | this.sample.joinModel = null |
| | | this.sample.joinNum = 1 |
| | | // ä¸¤æ¡æ°æ®ä¿æä¸è´ |
| | | this.sample.sample = this.sampleList[0].sample |
| | | this.sample.model = this.sampleList[0].model |
| | | this.sample.unit = this.sampleList[0].unit |
| | | this.sample.modelNum = this.sampleList[0].modelNum |
| | | this.sample.standardMethodListId = this.sampleList[0].standardMethodListId |
| | | this.sample.insProduct = this.sampleList[0].insProduct |
| | | this.sample.id = this.count |
| | | this.sample.childSampleList = this.sampleList[0].childSampleList |
| | | this.sample.insulating = null |
| | | this.sample.sheath = null |
| | | this.sampleList.push(this.HaveJson(this.sample)) |
| | | this.sampleList.forEach(item => { |
| | | item.quantity = 1 |
| | | }) |
| | | this.count++ |
| | | }, |
| | | //å 餿åè¡ |
| | | handleDeleteSplitCountNum(){ |
| | | this.count--; |
| | | this.sampleList.pop() |
| | | }, |
| | | getInfo() { |
| | | this.selectStandardTreeList() |
| | | this.getAuthorizedPerson(); |
| | |
| | | }, |
| | | changeProductList0(){ |
| | | this.productList0.forEach(a=>{ |
| | | let obj = this.productList.find(m => { |
| | | if(a.repetitionTag){ |
| | | return m.id === a.id&&m.repetitionTag == a.repetitionTag |
| | | }else{ |
| | | return m.id === a.id&&!m.repetitionTag |
| | | } |
| | | }) |
| | | |
| | | // let obj = this.productList.find(m => { |
| | | // if(a.repetitionTag){ |
| | | // return m.id === a.id&&m.repetitionTag == a.repetitionTag |
| | | // }else{ |
| | | // return m.id === a.id&&!m.repetitionTag |
| | | // } |
| | | // }) |
| | | let obj = this.productList.find(m => m.id == a.id) |
| | | if(obj){ |
| | | a.state = obj.state |
| | | a.section = obj.section |
| | |
| | | this.$set(row, 'sectionCopy', row.section) |
| | | } |
| | | } |
| | | if (row.ask.includes('[')) { |
| | | if (row.ask && row.ask.includes('[')) { |
| | | this.$set(row, 'askCopy', row.ask) |
| | | } |
| | | if (row.tell.includes('[')) { |
| | | if (row.tell && row.tell.includes('[')) { |
| | | this.$set(row, 'tellCopy', row.tell) |
| | | } |
| | | let arr = this.productList.filter(m=>m.state==1&&row.sectionCopy&&row.sectionCopy.includes(m.sectionCopy)&&m.ask&&m.sectionCopy.indexOf('[')==-1) |
| | |
| | | }, |
| | | // è¦æ±å¼ååæ¶ |
| | | requestChange(e, row,type) { |
| | | //this.currentMethod å½åæ ·åid |
| | | this.sampleList.forEach(item=>{ |
| | | if(item.id == this.currentMethod.id){ |
| | | item.insProduct.forEach(i=>{ |
| | | if(i.id == row.id){ |
| | | if(row.repetitionTag){ |
| | | if(row.repetitionTag==i.repetitionTag){ |
| | | i[type] = e |
| | | } |
| | | }else{ |
| | | if(!i.repetitionTag){ |
| | | i[type] = e |
| | | } |
| | | } |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | if (m.id == row.id) { |
| | | m[type] = e; |
| | | } |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | //this.currentMethod å½åæ ·åid |
| | | // this.sampleList.forEach(item=>{ |
| | | // if(item.id == this.currentMethod.id){ |
| | | // item.insProduct.forEach(i=>{ |
| | | // if(i.id == row.id){ |
| | | // if(row.repetitionTag){ |
| | | // if(row.repetitionTag==i.repetitionTag){ |
| | | // i[type] = e |
| | | // } |
| | | // }else{ |
| | | // if(!i.repetitionTag){ |
| | | // i[type] = e |
| | | // } |
| | | // } |
| | | // } |
| | | // }) |
| | | // } |
| | | // }) |
| | | }, |
| | | selectStandardMethods() { |
| | | selectStandardMethodEnum().then(res => { |
| | |
| | | } |
| | | }, |
| | | selectable0(row,index) { |
| | | if (this.active > 1||row.repetitionTag) { |
| | | // if (this.active > 1||row.repetitionTag) { |
| | | // return false |
| | | // } else { |
| | | // return true |
| | | // } |
| | | if (this.active > 1) { |
| | | return false |
| | | } else { |
| | | return true |
| | |
| | | this.$set(p, 'sectionCopy', p.section) |
| | | } |
| | | } |
| | | if (p.ask.includes('[')) { |
| | | if (p.ask && p.ask.includes('[')) { |
| | | this.$set(p, 'askCopy', p.ask) |
| | | } |
| | | if (p.tell.includes('[')) { |
| | | if (p.tell && p.tell.includes('[')) { |
| | | this.$set(p, 'tellCopy', p.tell) |
| | | } |
| | | // if (p.manHour.includes('[')) { |
| | | // this.$set(p, 'manHourCopy', p.manHour) |
| | | // } |
| | | // if (p.price.includes('[')) { |
| | | // this.$set(p, 'priceCopy', p.price) |
| | | // } |
| | | if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.sectionCopy !== undefined && p.state === 1) { |
| | | if (p.sectionCopy.indexOf('[') > -1) { |
| | | p.bsmRow = this.HaveJson(p) |
| | |
| | | return item |
| | | }) |
| | | } |
| | | this.productList.forEach(item => { |
| | | if (item.id == row.id) { |
| | | item.state = row.state; |
| | | } |
| | | }) |
| | | this.changeProductList0() |
| | | this.currentMethod.insProduct = this.productList0 |
| | | this.getProNum() |
| | |
| | | <div v-if="selectUserDia" class="body"> |
| | | <lims-table :tableData="tableData1" :column="column1" |
| | | :isSelection="true" :handleSelectionChange="selectMethod" |
| | | @pagination="pagination1" height="400px" key="tableData1" |
| | | @pagination="pagination1" :height="400" key="tableData1" |
| | | :page="page1" :tableLoading="tableLoading1"></lims-table> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :isSelection="true" :handleSelectionChange="selectMethod" |
| | | @pagination="pagination" :height="'calc(100vh - 280px)'" :key="upIndex" :page="page" |
| | | @pagination="pagination" :height="50" :more="more" :key="upIndex" :page="page" |
| | | :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | </div> |
| | |
| | | </ul> |
| | | <!--å£åº¦--> |
| | | <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0" @pagination="pagination" |
| | | :height="'calc(100vh - 290px)'" :page="page" :tableLoading="tableLoading"></lims-table> |
| | | :height="50" :page="page" :tableLoading="tableLoading"></lims-table> |
| | | <!--年度--> |
| | | <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 1" @pagination="pagination1" |
| | | :height="'calc(100vh - 290px)'" key="tableData1" :page="page1" :tableLoading="tableLoading1"></lims-table> |
| | | :height="50" key="tableData1" :page="page1" :tableLoading="tableLoading1"></lims-table> |
| | | </div> |
| | | </div> |
| | | <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="yearSampleDia" title="å¹´åº¦æ½æ ·" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸åæ¶é´" prop="date" v-if="(tabIndex === 3 || tabIndex === 4) && more"> |
| | | <el-date-picker v-model="componentData.date" end-placeholder="ç»ææ¥æ" format="yyyy-MM-dd" placeholder="éæ©æ¥æ" |
| | | range-separator="è³" size="small" start-placeholder="å¼å§æ¥æ" style="width: 100%;" type="daterange" @change="refreshTable()" |
| | | value-format="yyyy-MM-dd"> |
| | | <el-date-picker v-model="componentData.date" end-placeholder="ç»ææ¥æ" format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©æ¥æ" |
| | | range-separator="è³" size="small" start-placeholder="å¼å§æ¥æ" style="width: 100%;" type="datetimerange" @change="refreshTable()" |
| | | :default-time="['00:00:00','23:59:59']" |
| | | value-format="yyyy-MM-dd HH:mm:ss"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="å§æç¼å·" prop="entrustCode" v-if="(tabIndex === 3 || tabIndex === 4) && more"> |
| | |
| | | <!--å¾
æ¥æ£ãå¾
ä¸å--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0 || tabIndex === 1" :isSelection="true" |
| | | :handleSelectionChange="selectMethod" @pagination="pagination" :height="'calc(100vh - 290px)'" :page="page" |
| | | :handleSelectionChange="selectMethod" @pagination="pagination" :height="50" :more="more" :page="page" |
| | | :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <!--已宿ãå
¨é¨--> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 3 || tabIndex === 4" |
| | | @pagination="pagination1" :height="'calc(100vh - 290px)'" :page="page1" |
| | | @pagination="pagination1" :page="page1" :height="50" :more="more" |
| | | :tableLoading="tableLoading1"></lims-table> |
| | | </div> |
| | | </div> |
| | |
| | | import { getDicts } from "@/api/system/dict/data"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import {transformExcel} from '@/utils/file' |
| | | import tab from "../../../plugins/tab"; |
| | | |
| | | export default { |
| | | name: 'RawMaterialInspection', |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { limsTable, DataLookVisible }, |
| | | computed:{ |
| | | tab() { |
| | | return tab |
| | | }, |
| | | splitOrderAction(){ |
| | | return this.javaApi + '/rawMaterialOrder/importSplitOrderData' |
| | | } |
| | |
| | | </div> |
| | | <div> |
| | | <lims-table highlightCurrentRow :tableData="valueTableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :isSelection="true" :handleSelectionChange="handleChange" :height="'calc(100vh - 320px)'" |
| | | :isSelection="true" :handleSelectionChange="handleChange" :height="38" :more="true" |
| | | @pagination="pagination" key="valueTableData"> |
| | | <div slot="action" slot-scope="scope"> |
| | | <el-button size="small" type="text" @click="viewIssued(scope.row)">æ¥çæ¥å</el-button> |
| | |
| | | <el-button type="primary" size="mini" @click="refreshTable">æ¥è¯¢</el-button> |
| | | <el-button size="mini" @click="refresh">éç½®</el-button> |
| | | <el-button :loading="exportLoading" type="success" size="mini" @click="exportUnqualifiedHandler">导åº</el-button> |
| | | <el-button type="primary" size="mini" @click="openInsOrderDialog">æ°å¢ä¸åæ ¼å¤ç</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | :more="true" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <el-dialog |
| | |
| | | <el-button type="primary" @click="cancelOA" :loading="cancelOALoading">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="éæ©ä¸åæ ¼è®¢å" |
| | | :show-close="false" |
| | | :close-on-press-escape="false" |
| | | :close-on-click-modal="false" |
| | | :visible.sync="insOrderVisible" |
| | | width="50%"> |
| | | <el-row :gutter="20" style="margin-bottom:10px"> |
| | | <el-col :span="12"> |
| | | <el-input clearable size="small" v-model="lotBatchNo" placeholder="请è¾å
¥æ¹æ¬¡å·"></el-input> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-button size="small" type="primary" @click="searchInsOrderList">æç´¢</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <lims-table ref="insOrderTable" |
| | | :tableData="insOrderDataList" |
| | | :column="insOrderTableDataColumn" |
| | | :isSelection="true" |
| | | :selectionSelectable="insOrderSelectable" |
| | | :handleSelectionChange="selectMethod" |
| | | :rowClassName="insOrderRowClassName" |
| | | @pagination="insOrderPageination" |
| | | height="400px" |
| | | :page="insOrderPage" |
| | | :tableLoading="insOrderTableLoading"> |
| | | </lims-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="resetInsOrderForm">å æ¶</el-button> |
| | | <el-button type="primary" @click="openAddUnqualifiedHandlerView">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <UnPassDialog ref="unPassDialog" v-if="unPassDialog" |
| | | :orderId="orderId" |
| | | @resetForm="resetForm1" |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import {getIfsByAll} from "@/api/business/rawMaterialOrder"; |
| | | import UnPassDialog from "./components/unPassDialog.vue"; |
| | | import OAProcess from "./components/OAProcess.vue"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | |
| | | dicts: ['material_prop_type','oa_workflow_state'], |
| | | data() { |
| | | return { |
| | | lotBatchNo:null, |
| | | insOrderVisible:false, |
| | | insOrderTableLoading:false, |
| | | insOrderDataList:[], |
| | | insOrderTableDataColumn:[ |
| | | { |
| | | label: 'IFSå', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: 'å§æç¼å·', prop: 'entrustCode', width: "160px", }, |
| | | { |
| | | dataType: 'tag', |
| | | label: 'æ£éªç¶æ', |
| | | prop: 'inspectStatus', |
| | | formatData: (params) => { |
| | | if (params == 0) { |
| | | return 'æ£éªä¸' |
| | | } else if (params == 1) { |
| | | return 'åæ ¼' |
| | | } else if (params == 2) { |
| | | return 'ä¸åæ ¼' |
| | | } else if (params == 3) { |
| | | return 'æªä¸å' |
| | | } else if (params == 4) { |
| | | return 'è®©æ¥æ¾è¡' |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 0) { |
| | | return 'warning' |
| | | } else if (params == 1) { |
| | | return 'success' |
| | | } else if (params == 2) { |
| | | return 'danger' |
| | | } else if (params == 3) { |
| | | return 'info' |
| | | } else if (params == 4) { |
| | | return '' |
| | | } else { |
| | | return null |
| | | } |
| | | } |
| | | }, |
| | | { label: '订åå·', prop: 'orderNo' }, |
| | | { label: 'æµè¾¾çéè´æ°é', prop: 'purQtyInStore' ,width:'160' }, |
| | | { label: 'ä¸åæ¶é´', prop: 'sendTime',width:'160' }, |
| | | { label: 'æ¹å·', prop: 'updateBatchNo',width:'160' }, |
| | | { label: 'é¶ä»¶å·', prop: 'partNo',width:'140' }, |
| | | { label: 'é¶ä»¶æè¿°', prop: 'partDesc' }, |
| | | { label: 'ä¾åºååç§°', prop: 'supplierName' }, |
| | | { label: 'ä¸åæ ¼æè¿°', prop: 'unqualifiedDesc',width:'160' }, |
| | | { |
| | | dataType: 'tag', |
| | | label: 'å
æ£', |
| | | prop: 'isExemption', |
| | | formatData: (params) => { |
| | | if (params == 1) { |
| | | return 'å
æ£' |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 1) { |
| | | return 'success' |
| | | } else { |
| | | return null |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | label: 'æ ·ååç§°', |
| | | prop: 'sampleName', |
| | | width: "160px" |
| | | }, |
| | | { label: 'æ ·ååå·', prop: 'sampleModel' }, |
| | | { label: 'æ£éªäºº', prop: 'userName' }, |
| | | { |
| | | label: 'ç©æå±æ§', |
| | | prop: 'materialProp', |
| | | formatData: (params) => { |
| | | if (!params) return null |
| | | |
| | | for (let i = 0; i < this.dict.type.material_prop_type.length; i++) { |
| | | const item = this.dict.type.material_prop_type[i] |
| | | if (item.value == params) { |
| | | return item.label |
| | | } |
| | | } |
| | | return null |
| | | } |
| | | }, |
| | | { |
| | | dataType: 'tag', |
| | | label: 'ç©æç±»å', |
| | | prop: 'isExpire', |
| | | formatData: (params) => { |
| | | if (params == 1) { |
| | | return 'è¿æç©æ' |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 1) { |
| | | return 'info' |
| | | } else { |
| | | return null |
| | | } |
| | | } |
| | | }, |
| | | { label: 'åä½', prop: 'buyUnitMeas' }, |
| | | { label: 'æ¥æ¶æ¶é´', prop: 'receiverDate',width:'160' }, |
| | | { label: 'æ¥æ£æ¶é´', prop: 'declareDate',width:'160' }, |
| | | ], |
| | | insOrderPage:{ |
| | | total: 0, |
| | | size: 20, |
| | | current: 1 |
| | | }, |
| | | handlerId: null, |
| | | contract:null, |
| | | entity: { |
| | |
| | | dataType: "tag", |
| | | formatData: (params) => { |
| | | if (params == 0) { |
| | | return "ç产åé¦ä¸åæ ¼"; |
| | | } else if(params == 1) { |
| | | return "æ£æµä¸åæ ¼"; |
| | | } else if(params == 1) { |
| | | return "ç产åé¦ä¸åæ ¼"; |
| | | } else { |
| | | return null |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | if (params == 0) { |
| | | return "warning"; |
| | | return "danger"; |
| | | } else if(params == 1) { |
| | | return "info"; |
| | | return "warning"; |
| | | } else { |
| | | return "null"; |
| | | } |
| | |
| | | this.refreshTable() |
| | | }, |
| | | methods: { |
| | | getInsOrderRowId(row) { |
| | | if (!row) { |
| | | return '' |
| | | } |
| | | const currentId = row.enterOrderId || row.insOrderId || row.orderId || row.id |
| | | return currentId ? String(currentId) : '' |
| | | }, |
| | | getExistingInsOrderIds() { |
| | | const ids = new Set() |
| | | this.tableData.forEach(row => { |
| | | ['insOrderId'].forEach(key => { |
| | | if (row[key] !== undefined && row[key] !== null && row[key] !== '') { |
| | | ids.add(String(row[key])) |
| | | } |
| | | }) |
| | | }) |
| | | return ids |
| | | }, |
| | | isDisabledInsOrderRow(row) { |
| | | const currentId = this.getInsOrderRowId(row) |
| | | if (!currentId) { |
| | | return false |
| | | } |
| | | return this.getExistingInsOrderIds().has(currentId) |
| | | }, |
| | | insOrderSelectable(row) { |
| | | return !this.isDisabledInsOrderRow(row) |
| | | }, |
| | | insOrderRowClassName({ row }) { |
| | | return this.isDisabledInsOrderRow(row) ? 'disabled-selection-row' : '' |
| | | }, |
| | | resetInsOrderForm(){ |
| | | this.insOrderDataList = [] |
| | | this.lotBatchNo = null |
| | | this.orderId = '' |
| | | this.$nextTick(()=>{ |
| | | this.insOrderVisible = false |
| | | }) |
| | | }, |
| | | openInsOrderDialog(){ |
| | | this.insOrderVisible = true |
| | | }, |
| | | searchInsOrderList(){ |
| | | this.insOrderTableLoading = true |
| | | const params = { |
| | | updateBatchNo: this.lotBatchNo, |
| | | isInspect: 1, |
| | | ...this.insOrderPage |
| | | } |
| | | getIfsByAll(params).then(res => { |
| | | this.insOrderTableLoading = false |
| | | if (res.code === 200) { |
| | | this.insOrderDataList = res.data.records |
| | | this.insOrderPage.total = res.data.total |
| | | } |
| | | }).catch(err => { |
| | | this.insOrderTableLoading = false |
| | | }) |
| | | }, |
| | | insOrderPageination(page){ |
| | | this.insOrderPage.size = page.limit |
| | | this.searchInsOrderList() |
| | | }, |
| | | selectMethod(val){ |
| | | if (!val || val.length === 0) { |
| | | this.orderId = '' |
| | | return |
| | | } |
| | | |
| | | const currentRow = val[val.length - 1] |
| | | this.orderId = this.getInsOrderRowId(currentRow) |
| | | |
| | | if (val.length > 1 && this.$refs.insOrderTable && this.$refs.insOrderTable.$refs.multipleTable) { |
| | | this.$refs.insOrderTable.$refs.multipleTable.clearSelection() |
| | | this.$refs.insOrderTable.$refs.multipleTable.toggleRowSelection(currentRow, true) |
| | | } |
| | | }, |
| | | //æå¼æ°å¢ä¸åæ ¼å¤çå¼¹æ¡ |
| | | openAddUnqualifiedHandlerView(){ |
| | | if(!this.orderId){ |
| | | this.$message.warning("è¯·éæ©ä¸æ¡è®¢åè®°å½") |
| | | return; |
| | | } |
| | | this.insOrderVisible = false |
| | | this.unPassDialog = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.unPassDialog.getInsOrder('add'); |
| | | }); |
| | | }, |
| | | exportUnqualifiedHandler(){ |
| | | this.exportLoading = true |
| | | const newEntity = { ...this.entity } |
| | |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .capacity-scope >>> .disabled-selection-row td { |
| | | background-color: #f5f7fa !important; |
| | | color: #c0c4cc; |
| | | } |
| | | </style> |
| | |
| | | this.levelDictList = response.data; |
| | | }); |
| | | }, |
| | | getTableHeader() { |
| | | listConfig({ isEnable: true }).then((response) => { |
| | | this.tableHeaderList = this.handleTree(response.data, "id"); |
| | | this.scheduleTableLayout() |
| | | }); |
| | | }, |
| | | /** æ¥è¯¢å表 */ |
| | | getList() { |
| | | this.loading = true |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 290px)'" |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="50" |
| | | :page="page" @pagination="pagination"></lims-table> |
| | | </div> |
| | | <!-- æ°å¢/ç¼è¾ --> |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | key="tableData" :height="'calc(100vh - 330px)'" |
| | | key="tableData" :height="90" |
| | | :isSelection="true" v-if="currentTable == 'ValueTable0'" |
| | | @pagination="pagination" :handleSelectionChange="handleSelectionChange"></lims-table> |
| | | <lims-table :tableData="tableData0" :column="column0" :page="page0" :tableLoading="tableLoading" |
| | | key="tableData0" :height="'calc(100vh - 330px)'" |
| | | key="tableData0" :height="90" |
| | | v-if="currentTable == 'ValueTable1'" @pagination="pagination0"></lims-table> |
| | | </div> |
| | | <el-dialog :before-close="handleClose" :title="formData.id ? 'ç¼è¾' : 'å½å
¥æ°æ®'" :visible.sync="addVisible" |
| | |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <!-- <limsTable--> |
| | | <!-- :column="tableColumn"--> |
| | | <!-- :table-data="tableData"--> |
| | | <!-- :table-loading="tableLoading"--> |
| | | <!-- :page="page"--> |
| | | <!-- :height="'calc(100vh - 290px)'"--> |
| | | <!-- @pagination="pagination"--> |
| | | <!-- >--> |
| | | <!-- </limsTable>--> |
| | | <el-table |
| | | :data="tableData" |
| | | v-loading="tableLoading" |
| | |
| | | }" |
| | | :cell-style="{ textAlign: 'center' }" |
| | | border |
| | | height="66.5vh" |
| | | :height="'calc( 100vh - 240px)'" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column label="åºå·" type="index" width="80"></el-table-column> |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="åå·¥å§å" prop="userId"> |
| | | <el-select |
| | | :disabled="form.id == null" |
| | | :disabled="form.id && form.id+''!==''" |
| | | v-model="form.userId" |
| | | placeholder="è¯·éæ©åå·¥å§å" |
| | | size="small" |
| | |
| | | const index = this.responsibleOptions.findIndex( |
| | | (item) => item.id === val |
| | | ); |
| | | console.log(val, index); |
| | | if (index > -1) { |
| | | this.form.userName = this.responsibleOptions[index].name; |
| | | this.form.account = this.responsibleOptions[index].account; |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 250px)'" @pagination="pagination"></lims-table> |
| | | @pagination="pagination"></lims-table> |
| | | <el-dialog :before-close="isClose" :close-on-click-modal="false" :close-on-press-escape="false" |
| | | :visible.sync="isShow" title="模æ¿ç¼å¶" width="85%"> |
| | | <div v-if="isShow" style="width: 100%; height: 82vh; overflow: auto"> |
| | |
| | | <div class="app-container"> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | :height="'calc(100vh - 500px)'" @pagination="pagination" |
| | | @pagination="pagination" |
| | | :rowClick="rowClick" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | |
| | | <el-button size="small" type="primary" @click="openShowData">æ¥çæ°æ®åæ</el-button> |
| | | </div> |
| | | <lims-table :tableData="editTableData" :column="editColumn" |
| | | height="400" key="tableData" :isSelection="true" |
| | | :height="400" key="tableData" :isSelection="true" |
| | | :handleSelectionChange="handleSelectionChange" |
| | | :tableLoading="editLoading"></lims-table> |
| | | </div> |
| | |
| | | </el-button> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="tableColumn" :tableLoading="tableLoading" |
| | | :height="'calc(40vh - 40px)'" :show-summary="true" :summary-method="getSummaries"></lims-table> |
| | | :height="550" :show-summary="true" :summary-method="getSummaries"></lims-table> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <!-- æ£éªé¡¹ç®åæ°è¡¨æ ¼--> |
| | | <div class="table" v-if="radio===0"> |
| | | <lims-table :tableData="tableData" :column="column" key="tableData" |
| | | @pagination="pagination" :height="'calc(100vh - 290px)'" |
| | | @pagination="pagination" :height="50" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <!-- æ£éªå¯¹è±¡è¡¨æ ¼--> |
| | | <div class="table" v-if="radio===1"> |
| | | <lims-table :tableData="testObjectTableData" :column="testObjectColumn" key="testObjectTableData" |
| | | @pagination="pagination" :height="'calc(100vh - 290px)'" |
| | | @pagination="pagination" :height="50" |
| | | :page="testObjectPage" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div v-if="radio === 0"> |
| | | <lims-table :tableData="tableData" :column="column" :isSelection="true" |
| | | :handleSelectionChange="handleSelectionChange" @pagination="pagination" :height="'calc(100vh - 300px)'" |
| | | :handleSelectionChange="handleSelectionChange" @pagination="pagination" :height="50" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | <div class="table" v-if="radio === 1" v-loading="pageLoading" @scroll="scrollFn"> |
| | |
| | | <lims-table |
| | | :tableData="tableData" |
| | | :column="column" |
| | | :height="'calc(100vh - 250px)'" |
| | | @pagination="pagination" |
| | | :page="page" |
| | | :tableLoading="tableLoading" |