| | |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // æ£éªé¡¹åé
人å |
| | | export function batchUpdateInsProductCheckUser(query) { |
| | | return request({ |
| | | url: "/insOrder/batchUpdateInsProductCheckUser", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | |
| | | { label: "æå±é¨é¨", prop: "laboratoryName" }, |
| | | { label: "æ£éªé¡¹ç®", prop: "insProductItem" }, |
| | | { label: "æ ¡åæå¡æºæ", prop: "calibrationServices" }, |
| | | { label: "æè¿æ ¡åæ¥æ", prop: "lastCalibrationDateTwo" }, |
| | | { label: "æè¿æ ¸æ¥æ¥æ", prop: "lastCalibrationDate" }, |
| | | { label: "䏿¬¡æ ¡åæ¥æ", prop: "nextCalibrationDateTwo" }, |
| | | { label: "䏿¬¡æ ¸æ¥æ¥æ", prop: "nextCalibrationDate" }, |
| | | { label: "æè¿æ ¡åæ¥æ", prop: "lastCalibrationDate" }, |
| | | { label: "æè¿æ ¸æ¥æ¥æ", prop: "lastCalibrationDateTwo" }, |
| | | { label: "䏿¬¡æ ¡åæ¥æ", prop: "nextCalibrationDate" }, |
| | | { label: "䏿¬¡æ ¸æ¥æ¥æ", prop: "nextCalibrationDateTwo" }, |
| | | { |
| | | label: "设å¤åç±»", prop: "largeCategory", dataType: "tag", |
| | | formatData: (params) => { |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog |
| | | :visible.sync="editInspectionDia" |
| | | title="ä¿®æ¹æ£éªé¡¹" |
| | | width="80%" |
| | | @close="editInspectionDia = false" |
| | | > |
| | | <el-dialog :visible.sync="editInspectionDia" title="ä¿®æ¹æ£éªé¡¹" width="80%" @close="editInspectionDia = false"> |
| | | <div> |
| | | <el-form :model="entity" :inline="true"> |
| | | <el-form-item label="æ£éªé¡¹" prop="outputWorkTime"> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <lims-table |
| | | :column="editColumn" |
| | | :table-data="editTableData" |
| | | :table-loading="editLoading" |
| | | :page="page" |
| | | height="560" |
| | | @pagination="pagination" |
| | | > |
| | | <lims-table :column="editColumn" :table-data="editTableData" :table-loading="editLoading" :page="page" |
| | | height="560" @pagination="pagination"> |
| | | </lims-table> |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="editAskDia" title="ä¿®æ¹" width="50%"> |
| | |
| | | <el-input v-model="editForm.tell" type="textarea"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªå¼ç±»å"> |
| | | <el-select |
| | | v-model="editForm.inspectionValueType" |
| | | clearable |
| | | placeholder="è¯·éæ©" |
| | | size="small" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="dict in inspectionValueType" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | <el-select v-model="editForm.inspectionValueType" clearable placeholder="è¯·éæ©" size="small" |
| | | style="width: 100%"> |
| | | <el-option v-for="dict in inspectionValueType" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="editAskDia = false">å æ¶</el-button> |
| | | <el-button |
| | | :loading="handleEditLoading" |
| | | type="primary" |
| | | @click="handleEdit" |
| | | >ç¡® å®</el-button |
| | | > |
| | | <el-button :loading="handleEditLoading" type="primary" @click="handleEdit">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | minWidth: "120px", |
| | | prop: "model", |
| | | }, |
| | | { label: "æ£éªäºº", prop: "checkUserName" }, |
| | | { |
| | | dataType: "action", |
| | | width: "80px", |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination" |
| | | key="tableData0"> |
| | | :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @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" |
| | |
| | | scope.row.insState == 3 || |
| | | scope.row.insState == 5 || |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)) |
| | | )" |
| | | @click="handleInspection(scope.row)">æ£éª</el-button> |
| | | )" @click="handleInspection(scope.row)">æ£éª</el-button> |
| | | <el-button type="text" size="small" :disabled="( |
| | | scope.row.userName == null || |
| | | scope.row.insState == 5 || |
| | | scope.row.insState == 3 || |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)) |
| | | )" |
| | | @click="handleConnect(scope.row)">交æ¥</el-button> |
| | | )" @click="handleConnect(scope.row)">交æ¥</el-button> |
| | | <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">åå§è®°å½</el-button> |
| | | <el-popover placement="bottom" trigger="hover" style="margin-left: 6px"> |
| | | <template #reference> |
| | |
| | | </template> |
| | | <div> |
| | | <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null || |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px" type="text" size="small" @click="download(scope.row)">ä¸è½½æ¥å</el-button> |
| | | <el-upload ref='upload' |
| | | :action="javaApi + '/insReport/inReport'" |
| | | :before-upload="beforeUpload" |
| | | :data="{id: scope.row.insReportId}" |
| | | :headers="uploadHeader" :on-error="onError" |
| | | :on-success="handleSuccessUp" |
| | | :show-file-list="false" |
| | | style="display: inline;margin: 0 6px" |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px" |
| | | type="text" size="small" @click="download(scope.row)">ä¸è½½æ¥å</el-button> |
| | | <el-upload ref='upload' :action="javaApi + '/insReport/inReport'" :before-upload="beforeUpload" |
| | | :data="{ id: scope.row.insReportId }" :headers="uploadHeader" :on-error="onError" |
| | | :on-success="handleSuccessUp" :show-file-list="false" style="display: inline;margin: 0 6px" |
| | | accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'> |
| | | <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null || |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small" type="text">ä¸ä¼ </el-button> |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small" |
| | | type="text">ä¸ä¼ </el-button> |
| | | </el-upload> |
| | | <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null || |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleRestore(scope.row)">è¿å</el-button> |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" |
| | | @click="handleRestore(scope.row)">è¿å</el-button> |
| | | <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null || |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleIssued(scope.row)">æ¥çæ¥å</el-button> |
| | | (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" |
| | | @click="handleIssued(scope.row)">æ¥çæ¥å</el-button> |
| | | </div> |
| | | </el-popover> |
| | | </div> |
| | |
| | | <!--æ¥çå·¥æ¶å¼¹æ¡--> |
| | | <viewManHourDia ref="viewManHourDia"></viewManHourDia> |
| | | <!--ä¸åæ ¼å¤æµæ¥çå¼¹æ¡--> |
| | | <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" @closeRetestLook="closeRetestLook"></un-pass-retest-result> |
| | | <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" |
| | | @closeRetestLook="closeRetestLook"></un-pass-retest-result> |
| | | <!--æ¥åæ¥ç--> |
| | | <el-dialog title="æ¥åæ¥ç" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false" |
| | | :fullscreen="fullscreen"> |
| | |
| | | } |
| | | }, |
| | | }, |
| | | { label: "æ£éªäºº", prop: "checkUserName" }, |
| | | { |
| | | dataType: "action", |
| | | fixed: "right", |
| | |
| | | border-color: #3a7bfa; |
| | | color: #3a7bfa; |
| | | } |
| | | |
| | | .center-options { |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | <div> |
| | | <el-dialog title="æ°æ®æ¥ç" :visible.sync="isShow" width="80%" @closed="$emit('closeDataLook')"> |
| | | <ul class="tab"> |
| | | <li v-for="(m,i) in dataVisibleTitle" :key="i" :class="{active:i===dataVisibleIndex}" @click="handleDataVisibleTab(m,i)">{{m.label}}</li> |
| | | <li v-for="(m, i) in dataVisibleTitle" :key="i" :class="{ active: i === dataVisibleIndex }" |
| | | @click="handleDataVisibleTab(m, i)">{{ m.label }}</li> |
| | | </ul> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | @pagination="pagination" height="500px" key="tableData" |
| | | <lims-table :tableData="tableData" :column="column" @pagination="pagination" height="500px" key="tableData" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | </el-dialog> |
| | | <un-pass-retest-result :retestVisible="retestVisible" :retestInfo="retestInfo" @closeRetestLook="closeRetestLook" v-if="retestVisible"></un-pass-retest-result> |
| | | <un-pass-retest-result :retestVisible="retestVisible" :retestInfo="retestInfo" @closeRetestLook="closeRetestLook" |
| | | v-if="retestVisible"></un-pass-retest-result> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } |
| | | } |
| | | }, |
| | | { label: "æ£éªäºº", prop: "checkUserName" }, |
| | | { |
| | | dataType: 'action', |
| | | fixed: 'right', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <!-- æ£éªé¡¹åé
--> |
| | | <el-dialog :visible.sync="issuedDialog" title="åé
æ£éªé¡¹" top="5vh" width="80%" :loading="tableLoading"> |
| | | <el-table :data="tableData" style="width: 100%" height="70vh"> |
| | | <el-table-column label="æ ·åç¼å·" prop="sampleCode" width="160px"> |
| | | </el-table-column> |
| | | <el-table-column label="æ ·ååç§°" prop="sample"> |
| | | </el-table-column> |
| | | <el-table-column label="æ ·ååå·" prop="model" width="190px"> |
| | | </el-table-column> |
| | | <el-table-column label="æ£éªé¡¹åç±»" prop="inspectionItemClass"> |
| | | </el-table-column> |
| | | <el-table-column label="æ£éªé¡¹" prop="inspectionItem"> |
| | | </el-table-column> |
| | | <el-table-column label="æ£éªå项" prop="inspectionItemSubclass"> |
| | | </el-table-column> |
| | | <el-table-column label="åé
人å" prop="checkUserId"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.checkUserId" clearable filterable placeholder="è¯·éæ©" size="small" |
| | | style="width: 100%;"> |
| | | <el-option v-for="(item, i) in personList" :key="i + 'gbnm.'" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="è¯éªå®¤" prop="sonLaboratory"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="issuedDialog = false">å æ¶</el-button> |
| | | <el-button :loading="submitLoading" type="primary" @click="submit">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { selectSampleAndProductByOrderId, batchUpdateInsProductCheckUser } from "@/api/business/rawMaterialOrder"; |
| | | import { selectUserCondition } from "@/api/performance/class"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | issuedDialog: false, |
| | | tableData: [], |
| | | tableLoading: false, |
| | | submitLoading: false, |
| | | personList: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | | |
| | | }, |
| | | methods: { |
| | | init(row) { |
| | | this.issuedDialog = true; |
| | | this.getList(row.id) |
| | | this.getAuthorizedPerson() |
| | | }, |
| | | getList(id) { |
| | | this.tableLoading = true |
| | | selectSampleAndProductByOrderId({ page: -1, size: -1, id }).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 200) { |
| | | this.tableData = res.data.records |
| | | } |
| | | }).catch(err => { |
| | | this.tableLoading = false |
| | | }) |
| | | }, |
| | | // è·åææ´¾äººå䏿å表 |
| | | getAuthorizedPerson() { |
| | | selectUserCondition({ type: 1 }).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.name, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.personList = data |
| | | }) |
| | | }, |
| | | submit() { |
| | | this.submitLoading = true; |
| | | batchUpdateInsProductCheckUser({ insProductDtoList: this.tableData }).then(res => { |
| | | this.submitLoading = false; |
| | | if (res.code == 200) { |
| | | this.$message.success('åé
æå') |
| | | this.issuedDialog = false |
| | | } |
| | | }).catch(err => { |
| | | this.submitLoading = false; |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style></style> |
| | |
| | | <div class="table-tab"> |
| | | <div> |
| | | <ul class="tab"> |
| | | <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">å¾
å®¡æ ¸</li> |
| | | <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">æ£éªä¸</li> |
| | | <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">å§æå·²æ£</li> |
| | | <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">æ½æ ·å·²æ£</li> |
| | | <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">éå</li> |
| | | <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">æ¤é</li> |
| | | <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">å¾
å®¡æ ¸ |
| | | </li> |
| | | <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">æ£éªä¸ |
| | | </li> |
| | | <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" |
| | | @click="handleTab(2)">å§æå·²æ£</li> |
| | | <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)"> |
| | | æ½æ ·å·²æ£</li> |
| | | <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">éå |
| | | </li> |
| | | <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)"> |
| | | æ¤é</li> |
| | | <li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">å
¨é¨</li> |
| | | </ul> |
| | | </div> |
| | |
| | | </el-dialog> |
| | | <!-- æ¤é --> |
| | | <el-dialog :before-close="handleClose" :visible.sync="quashDialogVisible" title="ä¸åæ¤é" width="30%"> |
| | | <p v-if="!isQuash" style="font-size:16px;color:#333333">å§æç¼å·<span |
| | | style="color:#34BD66">{{ this.insOrderRow.entrustCode }}</span>çä¿¡æ¯æ¯å¦æ¤é</p> |
| | | <p v-if="!isQuash" style="font-size:16px;color:#333333">å§æç¼å·<span style="color:#34BD66">{{ |
| | | this.insOrderRow.entrustCode }}</span>çä¿¡æ¯æ¯å¦æ¤é</p> |
| | | <el-form v-else ref="ruleForm" :label-position="labelPosition" :model="formData" label-width="150px"> |
| | | <el-form-item label="请è¾å
¥æ¤éåå ï¼"> |
| | | <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input> |
| | |
| | | </span> |
| | | </el-dialog> |
| | | <!-- ä¸å --> |
| | | <el-dialog :before-close="handleClose" :visible.sync="issuedDialogVisible" title="æ£éªåé
" width="400px"> |
| | | <!-- <el-dialog :before-close="handleClose" :visible.sync="issuedDialogVisible" title="æ£éªåé
" width="400px"> |
| | | <div class="body" style="max-height: 60vh;"> |
| | | <el-row> |
| | | <el-col class="search_thing" style="width: 95%;"> |
| | |
| | | <el-button :loading="upLoad" type="primary" @click="submitForm2">ç¡® å®</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | </el-dialog> --> |
| | | <el-dialog :visible.sync="dataDialogVisible" title="æ°æ®æ¥ç" width="80%" @close="closeDia"> |
| | | <div v-if="dataDialogVisible"> |
| | | <lims-table :tableData="tableDataLook" :column="tableDataLookColumn" @pagination="tableDataLookPagination" |
| | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row> |
| | | <el-button @click="handleNo">{{ deleteTilte == 'æ¤é' ? 'å æ¶' : 'ä¸éè¿' }}</el-button> |
| | | <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == 'æ¤é' ? 'ç¡® å®' : 'éè¿'}}</el-button> |
| | | <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == 'æ¤é' ? 'ç¡® å®' : |
| | | 'éè¿' }}</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | <el-row style="margin-top: 0.01cm;font-size: 0.20cm;"> |
| | | <el-col style="display: flex;align-items: center;"><span>æ ·åç¶æ: |
| | | </span> |
| | | <span style="white-space: nowrap;"><span v-if="item.insState == 0">â</span><span v-if="item.insState != 0" |
| | | class="scor"></span>å¾
æ£ |
| | | <span style="white-space: nowrap;"><span v-if="item.insState == 0">â</span><span |
| | | v-if="item.insState != 0" class="scor"></span>å¾
æ£ |
| | | <span v-if="item.insState == 1">â</span><span v-if="item.insState != 1" class="scor"></span>卿£ |
| | | <span v-if="item.insState == 2">â</span><span v-if="item.insState != 2" class="scor"></span>å·²æ£ |
| | | <span v-if="item.isLeave == 1">â</span><span v-if="item.isLeave != 1" class="scor"></span>çæ ·</span> |
| | |
| | | @closePrintDialog="closePrintDialog"></print-dialog> |
| | | <!--æ·»å éæ¼æ£éªé¡¹å¼¹æ¡--> |
| | | <add-inspection-dia v-if="addInspectionDia" ref="addInspectionDia"></add-inspection-dia> |
| | | <issuedDialog ref="issuedDialog" /> |
| | | <!-- <Inspection v-if="state>0" :key="InspectionKey" :inspectorList="inspectorList" :orderId="orderId"--> |
| | | <!-- :sonLaboratory="sonLaboratory" :state="state"--> |
| | | <!-- :typeSource="typeSource" @goback="goback" @refreshView="refreshView"/>--> |
| | |
| | | import PrintDialog from "@/views/business/productOrder/components/printDialog.vue"; |
| | | import AddInspectionDia from "@/views/business/productOrder/components/addInspectionDia.vue"; |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import issuedDialog from './components/issuedDialog.vue' |
| | | import { |
| | | checkUpdate, delInsOrder, |
| | | rawAllInsOrderExport, |
| | |
| | | limsTable, |
| | | AddInspectionDia, |
| | | PrintDialog, |
| | | vueQr |
| | | vueQr, |
| | | issuedDialog |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | this.handleIssued(row); |
| | | }, |
| | | disabled: (row, index) => { |
| | | return row.state != 1 || !!row.assign |
| | | return row.state != 1 |
| | | }, |
| | | showHide: (row) => { |
| | | return this.tabIndex === 1 |
| | |
| | | } |
| | | } |
| | | }, |
| | | { label: "æ£éªäºº", prop: "checkUserName" }, |
| | | ], |
| | | filesDialogVisible: false, // éä»¶æ¥çå¼¹æ¡ |
| | | tableDataFile: [], |
| | |
| | | entrustCodeInfo: {}, |
| | | submitCodeLoading: false, |
| | | // 人åå表 |
| | | personList: [], |
| | | // personList: [], |
| | | orderId: '', |
| | | revocationInsProductIds: '', |
| | | componentDataDelete: [], |
| | |
| | | }, |
| | | mounted() { |
| | | this.refreshTable() |
| | | this.getAuthorizedPerson() |
| | | // this.getAuthorizedPerson() |
| | | }, |
| | | activated() { |
| | | this.refreshTable() |
| | |
| | | this.printDialog = false |
| | | }, |
| | | // è·åææ´¾äººå䏿å表 |
| | | getAuthorizedPerson() { |
| | | selectUserCondition({ type: 1 }).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.name, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.personList = data |
| | | }) |
| | | }, |
| | | // getAuthorizedPerson() { |
| | | // selectUserCondition({ type: 1 }).then(res => { |
| | | // let data = [] |
| | | // res.data.forEach(a => { |
| | | // data.push({ |
| | | // label: a.name, |
| | | // value: a.id |
| | | // }) |
| | | // }) |
| | | // this.personList = data |
| | | // }) |
| | | // }, |
| | | handleClose() { |
| | | this.verifyDialogVisible = false; |
| | | this.quashDialogVisible = false; |
| | |
| | | }, |
| | | // ä¸å |
| | | handleIssued(row) { |
| | | this.issuedDialogVisible = true; |
| | | selectOrderManDay({ |
| | | id: row.id |
| | | }).then(res => { |
| | | this.distributeData.orderId = row.id |
| | | this.distributeData.sampleId = row.sampleId |
| | | this.distributeData.appointed = res.data |
| | | this.distributeData.type = row.type |
| | | }) |
| | | upPlanUser2({ |
| | | orderId: row.id, |
| | | }).then(res => { |
| | | if (res.code === 200 && res.data.length > 0) { |
| | | this.sonLaboratoryList = []; |
| | | res.data.forEach(m => { |
| | | this.sonLaboratoryList.push({ |
| | | value: m, |
| | | label: m |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | // this.issuedDialogVisible = true; |
| | | this.$refs.issuedDialog.init(row) |
| | | // selectOrderManDay({ |
| | | // id: row.id |
| | | // }).then(res => { |
| | | // this.distributeData.orderId = row.id |
| | | // this.distributeData.sampleId = row.sampleId |
| | | // this.distributeData.appointed = res.data |
| | | // this.distributeData.type = row.type |
| | | // }) |
| | | // upPlanUser2({ |
| | | // orderId: row.id, |
| | | // }).then(res => { |
| | | // if (res.code === 200 && res.data.length > 0) { |
| | | // this.sonLaboratoryList = []; |
| | | // res.data.forEach(m => { |
| | | // this.sonLaboratoryList.push({ |
| | | // value: m, |
| | | // label: m |
| | | // }) |
| | | // }) |
| | | // } |
| | | // }) |
| | | }, |
| | | submitForm2() { |
| | | if (this.distributeData.appointed == null || this.distributeData.appointed == '') { |
| | |
| | | <div v-if="!isShowDataCom"> |
| | | <el-form ref="entity" size="small" :inline="true"> |
| | | <el-form-item style="width: 16%;"> |
| | | <el-date-picker |
| | | v-model="datePicker" |
| | | end-placeholder="ç»ææ¥æ" |
| | | format="yyyy-MM-dd" |
| | | placeholder="éæ©æ¥æ" |
| | | range-separator="è³" |
| | | size="small" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | style="width: 100%;" |
| | | type="daterange" |
| | | <el-date-picker v-model="datePicker" end-placeholder="ç»ææ¥æ" format="yyyy-MM-dd" placeholder="éæ©æ¥æ" |
| | | range-separator="è³" size="small" start-placeholder="å¼å§æ¥æ" style="width: 100%;" type="daterange" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | |
| | | <el-input v-model="supplierName" clearable placeholder="请è¾å
¥ä¾åºååç§°" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªé¡¹åç§°" prop="supplierName"> |
| | | <el-select v-model="itemNames" :loading="selectLoading" clearable multiple placeholder="è¯·éæ©" |
| | | size="small" style="width: 90%;" @focus="getItemList"> |
| | | <el-option |
| | | v-for="item in itemNamesList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | <el-select v-model="itemNames" :loading="selectLoading" clearable multiple placeholder="è¯·éæ©" size="small" |
| | | style="width: 90%;" @focus="getItemList"> |
| | | <el-option v-for="item in itemNamesList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <div>忿项æ£åæå表</div> |
| | | <el-button size="small" type="primary" @click="openShowData">æ¥çæ°æ®åæ</el-button> |
| | | </div> |
| | | <lims-table :tableData="editTableData" :column="editColumn" |
| | | height="400" key="tableData" :isSelection="true" |
| | | :handleSelectionChange="handleSelectionChange" |
| | | :tableLoading="editLoading"></lims-table> |
| | | <lims-table :tableData="editTableData" :column="editColumn" height="400" key="tableData" :isSelection="true" |
| | | :handleSelectionChange="handleSelectionChange" :tableLoading="editLoading"></lims-table> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-col :span="6" style="padding-top: 14px"> |
| | | <div style="display: flex;margin-left: 10px;align-items: center"> |
| | | <span style="width: 100px">åç»ç±»åï¼</span> |
| | | <el-select v-model="groupType" clearable placeholder="è¯·éæ©" |
| | | size="small" |
| | | style="width: 90%;" @change="getBarInfo"> |
| | | <el-option |
| | | v-for="item in groupTypeList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | <el-select v-model="groupType" clearable placeholder="è¯·éæ©" size="small" style="width: 90%;" |
| | | @change="getBarInfo"> |
| | | <el-option v-for="item in groupTypeList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | <el-col :span="24"> |
| | | <div class="inspection-card"> |
| | | <div class="title">æ£éªé¡¹æ°æ®å¯¹æ¯</div> |
| | | <Echarts ref="chart" |
| | | :chartStyle="chartStyle" |
| | | :dataset="dataset" |
| | | :grid="grid" |
| | | :options="echartsOptions" |
| | | :series="echartsSeries" |
| | | :tooltip="tooltip" |
| | | :xAxis="xAxis" |
| | | :yAxis="yAxis" |
| | | style="height: 40vh;"></Echarts> |
| | | <Echarts ref="chart" :chartStyle="chartStyle" :dataset="dataset" :grid="grid" :options="echartsOptions" |
| | | :series="echartsSeries" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis" style="height: 40vh;"></Echarts> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-col :span="24"> |
| | | <div class="inspection-card"> |
| | | <div class="title">忿项æ£åæ ¼ç</div> |
| | | <Echarts ref="chart" |
| | | :chartStyle="chartStyle" |
| | | :dataset="dataset1" |
| | | :grid="grid" |
| | | :options="echartsOptions1" |
| | | :series="echartsSeries1" |
| | | :tooltip="tooltip" |
| | | :xAxis="xAxis" |
| | | :yAxis="yAxis1" |
| | | style="height: 40vh;"></Echarts> |
| | | <Echarts ref="chart" :chartStyle="chartStyle" :dataset="dataset1" :grid="grid" :options="echartsOptions1" |
| | | :series="echartsSeries1" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis1" style="height: 40vh;"> |
| | | </Echarts> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <el-dialog :visible.sync="dataDialogVisible" title="æ°æ®æ¥ç" width="80%"> |
| | | <div v-if="dataDialogVisible" style="height: 70vh;overflow-y: auto;"> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | @pagination="pagination" key="tableData" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | <lims-table :tableData="tableData" :column="column" @pagination="pagination" key="tableData" :page="page" |
| | | :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | </el-dialog> |
| | | <DataComparison v-if="isShowDataCom" :comparisonData="comparisonData" |
| | | :selectRow="selectRow" @goBack="goBack"></DataComparison> |
| | | <DataComparison v-if="isShowDataCom" :comparisonData="comparisonData" :selectRow="selectRow" @goBack="goBack"> |
| | | </DataComparison> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | return null |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | { label: "æ£éªäºº", prop: "checkUserName" }, |
| | | ], |
| | | page: { |
| | | total:0, |
| | |
| | | return |
| | | } |
| | | for (let i = 0; i < res.data.itemNames.length; i++) { |
| | | this.echartsSeries.push({type: 'line', label: { |
| | | this.echartsSeries.push({ |
| | | type: 'line', label: { |
| | | show: true, |
| | | position: 'top' |
| | | },}) |
| | | }, |
| | | }) |
| | | } |
| | | this.dataset.dimensions = this.HaveJson(res.data.itemNames) |
| | | this.dataset.dimensions.unshift('product') |
| | |
| | | return |
| | | } |
| | | for (let i = 0; i < res.data.itemNames.length; i++) { |
| | | this.echartsSeries1.push({type: 'line',tooltip: { |
| | | this.echartsSeries1.push({ |
| | | type: 'line', tooltip: { |
| | | valueFormatter: function (value) { |
| | | return value + '%'; |
| | | } |
| | |
| | | show: true, |
| | | position: 'top', |
| | | formatter: (params) => params.value[params.dimensionNames[params.encode.y[0]]] + '%' |
| | | },}) |
| | | }, |
| | | }) |
| | | } |
| | | this.dataset1.dimensions = this.HaveJson(res.data.itemNames) |
| | | this.dataset1.dimensions.unshift('product') |
| | |
| | | this.bindPartFirst(row); |
| | | }, |
| | | disabled: (row) => { |
| | | return row.product |
| | | return !!row.product |
| | | } |
| | | }, |
| | | { |