| | |
| | | <template> |
| | | <div> |
| | | <el-row :gutter="20"> |
| | | <el-row :gutter="5"> |
| | | <el-col :span="5"> |
| | | <div class="fa-card-a"> |
| | | <div class="fa-card-a" style="margin-right: 5px;height: calc(100vh - 123px)"> |
| | | <product-model-tree @on-selected="onProductSelected"/> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="19"> |
| | | <div class="mod-basicInfo-paramData}"> |
| | | <zt-table-wraper ref="tableObj" :query-url=queryUrl |
| | | :delete-url=deleteUrl |
| | | <div class="mod-basicInfo-paramData fa-card-a" style="margin-left: 5px;"> |
| | | <zt-table-wraper ref="tableObj" defaultNotQuery="true" query-url="/basicInfo/ParamData/page" |
| | | delete-url="/basicInfo/ParamData/" |
| | | @dataLoaded="dataLoaded" |
| | | v-slot="{ table }" |
| | | :paging='false'> |
| | | <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> |
| | | <el-form-item> |
| | | <el-input v-model="dataForm.name" placeholder="请输入名称" clearable></el-input> |
| | | <zt-dict v-model="dataForm.basicJoinCompute" dict="is_or_not" placeholder="是否参与计算" clearable></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-dict v-model="dataForm.repairable" dict="is_or_not" placeholder="是否可维修" clearable></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-dict v-model="dataForm.reliabDistribType" dict="ReliabDistribType" placeholder="请选择可靠性分布类型" clearable></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-dict v-model="dataForm.repairDistribType" dict="RepairDistribType" placeholder="请选择维修分布类型" clearable></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-button type="warning" @click="handleSaveRows">保存</zt-button> |
| | |
| | | <zt-button type="delete" @click="table.deleteHandle()"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" |
| | | <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:30}" |
| | | class="paramsDataTable" |
| | | |
| | | border @selection-change="table.selectionChangeHandle"> |
| | | @selection-change="table.selectionChangeHandle"> |
| | | <el-table-column type="selection" :key="1" width="40" align="center"/> |
| | | <el-table-column prop="name" :key="2" label="名称" fixed="left"/> |
| | | <el-table-column v-if="dataForm.nodeType==='4'" :key="3" prop="baseOperatRatio" label="基本可靠性运行比"> |
| | |
| | | <el-table-column prop="repairable" label="可维修" :key="23"> |
| | | <template v-slot="{ row }"> |
| | | <el-select v-if="row.isEdit" v-model="row.repairable" |
| | | placeholder="当前状态"> |
| | | placeholder="请选择"> |
| | | <el-option v-for="item in isOrNot" |
| | | :key="item.value" |
| | | :label="item.label" |
| | |
| | | <el-table-column prop="repairDistribType" label="维修分布类型" :key="24" width="140"> |
| | | <template v-slot="{ row }"> |
| | | <el-select v-if="row.isEdit" v-model="row.repairDistribType" |
| | | placeholder="当前状态"> |
| | | placeholder="请选择"> |
| | | <el-option v-for="item in repairDistribType" |
| | | :key="item.value" |
| | | :label="item.label" |
| | |
| | | width="160"> |
| | | <template v-slot="{ row }"> |
| | | <el-select v-if="row.isEdit" v-model="row.reliabDistribType" |
| | | placeholder="当前状态"> |
| | | placeholder="请选择"> |
| | | <el-option v-for="item in reliabDistribType" |
| | | :key="item.value" |
| | | :label="item.label" |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | queryUrl: '/basicInfo/ParamData/page', |
| | | deleteUrl: '/basicInfo/ParamData', |
| | | pageCode: '', |
| | | key: '', |
| | | typeS: '', |
| | |
| | | srcId: '', |
| | | name: '', |
| | | dataThreeList: null, |
| | | nodeType: '5' |
| | | nodeType: '5', |
| | | basicJoinCompute:'', |
| | | repairable:'', |
| | | repairDistribType:'', |
| | | reliabDistribType:'' |
| | | }, |
| | | isOrNot: [{ |
| | | value: 1, |
| | |
| | | ], |
| | | // editingCell:null, |
| | | dataList: [], |
| | | originalTableData:[], |
| | | originalData: null, // 记录修改前的数据 |
| | | } |
| | | }, |
| | | // 在组件中定义 beforeRouteLeave 导航守卫 |
| | | beforeRouteLeave(to, from, next) { |
| | | console.log(this.$store.state.contentTabs,'this.$store.state.contentTabsActiveName') |
| | | if (this.hasUnsavedChanges()) { // 检查是否有未保存的变更 |
| | | this.$confirm('您有未保存的更改,请先保存。是否继续离开?', '提示', { |
| | | confirmButtonText: '保存', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.handleSaveRows(); // 保存数据 |
| | | next(); |
| | | }).catch(() => { |
| | | next(false); // 取消路由离开 |
| | | }); |
| | | } else { |
| | | next(); |
| | | } |
| | | }, |
| | | components: { |
| | |
| | | this.originalData = null |
| | | this.dataForm.dataThreeList = null |
| | | this.$refs.tableObj.query() |
| | | this.originalTableData = JSON.parse(JSON.stringify(this.dataList)); // 更新初始数据为当前数据 |
| | | console.log(this.originalTableData,'this.originalTableData 当前表格json数据') |
| | | } |
| | | }, |
| | | edit(row) { |
| | |
| | | // }, |
| | | onProductSelected(data) { |
| | | this.dataForm.srcId = data.id |
| | | this.dataForm.nodeType = data.productType |
| | | if (data.productType === '3') { |
| | | this.dataForm.nodeType = '2' |
| | | } |
| | | console.log(data, 'onProductSelected(data)') |
| | | this.$refs.tableObj.query() |
| | | }, |
| | |
| | | this.$set(dataList, 'isRemove', false) |
| | | console.log(dataList, 'dataList') |
| | | } |
| | | } |
| | | this.originalTableData = JSON.parse(JSON.stringify(this.dataList)) |
| | | console.log(this.originalTableData,'this.originalTableData 初始表格json数据') |
| | | }, |
| | | hasUnsavedChanges() { |
| | | // 检查当前表格数据与初始数据是否相同 |
| | | return JSON.stringify(this.dataList) !== JSON.stringify(this.originalTableData); |
| | | }, |
| | | } |
| | | } |
| | | </script> |