| | |
| | | <div class="body" :style="{height:mainHeight+'px'}"> |
| | | |
| | | <div class="bodyTopButtonGroup" style="justify-content: space-between"> |
| | | <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button> |
| | | <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button> |
| | | <div style="display: flex"> |
| | | <el-button icon="el-icon-c-scale-to-original" @click="deviceTypeButton">设备类型</el-button> |
| | | <el-button icon="el-icon-document-copy" @click="deviceGroupButton">设备组</el-button> |
| | | <el-button v-waves icon="el-icon-c-scale-to-original" @click="deviceTypeButton">设备类型</el-button> |
| | | <el-button v-waves icon="el-icon-document-copy" @click="deviceGroupButton">设备组</el-button> |
| | | <el-button v-waves icon="el-icon-download" @click="upload">导入</el-button> |
| | | |
| | | </div> |
| | | |
| | | <!-- <el-button type="primary" icon="el-icon-upload2" @click="upload">导入</el-button>--> |
| | | <!-- <el-button v-waves type="primary" icon="el-icon-upload2" @click="upload">导入</el-button>--> |
| | | </div> |
| | | |
| | | <div class="bodyTopFormGroup"> |
| | |
| | | :model="form" |
| | | label-width="100px" |
| | | inline |
| | | style="display: flex;justify-content: space-between" |
| | | style="display: flex;" |
| | | > |
| | | <div class="elForm" style="justify-content: flex-start"> |
| | | <el-form-item label-width="70px" label="设备编码" style=" display: flex;"> |
| | | <el-form-item label="设备编码" style=" display: flex;"> |
| | | <el-input v-model="form.DeviceCode" placeholder="请输入" style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="设备名称" style=" display: flex;"> |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label-width="70px" filterable label="设备类型" style="display: flex;"> |
| | | <el-form-item v-show="isExpandForm" filterable label="设备类型" style="display: flex;"> |
| | | <el-select |
| | | v-model="form.DeviceType" |
| | | :popper-append-to-body="false" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened?'5%':'10%'}"> |
| | | <el-button type="primary" icon="el-icon-search" @click="search">查询</el-button> |
| | | <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button> |
| | | <div |
| | | class="bodySearchReset" |
| | | :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}" |
| | | > |
| | | <el-button v-waves type="primary" icon="el-icon-search" @click="search">查询</el-button> |
| | | <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">重置</el-button> |
| | | </div> |
| | | </el-form> |
| | | <div |
| | |
| | | label="设备编码" |
| | | min-width="110" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="设备名称" |
| | | min-width="110" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="eqptype_name" |
| | | label="设备类型" |
| | | min-width="110" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="eqpgroup_name" |
| | |
| | | prop="enable" |
| | | label="使用状态" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | width="120" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.enable==='Y'"><svg-icon icon-class="circleYes" style="margin-right: 2px" />是</div> |
| | | <div v-if="row.enable==='N'"><svg-icon icon-class="circleNo" style="margin-right: 2px" />否</div> |
| | | <div v-if="row.enable==='Y'"> |
| | | <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" /> |
| | | 是 |
| | | </div> |
| | | <div v-if="row.enable==='N'"> |
| | | <i class="el-icon-info" style="margin-right: 2px" /> |
| | | 否 |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="input_date" |
| | | label="投入日期" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="120" |
| | | > |
| | |
| | | prop="wksp_name" |
| | | label="生产车间" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="120" |
| | | /> |
| | | <!-- <el-table-column--> |
| | |
| | | <el-table-column |
| | | prop="operation_ration" |
| | | label="稼动率" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="100" |
| | | > |
| | |
| | | label="创建人员" |
| | | sortable="custom" |
| | | width="120" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="lm_date" |
| | | width="160" |
| | | label="创建时间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | |
| | | <template slot-scope="{row}"> |
| | | <div class="operationClass"> |
| | | <el-tooltip class="item" effect="dark" content="编辑" placement="top"> |
| | | <i class="el-icon-edit-outline" @click="edit('edit',row)" /> |
| | | <i :style="{color:$store.state.settings.theme}" class="el-icon-edit-outline" @click="edit('edit',row)" /> |
| | | </el-tooltip> |
| | | <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top"> |
| | | <i class="el-icon-delete" @click="del(row)" /> |
| | | <i :style="{color:$store.state.settings.theme}" class="el-icon-delete" @click="del(row)" /> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | |
| | | </div> |
| | | <!--设备清单新增编辑--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | :close-on-click-modal="false" |
| | | :title="operation==='add'?'新增':'编辑'" |
| | | :visible.sync="dialogVisible" |
| | |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button @click="dialogVisibleCancel">取 消</el-button> |
| | | <el-button type="primary" @click="dialogVisibleConfirm">确 定</el-button> |
| | | <el-button v-waves @click="dialogVisibleCancel">取 消</el-button> |
| | | <el-button |
| | | v-waves |
| | | type="primary" |
| | | :loading="$store.state.app.buttonIsDisabled" |
| | | :disabled="$store.state.app.buttonIsDisabled" |
| | | @click="dialogVisibleConfirm" |
| | | >确 定</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!--设备类型--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="设备类型" |
| | | :visible.sync="DeviceTypeDialogVisible" |
| | | width="800px" |
| | |
| | | @close="handleCloseDeviceType" |
| | | > |
| | | <div style="margin-bottom: 20px;display: flex"> |
| | | <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addDeviceType">新增</el-button> |
| | | <!-- <el-button type="primary" icon="el-icon-delete" @click="delSetting">删除</el-button>--> |
| | | <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addDeviceType">新增</el-button> |
| | | <!-- <el-button v-waves type="primary" icon="el-icon-delete" @click="delSetting">删除</el-button>--> |
| | | </div> |
| | | <el-table |
| | | ref="DeviceTypeArray" |
| | |
| | | /> |
| | | <el-table-column |
| | | prop="code" |
| | | show-tooltip-when-overflow |
| | | label="类型编码" |
| | | sortable="custom" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-input v-if="row.isVisible===1" v-model="row.code" oninput="value=value.replace(/[^0-9a-zA-Z]/g,'')" placeholder="请输入" /> |
| | | <el-input |
| | | v-if="row.isVisible===1" |
| | | v-model="row.code" |
| | | oninput="value=value.replace(/[^0-9a-zA-Z]/g,'')" |
| | | placeholder="请输入" |
| | | /> |
| | | <div v-else> {{ row.code }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | show-tooltip-when-overflow |
| | | label="类型名称" |
| | | sortable="custom" |
| | | > |
| | |
| | | prop="remark" |
| | | label="类型描述" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-input v-if="row.isVisible===1" v-model="row.remark" placeholder="请输入" /> |
| | |
| | | <el-table-column label="操作"> |
| | | <template slot-scope="{row}"> |
| | | <div class="operationClass"> |
| | | <el-button v-if="row.isVisible===0" type="text" @click="DeviceTypeDel(row)">删除</el-button> |
| | | <el-button v-if="row.isVisible===1" type="text" @click="DeviceTypeSave(row)">保存</el-button> |
| | | <el-button v-if="row.isVisible===1" type="text" @click="DeviceTypeCancel(row)">取消</el-button> |
| | | <el-button v-if="row.isVisible===0" v-waves type="text" @click="DeviceTypeDel(row)">删除</el-button> |
| | | <el-button v-if="row.isVisible===1" v-waves type="text" @click="DeviceTypeSave(row)">保存</el-button> |
| | | <el-button v-if="row.isVisible===1" v-waves type="text" @click="DeviceTypeCancel(row)">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | /> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button @click="DeviceTypeDialogVisibleCancel">返回</el-button> |
| | | <!-- <el-button type="primary" @click="settingDialogVisibleConfirm">确 定</el-button>--> |
| | | <el-button v-waves @click="DeviceTypeDialogVisibleCancel">返回</el-button> |
| | | <!-- <el-button v-waves type="primary" @click="settingDialogVisibleConfirm">确 定</el-button>--> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!--设备组--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="设备组" |
| | | :visible.sync="DeviceGroupDialogVisible" |
| | | width="800px" |
| | |
| | | @close="handleCloseDeviceGroup" |
| | | > |
| | | <div style="margin-bottom: 20px;display: flex"> |
| | | <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addDeviceGroup">新增</el-button> |
| | | <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addDeviceGroup">新增</el-button> |
| | | </div> |
| | | <el-table |
| | | ref="DeviceGroupArray" |
| | |
| | | prop="code" |
| | | label="分组编码" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-input v-if="row.isVisible===1"v-model="row.code" oninput="value=value.replace(/[^0-9a-zA-Z]/g,'')" placeholder="请输入" /> |
| | | <el-input |
| | | v-if="row.isVisible===1" |
| | | v-model="row.code" |
| | | oninput="value=value.replace(/[^0-9a-zA-Z]/g,'')" |
| | | placeholder="请输入" |
| | | /> |
| | | <div v-else> {{ row.code }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | show-tooltip-when-overflow |
| | | label="分组名称" |
| | | sortable="custom" |
| | | > |
| | |
| | | prop="eqptype_name" |
| | | label="所属设备类型" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-select |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="remark" |
| | | show-tooltip-when-overflow |
| | | label="分组描述" |
| | | sortable="custom" |
| | | > |
| | |
| | | <el-table-column label="操作"> |
| | | <template slot-scope="{row}"> |
| | | <div class="operationClass"> |
| | | <el-button v-if="row.isVisible===0" type="text" @click="DeviceGroupDel(row)">删除</el-button> |
| | | <el-button v-if="row.isVisible===1" type="text" @click="DeviceGroupSave(row)">保存</el-button> |
| | | <el-button v-if="row.isVisible===1" type="text" @click="DeviceGroupCancel(row)">取消</el-button> |
| | | <el-button v-if="row.isVisible===0" v-waves type="text" @click="DeviceGroupDel(row)">删除</el-button> |
| | | <el-button v-if="row.isVisible===1" v-waves type="text" @click="DeviceGroupSave(row)">保存</el-button> |
| | | <el-button v-if="row.isVisible===1" v-waves type="text" @click="DeviceGroupCancel(row)">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | /> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button @click="DeviceGroupDialogVisibleCancel">返回</el-button> |
| | | <!-- <el-button type="primary" @click="settingDialogVisibleConfirm">确 定</el-button>--> |
| | | <el-button v-waves @click="DeviceGroupDialogVisibleCancel">返回</el-button> |
| | | <!-- <el-button v-waves type="primary" @click="settingDialogVisibleConfirm">确 定</el-button>--> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!--导入--> |
| | | <import-picker |
| | | ref="importPickerFunc" |
| | | class="importPickerClass" |
| | | :shows.sync="shows" |
| | | :title="title_value" |
| | | :colos="colos" |
| | | :code="code" |
| | | /> |
| | | |
| | | </div> |
| | | </template> |
| | |
| | | WorkShopSelect, WorkShopSelectLine |
| | | } from '@/api/sbgl' |
| | | import { handleDatetime, validateCode } from '@/utils/global' |
| | | import ImportPicker from '@/components/ImportPicker' |
| | | import elDragDialog from '@/directive/el-drag-dialog' |
| | | import waves from '@/directive/waves' |
| | | |
| | | export default { |
| | | name: 'SBQD', |
| | | components: { |
| | | Pagination |
| | | Pagination, ImportPicker |
| | | }, |
| | | directives: { elDragDialog, waves }, |
| | | data() { |
| | | return { |
| | | mouseHoverType: 'mouseout', |
| | |
| | | prop: 'code', |
| | | order: 'desc' |
| | | }, |
| | | DeviceGroupTotal: 0 |
| | | DeviceGroupTotal: 0, |
| | | |
| | | title_value: '数据导入 / 设备清单', |
| | | code: '9', |
| | | shows: false |
| | | } |
| | | }, |
| | | watch: { |
| | | shows() { |
| | | if (!this.shows) { |
| | | this.getDeviceMangerSearch() |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | this.getHeight() |
| | | }, |
| | | methods: { |
| | | // 设备清单导入 |
| | | upload() { |
| | | this.shows = true |
| | | this.$refs.importPickerFunc.newDataFunc() |
| | | }, |
| | | colos() { |
| | | this.shows = false |
| | | }, |
| | | handleRequest() { |
| | | // 获取设备清单列表 |
| | | this.getDeviceMangerSearch().then(res => { |
| | |
| | | search() { |
| | | this.getDeviceMangerSearch() |
| | | }, |
| | | // 导入 |
| | | upload() { |
| | | |
| | | }, |
| | | |
| | | // 重置 |
| | | reset() { |
| | | this.form.DeviceCode = '' |
| | |
| | | dialogVisibleConfirm() { |
| | | this.$refs.dialogForm.validate(valid => { |
| | | if (valid) { |
| | | this.$store.state.app.buttonIsDisabled = true |
| | | const data = { |
| | | id: this.dialogForm.id, |
| | | devicecode: this.dialogForm.devicecode, |
| | |
| | | } |
| | | AddUpdateDeviceManger(data).then(res => { |
| | | if (res.code === '200') { |
| | | this.$message.success(this.operation === 'add' ? '添加成功!' : '修改成功!') |
| | | this.dialogVisible = false |
| | | this.$message.success(this.operation === 'add' ? '添加成功!' : '修改成功!') |
| | | this.getDeviceMangerSearch() |
| | | this.$store.state.app.buttonIsDisabled = false |
| | | } else { |
| | | this.$message.error(this.operation === 'add' ? '添加失败!' : '修改失败!') |
| | | } |
| | |
| | | }, |
| | | // 新增按钮 |
| | | addDeviceType() { |
| | | if (this.DeviceTypeArray.find(i => i.isVisible === 1)) { |
| | | return this.$message.info('请先保存上一条记录!') |
| | | } |
| | | |
| | | let number = Math.random() * Math.random()// 作为删除时的标识符 |
| | | number = number === 0 ? (10 + Math.random()) : number |
| | | this.DeviceTypeArray.unshift({ code: '', name: '', group: '', remark: '', isVisible: 1, number: number }) |
| | |
| | | }, |
| | | // 新增 |
| | | addDeviceGroup() { |
| | | if (this.DeviceGroupArray.find(i => i.isVisible === 1)) { |
| | | return this.$message.info('请先保存上一条记录!') |
| | | } |
| | | let number = Math.random() * Math.random()// 作为删除时的标识符 |
| | | number = number === 0 ? (10 + Math.random()) : number |
| | | this.DeviceGroupArray.unshift({ |
| | |
| | | <!--公共页面样式--> |
| | | <style lang="scss" scoped> |
| | | $main_color: #42b983; |
| | | ::v-deep .el-button--text{ |
| | | font-size: 14px ; |
| | | cursor: pointer ; |
| | | ::v-deep .el-button--text { |
| | | font-size: 14px; |
| | | cursor: pointer; |
| | | } |
| | | .el-icon-share ,.el-icon-delete,.el-icon-edit-outline{ |
| | | |
| | | .el-icon-share, .el-icon-delete, .el-icon-edit-outline { |
| | | color: $main_color; |
| | | cursor: pointer; |
| | | } |
| | | .el-icon-edit-outline{ |
| | | |
| | | .el-icon-edit-outline { |
| | | margin-right: 15px; |
| | | } |
| | | |
| | |
| | | background-color: #f8f8fa; |
| | | } |
| | | |
| | | ::v-deep .el-table__body .el-table__row.hover-row td{ |
| | | background-color: #eaecef ; |
| | | ::v-deep .el-table__body .el-table__row.hover-row td { |
| | | background-color: #eaecef; |
| | | } |
| | | |
| | | ::v-deep .el-form--inline .el-form-item__label { |
| | |
| | | .body ::v-deep .el-form-item { |
| | | margin-bottom: 0; |
| | | } |
| | | |
| | | .userDialogVisible ::v-deep .el-form-item { |
| | | margin-bottom: 0; |
| | | } |
| | | ::v-deep .el-select__caret{ |
| | | |
| | | ::v-deep .el-select__caret { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .tableFixed{ |
| | | ::v-deep .el-table__fixed-right{ |
| | | .tableFixed { |
| | | ::v-deep .el-table__fixed-right { |
| | | height: 100% !important; |
| | | } |
| | | ::v-deep .el-table__fixed{ |
| | | |
| | | ::v-deep .el-table__fixed { |
| | | height: 100% !important; |
| | | } |
| | | } |