| | |
| | | <!-- |
| | | * @Date: 2024-01-06 17:40:19 |
| | | * @LastEditors: Sneed |
| | | * @LastEditTime: 2024-01-10 21:43:14 |
| | | * @LastEditTime: 2024-01-13 22:13:17 |
| | | * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/ledger/index.vue |
| | | --> |
| | | <template> |
| | | <div class="maintenance"> |
| | | <div class="nav">设备保养/日常保养</div> |
| | | <div class="nav">台账</div> |
| | | <List ref="list" url="/account/pageQuery"> |
| | | <template slot="search"> |
| | | <div class="item"> |
| | |
| | | <el-input class="item-value" v-model="queryInfo.uuid"></el-input> |
| | | </div> |
| | | <div class="item"> |
| | | <span>设备规格</span> |
| | | <el-input class="item-value" v-model="queryInfo.specification"></el-input> |
| | | </div> |
| | | <div class="item"> |
| | | <span>设备型号</span> |
| | | <el-input class="item-value" v-model="queryInfo.type"></el-input> |
| | | </div> |
| | | <div class="item"> |
| | | <span>加工类型</span> |
| | | <el-select class="item-value" v-model="queryInfo.category" placeholder="---请选择---"> |
| | | <el-option |
| | | v-for="item in deviceType" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | <el-select class="item-value" v-model="queryInfo.category" placeholder=""> |
| | | <el-option v-for="item in deviceType" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="item"> |
| | | <span>账务属性</span> |
| | | <el-select class="item-value" v-model="queryInfo.accountingAttribute" placeholder=""> |
| | | <el-option v-for="item in accountingAttribute" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="item"> |
| | | <span>使用部门</span> |
| | | <el-select class="item-value" v-model="queryInfo.department"> |
| | | <el-option |
| | | v-for="item in departmentlist" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | <el-option v-for="item in departmentlist" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="query btn" @click="query">查询</div> |
| | | <span>设备管理分类</span> |
| | | <el-select class="item-value" v-model="queryInfo.manageType"> |
| | | <el-option value="A">A</el-option> |
| | | <el-option value="B">B</el-option> |
| | | <el-option value="C">C</el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="reset btn">重置</div> |
| | | <span>投产日期</span> |
| | | <el-date-picker class="item-value" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="queryInfo.productionDate" type="date" clearable placeholder="选择日期"></el-date-picker> |
| | | </div> |
| | | <div class="item"> |
| | | <span>生产厂家</span> |
| | | <el-input class="item-value" v-model="queryInfo.manufacturer"></el-input> |
| | | </div> |
| | | <div class="item"> |
| | | <el-button type="primary" size="small" @click="query">查询</el-button> |
| | | <!-- <div class="query btn" @click="query">查询</div> --> |
| | | </div> |
| | | <div class="item"> |
| | | <el-button type="primary" size="small" @click="reset">重置</el-button> |
| | | <!-- <div class="reset btn" @click="reset">重置</div> --> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | <template slot="table-tool"> |
| | | <el-button type="primary" size="mini" @click="add">添加设备台账</el-button> |
| | | </template> |
| | | <template slot="columns"> |
| | | <el-table-column |
| | | prop="uuid" |
| | | label="统一编号" |
| | | width="180"> |
| | | <!-- <el-table-column type="selection" align="center" width="55"> |
| | | </el-table-column> --> |
| | | <el-table-column label="统一编号" align="center" prop="uuid"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="specification" |
| | | label="设备规格" |
| | | width="180"> |
| | | <el-table-column label="设备名称" align="center" prop="machineName"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="machineId" |
| | | label="设备型号"> |
| | | <el-table-column label="设备规格" align="center" prop="specification"> |
| | | </el-table-column> |
| | | <el-table-column label="设备型号" align="center" prop="category"> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | | label="设备管理分类" |
| | | align="center" |
| | | prop="managType"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="班次" |
| | | align="center" |
| | | prop="classes"> |
| | | </el-table-column> --> |
| | | <el-table-column label="使用部门" align="center" prop="department"> |
| | | </el-table-column> |
| | | <el-table-column label="设备类型" align="center" prop="category"> |
| | | </el-table-column> |
| | | <el-table-column label="设备状态" align="center" prop="state"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.state == 'STOP'">关机状态</span> |
| | | <span v-else-if="scope.row.state == 'RUN'">运行状态</span> |
| | | <span v-else-if="scope.row.state == 'IDLE'">空闲状态</span> |
| | | <span v-else-if="scope.row.state == 'ALARM'">报警状态</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="账务属性" align="center" prop="accountingAttribute"> |
| | | </el-table-column> |
| | | <el-table-column label="生产厂家" align="center" prop="manufacturer"> |
| | | </el-table-column> |
| | | <el-table-column label="投产日期" align="center" prop="productionDate"> |
| | | </el-table-column> |
| | | <el-table-column label="国别" align="center" prop="country"> |
| | | </el-table-column> |
| | | <el-table-column width="110" align="center" label="设备原值(元)" prop="originalValue"> |
| | | </el-table-column> |
| | | <el-table-column width="110" align="center" label="设备重量(kg)" prop="weight"> |
| | | </el-table-column> |
| | | <el-table-column width="110" align="center" label="电气复杂系数" prop="elecCompFactor"> |
| | | </el-table-column> |
| | | <el-table-column width="110" align="center" label="机械复杂系数" prop="mechCompFactor"> |
| | | </el-table-column> |
| | | <el-table-column width="120" align="center" label="设备净现值(元)" prop="presentValue"> |
| | | </el-table-column> |
| | | <el-table-column label="备注" align="center" prop="remark"> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" align="center" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row)">编辑</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | | </List> |
| | | <manage-add-update :addVisible="addOrUpdateVisible" @close="close" @confirm="confirm" :deviceType="deviceType" |
| | | :departmentlist="departmentlist"></manage-add-update> |
| | | <manage-add-update v-if="addOrUpdateVisible" :addVisible="addOrUpdateVisible" @close="close" @confirm="confirm" |
| | | :deviceType="deviceType" :departmentlist="departmentlist" :isselectlist="isselectlist" |
| | | :deviceStatus="deviceStatus" :financePro="financePro" :row="row"></manage-add-update> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import ManageAddUpdate from './Manage-add-update' |
| | | import { getUseDpts } from '@/api/Api' |
| | | import List from '../list/index.vue' |
| | | export default { |
| | | components: { |
| | | List, |
| | | ManageAddUpdate |
| | | }, |
| | | data () { |
| | | return { |
| | | // 加工类型 |
| | | deviceType: [ |
| | | { value: '立加', label: '立加' }, |
| | | { value: '卧加', label: '卧加' }, |
| | | { value: '立卧转换', label: '立卧转换' }, |
| | | { value: '五轴', label: '五轴' }, |
| | | { value: '数控车', label: '数控车' }, |
| | | { value: '复合加工', label: '复合加工' }, |
| | | { value: '数控磨', label: '数控磨' }, |
| | | { value: '齿加工', label: '齿加工' }, |
| | | { value: '电工加', label: '电工加' } |
| | | ], |
| | | departmentlist: [], |
| | | queryInfo: { |
| | | no: '' |
| | | import ManageAddUpdate from './Manage-add-update' |
| | | import { getUseDpts } from '@/api/Api' |
| | | import List from '../list/index.vue' |
| | | export default { |
| | | components: { |
| | | List, |
| | | ManageAddUpdate |
| | | }, |
| | | data() { |
| | | return { |
| | | // 加工类型 |
| | | deviceType: [ |
| | | { value: '立加', label: '立加' }, |
| | | { value: '卧加', label: '卧加' }, |
| | | { value: '立卧转换', label: '立卧转换' }, |
| | | { value: '五轴', label: '五轴' }, |
| | | { value: '数控车', label: '数控车' }, |
| | | { value: '复合加工', label: '复合加工' }, |
| | | { value: '数控磨', label: '数控磨' }, |
| | | { value: '齿加工', label: '齿加工' }, |
| | | { value: '电工加', label: '电工加' } |
| | | ], |
| | | isselectlist: [ |
| | | { |
| | | label: '是', |
| | | value: '1' |
| | | }, |
| | | options: [{}], |
| | | addOrUpdateVisible: false |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.query() |
| | | this.init() |
| | | }, |
| | | methods: { |
| | | init () { |
| | | // 查询使用部门 |
| | | getUseDpts().then(res => { |
| | | this.departmentlist = res.data.map(item => { |
| | | return { |
| | | { |
| | | label: '否', |
| | | value: '0' |
| | | } |
| | | ], |
| | | // 设备状态 |
| | | deviceStatus: [ |
| | | { value: 'STOP', label: '关机' }, |
| | | { value: 'RUN', label: '运行' }, |
| | | { value: 'IDLE', label: '空闲' }, |
| | | { value: 'ALARM', label: '报警' } |
| | | ], |
| | | // 账务属性 |
| | | financePro: [ |
| | | { value: '帐内', label: '帐内' }, |
| | | { value: '帐外', label: '帐外' } |
| | | ], |
| | | departmentlist: [], |
| | | queryInfo: { |
| | | uuid: '', |
| | | specification: '', |
| | | type: '', |
| | | category: '', |
| | | accountingAttribute: '', |
| | | department: '', |
| | | manageType: '', |
| | | productionDate: '', |
| | | manufacturer: '', |
| | | }, |
| | | options: [{}], |
| | | row: {}, |
| | | addOrUpdateVisible: false |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.query() |
| | | this.init() |
| | | }, |
| | | methods: { |
| | | init() { |
| | | // 查询使用部门 |
| | | getUseDpts().then(res => { |
| | | this.departmentlist = res.data.map(item => { |
| | | return { |
| | | value: item.id, |
| | | label: item.name |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | query () { |
| | | this.$refs.list.pageQuery(this.queryInfo) |
| | | }, |
| | | add () { |
| | | this.addOrUpdateVisible = true |
| | | }, |
| | | close () { |
| | | this.addOrUpdateVisible = false |
| | | }, |
| | | confirm () { |
| | | this.query() |
| | | this.close() |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | query() { |
| | | this.$refs.list.pageQuery(this.queryInfo) |
| | | }, |
| | | reset () { |
| | | Object.keys(this.queryInfo).forEach(key => { |
| | | this.queryInfo[key] = '' |
| | | }) |
| | | }, |
| | | add() { |
| | | this.row = {} |
| | | this.addOrUpdateVisible = true |
| | | }, |
| | | close() { |
| | | this.addOrUpdateVisible = false |
| | | }, |
| | | confirm() { |
| | | this.query() |
| | | this.close() |
| | | }, |
| | | addOrUpdateHandle(row) { |
| | | this.row = row |
| | | this.addOrUpdateVisible = true |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | <style lang="scss"> |
| | | .maintenance { |
| | |
| | | border: 1px solid #435F9E; |
| | | } |
| | | } |
| | | .el-button--mini { |
| | | background: transparent; |
| | | } |
| | | .el-button--primary { |
| | | background-color: transparent; |
| | | } |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | .maintenance { |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | color: #FFF; |
| | | .maintenance { |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | color: #FFF; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .nav { |
| | | padding: 10px 30px; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .item { |
| | | margin-top: 20px; |
| | | margin-left: 50px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .nav { |
| | | padding: 10px 30px; |
| | | align-items: center; |
| | | |
| | | span { |
| | | width: 120px; |
| | | font-size: 16px; |
| | | font-family: PingFangSC, PingFang SC; |
| | | color: #C6DCE0; |
| | | text-align: right; |
| | | padding-right: 20px; |
| | | } |
| | | .item { |
| | | margin-top: 20px; |
| | | margin-left: 50px; |
| | | display: flex; |
| | | align-items: center; |
| | | span { |
| | | width: 120px; |
| | | font-size: 16px; |
| | | font-family: PingFangSC, PingFang SC; |
| | | color: #C6DCE0; |
| | | text-align: right; |
| | | padding-right: 20px; |
| | | } |
| | | .item-value { |
| | | width: 200px; |
| | | border: 1px solid #435F9E; |
| | | } |
| | | .btn { |
| | | line-height: 1.5; |
| | | width: 100px; |
| | | text-align: center; |
| | | font-size: 16px; |
| | | cursor: pointer; |
| | | } |
| | | .reset { |
| | | background: #AAB6BA; |
| | | color: #FFF; |
| | | } |
| | | .query { |
| | | background: #5DD1FC; |
| | | color: #FFF; |
| | | } |
| | | |
| | | .item-value { |
| | | width: 200px; |
| | | border: 1px solid #435F9E; |
| | | } |
| | | |
| | | .btn { |
| | | line-height: 1.5; |
| | | width: 100px; |
| | | text-align: center; |
| | | font-size: 16px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .reset { |
| | | background: #AAB6BA; |
| | | color: #FFF; |
| | | } |
| | | |
| | | .query { |
| | | background: #5DD1FC; |
| | | color: #FFF; |
| | | } |
| | | } |
| | | } |
| | | </style> |