|
@@ -17,29 +17,87 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
|
|
+ <el-row :gutter="10" class="mb8">
|
|
|
|
+ <el-col :span="1.5">
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ plain
|
|
|
|
+ icon="el-icon-plus"
|
|
|
|
+ size="mini"
|
|
|
|
+ @click="handleAdd"
|
|
|
|
+ v-hasPermi="['system:user:add']"
|
|
|
|
+ >新增
|
|
|
|
+ </el-button>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="1.5">
|
|
|
|
+ <el-button
|
|
|
|
+ type="success"
|
|
|
|
+ plain
|
|
|
|
+ icon="el-icon-edit"
|
|
|
|
+ size="mini"
|
|
|
|
+ :disabled="single"
|
|
|
|
+ @click="handleUpdate"
|
|
|
|
+ v-hasPermi="['system:user:edit']"
|
|
|
|
+ >修改
|
|
|
|
+ </el-button>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="1.5">
|
|
|
|
+ <el-button
|
|
|
|
+ type="danger"
|
|
|
|
+ plain
|
|
|
|
+ icon="el-icon-delete"
|
|
|
|
+ size="mini"
|
|
|
|
+ :disabled="multiple"
|
|
|
|
+ @click="handleDelete"
|
|
|
|
+ v-hasPermi="['system:user:remove']"
|
|
|
|
+ >删除
|
|
|
|
+ </el-button>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="1.5">
|
|
|
|
+ <el-button
|
|
|
|
+ type="info"
|
|
|
|
+ plain
|
|
|
|
+ icon="el-icon-upload2"
|
|
|
|
+ size="mini"
|
|
|
|
+ @click="handleImport"
|
|
|
|
+ v-hasPermi="['system:user:import']"
|
|
|
|
+ >导入
|
|
|
|
+ </el-button>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="1.5">
|
|
|
|
+ <el-button
|
|
|
|
+ type="warning"
|
|
|
|
+ plain
|
|
|
|
+ icon="el-icon-download"
|
|
|
|
+ size="mini"
|
|
|
|
+ @click="handleExport"
|
|
|
|
+ v-hasPermi="['system:user:export']"
|
|
|
|
+ >导出
|
|
|
|
+ </el-button>
|
|
|
|
+ </el-col>
|
|
|
|
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
|
|
|
+ </el-row>
|
|
|
|
+
|
|
<div style="padding-top: 10px">
|
|
<div style="padding-top: 10px">
|
|
<vxe-table
|
|
<vxe-table
|
|
ref="xTable"
|
|
ref="xTable"
|
|
- border
|
|
|
|
- export-config
|
|
|
|
- keep-source
|
|
|
|
|
|
+ align="center"
|
|
|
|
+ class="mytable-style"
|
|
auto-resize
|
|
auto-resize
|
|
|
|
+ border
|
|
resizable
|
|
resizable
|
|
|
|
+ export-config
|
|
highlight-current-row
|
|
highlight-current-row
|
|
- :loading="loading"
|
|
|
|
|
|
+ show-overflow
|
|
|
|
+ max-height="700"
|
|
:data="tableData"
|
|
:data="tableData"
|
|
- :edit-config="{trigger: 'manual', mode: 'row',autoClear:false,showStatus: true,icon:'none'}">
|
|
|
|
- <vxe-table-column field="equipmentNo" title="设备编号" ></vxe-table-column>
|
|
|
|
- <vxe-table-column field="name" title="设备名称" ></vxe-table-column>
|
|
|
|
- <vxe-table-column field="manufacturer" title="制造商" ></vxe-table-column>
|
|
|
|
- <vxe-table-column field="modelNumber" title="型号" ></vxe-table-column>
|
|
|
|
- <vxe-table-column field="installationTime" title="安装时间" ></vxe-table-column>
|
|
|
|
- <vxe-table-column field="timeInterval" title="入库时间间隔" :formatter="timeIntervalFormat"></vxe-table-column>
|
|
|
|
- <vxe-table-column field="groupSeries" title="是否组串式" :formatter="yesNoFormat"></vxe-table-column>
|
|
|
|
- <vxe-table-column field="efficiency" title="逆变器效率" ></vxe-table-column>
|
|
|
|
- <vxe-table-column field="capacity" title="额定功率" ></vxe-table-column>
|
|
|
|
- <vxe-table-column field="collectorCircuit" title="集电线路" ></vxe-table-column>
|
|
|
|
- <vxe-table-column field="sample" title="逆变器是否样板机" :formatter="yesNoFormat"></vxe-table-column>
|
|
|
|
|
|
+ :radio-config="{trigger: 'row'}">
|
|
|
|
+ <vxe-column type="radio" width="60"/>
|
|
|
|
+ <vxe-table-column field="stationCode" title="所属场站" :formatter="stationCodeFormat"></vxe-table-column>
|
|
|
|
+ <vxe-table-column field="name" title="设备名称"></vxe-table-column>
|
|
|
|
+ <vxe-table-column field="manufacturer" title="制造商"></vxe-table-column>
|
|
|
|
+ <vxe-table-column field="modelNumber" title="型号"></vxe-table-column>
|
|
|
|
+ <vxe-table-column field="sample" title="是否样板机" :formatter="yesNoFormat"></vxe-table-column>
|
|
</vxe-table>
|
|
</vxe-table>
|
|
<vxe-pager
|
|
<vxe-pager
|
|
background
|
|
background
|
|
@@ -52,6 +110,70 @@
|
|
</vxe-pager>
|
|
</vxe-pager>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="750px" height="600px">
|
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" width="730px" label-width="130px">
|
|
|
|
+ <el-row class="mb4">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="所属场站" prop="stationCode">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="form.stationCode"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in this.stationList"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="设备名称" prop="name">
|
|
|
|
+ <el-input style="width: 100%" v-model="form.name" maxlength="50"/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row class="mb4">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="制造商" prop="manufacturer">
|
|
|
|
+ <el-input style="width: 100%" v-model="form.manufacturer" maxlength="50"/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="型号" prop="modelNumber">
|
|
|
|
+ <el-input style="width: 100%" v-model="form.modelNumber" maxlength="50"/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row class="mb4">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="是否样板机" prop="sample">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="form.sample"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in this.yesNoOptions"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-form>
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button type="primary" @click="commitChannel">确 定</el-button>
|
|
|
|
+ <el-button @click="cancelChannel">取 消</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -61,6 +183,17 @@ export default {
|
|
name: 'inverterinfo',
|
|
name: 'inverterinfo',
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ form: {
|
|
|
|
+ stationCode: undefined,
|
|
|
|
+ name: undefined,
|
|
|
|
+ manufacturer: undefined,
|
|
|
|
+ modelNumber: undefined,
|
|
|
|
+ sample: undefined,
|
|
|
|
+ },
|
|
|
|
+ title: "",
|
|
|
|
+ // 是否显示弹出层
|
|
|
|
+ open: false,
|
|
|
|
+ edit: false,
|
|
total: 0,
|
|
total: 0,
|
|
sortOrder: 'asc',
|
|
sortOrder: 'asc',
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
@@ -71,6 +204,28 @@ export default {
|
|
tableData: [],
|
|
tableData: [],
|
|
loading: false,
|
|
loading: false,
|
|
modId: '',//备用id
|
|
modId: '',//备用id
|
|
|
|
+ yesNoOptions: [
|
|
|
|
+ {value: '0', label: '不是'},
|
|
|
|
+ {value: '1', label: '是'}
|
|
|
|
+ ],
|
|
|
|
+ // 表单校验
|
|
|
|
+ rules: {
|
|
|
|
+ stationCode: [
|
|
|
|
+ {required: true, message: "所属场站不能为空", trigger: "blur"}
|
|
|
|
+ ],
|
|
|
|
+ name: [
|
|
|
|
+ {required: true, message: "设备名称不能为空", trigger: "blur"}
|
|
|
|
+ ],
|
|
|
|
+ manufacturer: [
|
|
|
|
+ {required: true, message: "制造商不能为空", trigger: "blur"}
|
|
|
|
+ ],
|
|
|
|
+ modelNumber: [
|
|
|
|
+ {required: true, message: "型号不能为空", trigger: "blur"}
|
|
|
|
+ ],
|
|
|
|
+ sample: [
|
|
|
|
+ {required: true, message: "是否样板不能为空", trigger: "blur"}
|
|
|
|
+ ],
|
|
|
|
+ },
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
@@ -78,24 +233,88 @@ export default {
|
|
},
|
|
},
|
|
computed: {},
|
|
computed: {},
|
|
methods: {
|
|
methods: {
|
|
- stationChange(){
|
|
|
|
|
|
+ // 表单重置
|
|
|
|
+ reset() {
|
|
|
|
+ this.edit = false;
|
|
|
|
+ this.form = {
|
|
|
|
+ stationCode: undefined,
|
|
|
|
+ name: undefined,
|
|
|
|
+ manufacturer: undefined,
|
|
|
|
+ modelNumber: undefined,
|
|
|
|
+ sample: undefined,
|
|
|
|
+ },
|
|
|
|
+ this.resetForm("form");
|
|
|
|
+ },
|
|
|
|
+ // 取消按钮
|
|
|
|
+ cancelChannel() {
|
|
|
|
+ this.open = false;
|
|
|
|
+ this.reset();
|
|
|
|
+ },
|
|
|
|
+ /** 新增按钮操作 */
|
|
|
|
+ handleAdd() {
|
|
|
|
+ this.reset();
|
|
|
|
+ this.open = true;
|
|
|
|
+ this.title = "新增逆变器信息";
|
|
|
|
+ this.edit = false;
|
|
|
|
+ },
|
|
|
|
+ /** 修改按钮操作 */
|
|
|
|
+ handleUpdate() {
|
|
|
|
+ this.title = "修改逆变器信息";
|
|
|
|
+ this.reset();
|
|
|
|
+ const _selectData = this.$refs.xTable.getRadioRecord(true)
|
|
|
|
+ if (_selectData == null) {
|
|
|
|
+ this.$message({
|
|
|
|
+ type: 'warning',
|
|
|
|
+ message: '请选择记录!'
|
|
|
|
+ });
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ this.open = true;
|
|
|
|
+ this.edit = true;
|
|
|
|
+ this.form = JSON.parse(JSON.stringify(_selectData))
|
|
|
|
+ },
|
|
|
|
+ // 提交按钮
|
|
|
|
+ commitChannel() {
|
|
|
|
+ this.$refs["form"].validate(async valid => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ if (this.form.id != undefined) {
|
|
|
|
+ // 更新操作
|
|
|
|
+ this.$request.post('/inverterinfo/updateById', this.form).then((res) => {
|
|
|
|
+ this.$message.success('修改成功')
|
|
|
|
+ this.open = false;
|
|
|
|
+ this.stationChange()
|
|
|
|
+ this.dataQuery()
|
|
|
|
+ }).catch((error) => {
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ // 新增操作
|
|
|
|
+ this.$request.post('/inverterinfo/save', this.form).then((res) => {
|
|
|
|
+ if (res == undefined) {
|
|
|
|
+ this.$message.success('新增失败')
|
|
|
|
+ } else {
|
|
|
|
+ this.$message.success('新增成功')
|
|
|
|
+ this.stationChange()
|
|
|
|
+ this.dataQuery()
|
|
|
|
+ this.open = false;
|
|
|
|
+ }
|
|
|
|
+ }).catch((error) => {
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ stationChange() {
|
|
this.currentPage = 1
|
|
this.currentPage = 1
|
|
this.pageSize = 10
|
|
this.pageSize = 10
|
|
},
|
|
},
|
|
- timeIntervalFormat({ cellValue, row, column }) {
|
|
|
|
- if (cellValue==1){
|
|
|
|
- return '一分钟'
|
|
|
|
- }
|
|
|
|
- else if (cellValue==5){
|
|
|
|
- return '五分钟'
|
|
|
|
- }
|
|
|
|
- return ''
|
|
|
|
|
|
+ stationCodeFormat({cellValue, row, column}) {
|
|
|
|
+ const item = this.stationList.find(item => item.value === cellValue)
|
|
|
|
+ return item ? item.label : ''
|
|
},
|
|
},
|
|
- yesNoFormat({ cellValue, row, column }) {
|
|
|
|
- if (cellValue==0){
|
|
|
|
|
|
+ yesNoFormat({cellValue, row, column}) {
|
|
|
|
+ if (cellValue == 0) {
|
|
return '不是'
|
|
return '不是'
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ } else {
|
|
return '是'
|
|
return '是'
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -107,9 +326,9 @@ export default {
|
|
dataQuery() {
|
|
dataQuery() {
|
|
this.loading = true
|
|
this.loading = true
|
|
const param = {
|
|
const param = {
|
|
- "currentPage":this.currentPage,
|
|
|
|
- "pageSize":this.pageSize,
|
|
|
|
- "stationCode":this.stationCode
|
|
|
|
|
|
+ "currentPage": this.currentPage,
|
|
|
|
+ "pageSize": this.pageSize,
|
|
|
|
+ "stationCode": this.stationCode
|
|
}
|
|
}
|
|
|
|
|
|
this.$request.get('/inverterinfo/getByStationCode', {params: param}).then(response => {
|
|
this.$request.get('/inverterinfo/getByStationCode', {params: param}).then(response => {
|
|
@@ -123,7 +342,7 @@ export default {
|
|
getStationCode() {
|
|
getStationCode() {
|
|
this.$request({url: '/electricfield/all', method: 'get'}).then(response => {
|
|
this.$request({url: '/electricfield/all', method: 'get'}).then(response => {
|
|
this.stationList = response.data
|
|
this.stationList = response.data
|
|
- if (this.stationList.length>0){
|
|
|
|
|
|
+ if (this.stationList.length > 0) {
|
|
this.stationCode = this.stationList[0].value
|
|
this.stationCode = this.stationList[0].value
|
|
this.dataQuery()
|
|
this.dataQuery()
|
|
}
|
|
}
|