| | |
| | | .view-self-checkbox { |
| | | margin-left: 50px; |
| | | } |
| | | .draggable-row { |
| | | cursor: move; |
| | | position: relative; |
| | | } |
| | | </style> |
| | | <style> |
| | | .ins-order-plan-main .el-form-item__label{ |
| | |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan" |
| | | <!-- <ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan" |
| | | :isColumnWidth="true" |
| | | :url="$api.insOrderPlan.selectInsOrderPlanList" :upUrl="$api.user.updateUser" :componentData="componentData" @handleInspection="handleInspection" |
| | | :key="upIndex"/> |
| | | :key="upIndex"/> --> |
| | | <el-table |
| | | :data="tableData" |
| | | ref="table" |
| | | border |
| | | style="width: 100%;" |
| | | height="calc(100% - 80px)" |
| | | :row-class-name="rowClassName" |
| | | v-loading="tableLoading" |
| | | > |
| | | <el-table-column |
| | | prop="entrustCode" |
| | | label="委托编号" |
| | | width="140px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button @click="selectAllByOne(scope.row)" type="text" size="small">{{ scope.row.entrustCode }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="sample" |
| | | label="样品名称" |
| | | width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="type" |
| | | label="紧急程度" |
| | | width="100px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tag :type="typeList.find(m=>m.value==scope.row.type).type" size="small">{{ typeList.find(m=>m.value==scope.row.type).label }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="insState" |
| | | label="状态" |
| | | width="100px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tag :type="typeList.find(m=>m.value==scope.row.insState).type" size="small">{{ typeList.find(m=>m.value==scope.row.insState).label }}</el-tag> |
| | | </template></el-table-column> |
| | | <el-table-column |
| | | prop="userName" |
| | | label="检验人" |
| | | width="140px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="checkName" |
| | | label="复核人" |
| | | width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="appointed" |
| | | label="约定时间" |
| | | width="120px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="sendTime" |
| | | label="下发时间" |
| | | width="160px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="insTime" |
| | | label="检验开始时间" |
| | | width="160px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="verifyTell" |
| | | label="理由" |
| | | width="150px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | align="center" label="操作" |
| | | width="250px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button @click="handleDataLook(scope.row)" type="text" size="small">数据查看</el-button> |
| | | <el-button @click="handleInspection(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5||scope.row.insState == 6||(scope.row.userName&&!scope.row.userName.includes(userName))">检验</el-button> |
| | | <el-button @click="handleConnect(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState == 5 || scope.row.insState == 3||scope.row.insState == 6||(scope.row.userName&&!scope.row.userName.includes(userName))">交接</el-button> |
| | | <el-button @click="handleReview(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState != 3 ||(scope.row.checkName&&!scope.row.checkName.includes(userName))">复核</el-button> |
| | | <el-button @click="claimFun(scope.row)" type="text" size="small" :disabled="scope.row.userName != null || scope.row.checkName!=null">认领</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="display: flex;justify-content: flex-end;width: 100%;margin-top: 10px;"> |
| | | <span></span> |
| | | <el-pagination @size-change="refreshTable" @current-change="refreshTable" :current-page="page.current" |
| | | :page-sizes="[10, 20, 30, 50, 100]" :page-size="page.size" layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="提示" :visible.sync="claimVisible" width="400px"> |
| | |
| | | getYearAndMonthAndDays |
| | | } from '../../util/date' |
| | | import Add from '../do/b1-ins-order/add.vue' |
| | | import { CellGroup } from 'iview' |
| | | import Sortable from 'sortablejs'; |
| | | export default { |
| | | components: { |
| | | ValueTable, |
| | |
| | | insState: null, |
| | | userId: null |
| | | }, |
| | | sortable:true, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | userName:JSON.parse(localStorage.getItem("user")).name, |
| | | upIndex: 0, |
| | | planTotal: 0, |
| | | insStateList: [], |
| | |
| | | }, |
| | | loading:false, |
| | | currentTime: null, |
| | | sonLaboratoryList:[] |
| | | sonLaboratoryList:[], |
| | | tableData: [], |
| | | page:{ |
| | | current:1, |
| | | size:20, |
| | | }, |
| | | total:0, |
| | | tableLoading:false, |
| | | jumpTeam:false, |
| | | insResultList:[{ |
| | | value: 0, |
| | | label: '不合格', |
| | | type: 'danger' |
| | | },{ |
| | | value: 1, |
| | | label: '合格', |
| | | type: 'success' |
| | | },{ |
| | | value: '', |
| | | label: '未出结果', |
| | | type: 'info' |
| | | }], |
| | | typeList:[] |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity) |
| | | this.getPower() |
| | | if(this.jumpTeam){ |
| | | this.initializeSortable(); |
| | | } |
| | | }, |
| | | methods: { |
| | | initializeSortable() { |
| | | const tableBody = this.$refs.table.$el.querySelector('.el-table__body-wrapper > table > tbody'); |
| | | |
| | | if (tableBody) { |
| | | Sortable.create(tableBody, { |
| | | handle: '.el-table__row', // 拖动手柄 |
| | | animation: 150, |
| | | onEnd: this.handleSortEnd, |
| | | }); |
| | | } else { |
| | | console.error('Table body not found.'); |
| | | } |
| | | }, |
| | | handleSortEnd(evt) { |
| | | const oldIndex = evt.oldIndex; |
| | | const newIndex = evt.newIndex; |
| | | const movedItem = this.tableData[oldIndex]; |
| | | this.$axios.post(this.$api.insOrderPlan.jumpTeam, |
| | | { |
| | | id: movedItem.id, |
| | | sort: newIndex+1, |
| | | ...this.page |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | } |
| | | ).then(res => {}) |
| | | }, |
| | | rowClassName({ row, rowIndex }) { |
| | | return 'draggable-row'; |
| | | }, |
| | | // 数据查看 |
| | | handleDataLook(row) { |
| | | this.componentDataDataLook.entity.id = row.id |
| | |
| | | let connect = false |
| | | let review = false |
| | | let claim = false |
| | | let jumpTeam = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'doInsOrder') { |
| | | inspection = true |
| | |
| | | } |
| | | if (power[i].menuMethod == 'claimInsOrderPlan') { |
| | | claim = true |
| | | } |
| | | if (power[i].menuMethod == 'jumpTeam') { |
| | | jumpTeam = true |
| | | } |
| | | } |
| | | if (!claim) { |
| | |
| | | if (!inspection) { |
| | | this.componentData.do.splice(0, 1) |
| | | } |
| | | this.jumpTeam = jumpTeam |
| | | }, |
| | | changeCheckBox(val) { |
| | | this.componentData.entity.userId = val?0:null |
| | |
| | | this.loading = false; |
| | | }) |
| | | }, |
| | | refreshTable(e) { |
| | | this.$refs.insOrderPlan.selectList(e) |
| | | refreshTable() { |
| | | this.tableLoading = true |
| | | this.$axios.post(this.$api.insOrderPlan.selectInsOrderPlanList,{ |
| | | entity:this.componentData.entity, |
| | | page:this.page |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then((res) => { |
| | | this.tableLoading = false |
| | | this.total = res.data.body.total |
| | | this.tableData = res.data.body.records |
| | | }) |
| | | }, |
| | | changeRowClass({ |
| | | row, |
| | |
| | | } |
| | | }) |
| | | this.componentData.tagField.type.select = data |
| | | this.typeList = data |
| | | }) |
| | | }, |
| | | getInsStateDicts() { |