| | |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="role_manage"> |
| | | <div> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;">检验下单</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button size="medium" type="primary" @click="playOrder">下单</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="inspection_order"> |
| | | <div style="width: 100%;height: 100%;" v-if="active == 0"> |
| | | <div> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;">检验下单</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button size="medium" type="primary" @click="playOrder(1)">下单</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">委托编号:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="componentData.entity.deviceName" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">样品名称:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="componentData.entity.specificationModel" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" @click="refresh()">重 置</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <ul class="tab"> |
| | | <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li> |
| | | </ul> |
| | | <!-- 语法 子组件通过 this.$emit +传入方法名 调用父组件方法 例如 this.$emit(selectAllByOne) 就需在父组件声明并传入 @selectAllByOne="selectAllByOne"--> |
| | | <ValueTable ref="ValueTable" :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData" |
| | | :key="upIndex" style="height: calc(100% - 44px)" @selectAllByOne="selectAllByOne" |
| | | @handleDataLook="handleDataLook" @download="download" @handleVerify="handleVerify" @handlEquash="handlEquash" |
| | | @handleIssued="handleIssued" /> |
| | | </div> |
| | | <!-- 审核 --> |
| | | <el-dialog title="下单审核" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose"> |
| | | <p style="font-size:16px;color:#333333" v-if="!isPass">委托编号<span |
| | | style="color:#34BD66">ZTMS2023071001</span>的信息是否通过</p> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm" v-else> |
| | | <el-form-item label="请输入样品库位号:"> |
| | | <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row v-if="!isPass"> |
| | | <el-button @click="handleClose">退 回</el-button> |
| | | <el-button type="primary" @click="submitForm" :loading="upLoad">通 过</el-button> |
| | | </el-row> |
| | | <el-row v-else> |
| | | <el-button @click="handleClose">返 回</el-button> |
| | | <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 撤销 --> |
| | | <el-dialog title="下单撤销" :visible.sync="quashDialogVisible" width="30%" :before-close="handleClose"> |
| | | <p style="font-size:16px;color:#333333" v-if="!isQuash">委托编号<span |
| | | style="color:#34BD66">ZTMS2023071001</span>的信息是否撤销</p> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm" v-else> |
| | | <el-form-item label="请输入撤销原因:"> |
| | | <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row v-if="!isQuash"> |
| | | <el-button @click="handleClose">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button> |
| | | </el-row> |
| | | <el-row v-else> |
| | | <el-button @click="handleClose">返 回</el-button> |
| | | <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 下发 --> |
| | | <el-dialog title="检验下发" :visible.sync="issuedDialogVisible" width="30%" :before-close="handleClose"> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="150px" ref="ruleForm"> |
| | | <el-form-item label="约定时间:"> |
| | | <el-date-picker style="width:100%" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="formData2.appointed2" |
| | | type="date" size="small" placeholder="选择时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item > |
| | | </el-form-item> |
| | | <el-form-item label="指派人员:"> |
| | | <el-select v-model="formData2.id" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row> |
| | | <el-button @click="handleClose2">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm2" :loading="upLoad">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="数据查看" :visible.sync="dataDialogVisible" width="70%" :before-close="handleClose2"> |
| | | <div style="height: 70vh;overflow-y: auto;"> |
| | | <ValueTable ref="ValueTableDataLook" :url="$api.deviceScope.selectDeviceParameter" |
| | | :componentData="componentDataDataLook" :key="upIndex" /> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">委托编号:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="componentData.entity.deviceName" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">样品名称:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="componentData.entity.specificationModel" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" @click="refresh()">重 置</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button> |
| | | </div> |
| | | <div style="width: 100%;height: 100%;" v-if="active == 1"> |
| | | <Add/> |
| | | </div> |
| | | <div class="table"> |
| | | <ul class="tab"> |
| | | <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li> |
| | | </ul> |
| | | <!-- 语法 子组件通过 this.$emit +传入方法名 调用父组件方法 例如 this.$emit(selectAllByOne) 就需在父组件声明并传入 @selectAllByOne="selectAllByOne"--> |
| | | <ValueTable ref="ValueTable" :url="$api.deviceScope.selectDeviceParameter" :componentData="componentData" |
| | | :key="upIndex" style="height: calc(100% - 44px)" @selectAllByOne="selectAllByOne" |
| | | @handleDataLook="handleDataLook" @download="download" @handleVerify="handleVerify" @handlEquash="handlEquash" |
| | | @handleIssued="handleIssued" /> |
| | | </div> |
| | | <!-- 审核 --> |
| | | <el-dialog title="下单审核" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose"> |
| | | <p style="font-size:16px;color:#333333" v-if="!isPass">委托编号<span |
| | | style="color:#34BD66">ZTMS2023071001</span>的信息是否通过</p> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm" v-else> |
| | | <el-form-item label="请输入样品库位号:"> |
| | | <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row v-if="!isPass"> |
| | | <el-button @click="handleClose">退 回</el-button> |
| | | <el-button type="primary" @click="submitForm" :loading="upLoad">通 过</el-button> |
| | | </el-row> |
| | | <el-row v-else> |
| | | <el-button @click="handleClose">返 回</el-button> |
| | | <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 撤销 --> |
| | | <el-dialog title="下单撤销" :visible.sync="quashDialogVisible" width="30%" :before-close="handleClose"> |
| | | <p style="font-size:16px;color:#333333" v-if="!isQuash">委托编号<span |
| | | style="color:#34BD66">ZTMS2023071001</span>的信息是否撤销</p> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm" v-else> |
| | | <el-form-item label="请输入撤销原因:"> |
| | | <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row v-if="!isQuash"> |
| | | <el-button @click="handleClose">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button> |
| | | </el-row> |
| | | <el-row v-else> |
| | | <el-button @click="handleClose">返 回</el-button> |
| | | <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 下发 --> |
| | | <el-dialog title="检验下发" :visible.sync="issuedDialogVisible" width="30%" :before-close="handleClose"> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="150px" ref="ruleForm"> |
| | | <el-form-item label="约定时间:"> |
| | | <el-date-picker style="width:100%" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="formData.downTime" |
| | | type="date" size="small" placeholder="选择时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="指派人员:"> |
| | | <el-select v-model="formData.equipmentManager" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in personList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row> |
| | | <el-button @click="handleClose">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm" :loading="upLoad">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="数据查看" :visible.sync="dataDialogVisible" width="70%" :before-close="handleClose"> |
| | | <div style="height: 70vh;overflow-y: auto;"> |
| | | <ValueTable ref="ValueTableDataLook" :url="$api.deviceScope.selectDeviceParameter" |
| | | :componentData="componentDataDataLook" :key="upIndex" /> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../tool/value-table.vue' |
| | | import Add from '../do/b1-ins-order/add.vue' |
| | | export default { |
| | | components: { |
| | | ValueTable |
| | | ValueTable, |
| | | Add |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | verifyDialogVisible: false, |
| | | quashDialogVisible: false, |
| | | issuedDialogVisible: false, |
| | | issuedDialogVisible2: false, |
| | | dataDialogVisible: false, |
| | | formData: {}, |
| | | formData0:{}, |
| | | formData1:{}, |
| | | formData2:{ |
| | | id:'', |
| | | orderName:'', |
| | | data:'', |
| | | }, |
| | | // 人员列表 |
| | | personList: [], |
| | | labelPosition: 'right', |
| | | componentData: { |
| | | entity: { |
| | | deviceStatus: null, |
| | | deviceName: null, |
| | | specificationModel: null, |
| | | largeCategory: null, |
| | | state: 1, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | |
| | | method: 'handleIssued' |
| | | }], |
| | | tagField: { |
| | | deviceStatus: { |
| | | type: { |
| | | select: [{ |
| | | value: 0, |
| | | type: 'success', |
| | | label: '正常' |
| | | label: '普通' |
| | | }, { |
| | | value: 1, |
| | | type: 'warning', |
| | | label: '报废' |
| | | label: '优先' |
| | | }, { |
| | | value: 2, |
| | | type: 'danger', |
| | | label: '保修' |
| | | label: '紧急' |
| | | }] |
| | | } |
| | | }, |
| | | }, |
| | | linkEvent:{ |
| | | deviceName:{ |
| | |
| | | upLoad: false, |
| | | tabList: [{ |
| | | label: '检验处理', |
| | | value: 0 |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: '待审核', |
| | | value: 1 |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: '退回', |
| | |
| | | }, |
| | | ], |
| | | tabIndex: 0, |
| | | active: 0 |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity) |
| | | this.getPower() |
| | | this.getAuthorizedPerson() |
| | | }, |
| | | methods: { |
| | | getAuthorizedPerson(){ |
| | | this.$axios.post(this.$api.deviceScope.selectDevicePrincipal).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a=>{ |
| | | data.push({ |
| | | label: a.name, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.personList = data |
| | | }) |
| | | }, |
| | | refreshTable() { |
| | | this.$refs['ValueTable'].selectList() |
| | | }, |
| | |
| | | this.dataDialogVisible = false; |
| | | this.upLoad = false; |
| | | }, |
| | | handleClose2() { |
| | | this.verifyDialogVisible = false; |
| | | this.quashDialogVisible = false; |
| | | this.issuedDialogVisible = false; |
| | | this.dataDialogVisible = false; |
| | | this.upLoad = false; |
| | | }, |
| | | // 详情 |
| | | selectAllByOne(row) { |
| | | //打开弹框 |
| | |
| | | handleIssued(row) { |
| | | this.issuedDialogVisible = true; |
| | | }, |
| | | submitForm2(){ |
| | | this.upLoad = true; |
| | | this.$axios.post(this.$api.insOrder.getDeviceManager, this.formData2, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code === 201) { |
| | | this.upLoad = false |
| | | return |
| | | } |
| | | this.$message.success('修改成功') |
| | | this.upLoad = false |
| | | this.refreshTable() |
| | | this.dialogVisible = false |
| | | }).catch(e => { |
| | | this.$message.error('修改失败') |
| | | this.dialogVisible = false |
| | | this.upLoad = false |
| | | }) |
| | | }, |
| | | submitForm() { |
| | | this.upLoad = true; |
| | | let authorizedPerson = this.formData.authorizedPerson.length > 0 ? this.formData.authorizedPerson.join(',') : '' |
| | |
| | | delete this.formData.createUser |
| | | delete this.formData.updateUser |
| | | this.formData.authorizedPerson = authorizedPerson |
| | | this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, { |
| | | this.$axios.post(this.$api.insOrder.getDeviceManager, this.formData, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | |
| | | }) |
| | | }, |
| | | // 下单 |
| | | playOrder() {}, |
| | | playOrder(num) { |
| | | this.active = num |
| | | }, |
| | | handleTab(m, i) { |
| | | this.tabIndex = i; |
| | | this.componentData.entity.state = m.value |
| | | this.refreshTable() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | </script> |