提交代码

This commit is contained in:
23688nl 2022-04-22 10:57:43 +08:00
parent 5439921adb
commit 7c1628187f
14 changed files with 168 additions and 74 deletions

View File

@ -53,9 +53,10 @@ export function exportSpace_device(query) {
} }
// 根据项目ID查询项目下所有设备 // 根据项目ID查询项目下所有设备
export function listProjectDevice() { export function listProjectDevice(data) {
return request({ return request({
url: '/iot/space_device/not-used', url: '/iot/space_device/not-used',
method: 'get', method: 'get',
params: data
}) })
} }

View File

@ -35,7 +35,7 @@ export function treeselect() {
} }
// 根据角色ID查询部门树结构 // 根据角色ID查询部门树结构
export function roleDeptTreeselect(roleId, tenantId) { export function roleDeptTree(roleId, tenantId) {
let reqUrl = tenantId ? '/' + tenantId + '/' : '/' let reqUrl = tenantId ? '/' + tenantId + '/' : '/'
return request({ return request({
url: '/system/dept/roleDeptTreeselect' + reqUrl + roleId, url: '/system/dept/roleDeptTreeselect' + reqUrl + roleId,

View File

@ -241,7 +241,7 @@ export default {
}) })
.then(() => { .then(() => {
this.msgSuccess("创建成功!"); this.msgSuccess("创建成功!");
this.$router.push("/power/maintenancet"); this.$router.push("/power/maintenance");
}); });
}, },
sortChange(column) { sortChange(column) {

View File

@ -184,7 +184,7 @@ export default {
}) })
.then(() => { .then(() => {
this.msgSuccess("创建成功!"); this.msgSuccess("创建成功!");
this.$router.push("/power/maintenancet"); this.$router.push("/power/maintenance");
}); });
}, },
sortChange(column) { sortChange(column) {

View File

@ -556,9 +556,8 @@ export default {
labelWidth: "68px", labelWidth: "68px",
params: { params: {
deviceName: "", deviceName: "",
modelId: "", deviceType: "GATEWAY_CONTROLLER",
parentId: 0, // parentId: '0'
deviceType: ""
}, },
page: { page: {
pageSize: 10, pageSize: 10,

View File

@ -82,17 +82,17 @@
:index="indexFormatter" :index="indexFormatter"
width="80px" width="80px"
></el-table-column> ></el-table-column>
<el-table-column label="型号" align="laft" width="200" prop="modelName" /> <el-table-column label="型号" align="laft" width="150" prop="modelName" />
<el-table-column <el-table-column
label="固件版本" label="固件版本"
align="center" align="center"
width="160" width="120"
prop="otaVersion" prop="otaVersion"
/> />
<el-table-column <el-table-column
label="固件大小" label="固件大小"
align="center" align="center"
width="160" width="120"
prop="otaSize" prop="otaSize"
/> />
<el-table-column label="升级地址" align="left" prop="otaUrl"> <el-table-column label="升级地址" align="left" prop="otaUrl">

View File

@ -240,7 +240,7 @@
</el-row> </el-row>
<el-form-item label="总路设备:" > <el-form-item label="总路设备:" >
<el-input v-model="form.projectDeviceName" suffix-icon="el-icon-caret-bottom" @focus="openTableSelectDialog()" placeholder="请输入电价合同" /> <el-input v-model="form.projectDeviceName" suffix-icon="el-icon-caret-bottom" @focus="openTableSelectDialog()" placeholder="请输入总路设备" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">

View File

@ -250,7 +250,8 @@ export default {
this.selectTableShow = true; this.selectTableShow = true;
}, },
childGetList(data) { childGetList(data) {
listProjectDevice().then(response => { console.log(data.param)
listProjectDevice(data.param).then(response => {
this.tableSelectOption.tableList = response.data; this.tableSelectOption.tableList = response.data;
// this.tableSelectOption.queryOpt.page.total = Number(response.total); // this.tableSelectOption.queryOpt.page.total = Number(response.total);
}); });

View File

@ -18,7 +18,12 @@
</el-form-item> </el-form-item>
<el-form-item label="故障类型" prop="faultType"> <el-form-item label="故障类型" prop="faultType">
<el-select v-model="queryParams.faultType" placeholder="请选择故障类型" clearable size="small"> <el-select
v-model="queryParams.faultType"
placeholder="请选择故障类型"
clearable
size="small"
>
<el-option <el-option
v-for="dict in faultTypeOptions" v-for="dict in faultTypeOptions"
:key="dict.dictValue" :key="dict.dictValue"
@ -49,8 +54,16 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -68,12 +81,22 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>--> </el-row>-->
<el-table v-loading="loading" :data="nodeList" :default-sort="{ prop: 'handleTime', order: 'descending' }" <el-table
@sort-change="sortChange"> v-loading="loading"
<el-table-column type="index" label="序号" align="center" :index="indexFormatter" width="80px"></el-table-column> :data="nodeList"
:default-sort="{ prop: 'handleTime', order: 'descending' }"
@sort-change="sortChange"
>
<el-table-column
type="index"
label="序号"
align="center"
:index="indexFormatter"
width="80px"
></el-table-column>
<!-- <el-table-column label="审核节点ID" align="center" prop="nodeId" /> --> <!-- <el-table-column label="审核节点ID" align="center" prop="nodeId" /> -->
<el-table-column label="项目名称" align="left" prop="projectName"/> <el-table-column label="项目名称" align="left" prop="projectName" />
<el-table-column label="项目地址" align="left" prop="projectAddress"/> <el-table-column label="项目地址" align="left" prop="projectAddress" />
<el-table-column label="设备名称" align="left" prop="deviceName" /> <el-table-column label="设备名称" align="left" prop="deviceName" />
<el-table-column <el-table-column
sortable="custom" sortable="custom"
@ -85,10 +108,25 @@
/> />
<el-table-column label="上报人" align="left" prop="reporterName" /> <el-table-column label="上报人" align="left" prop="reporterName" />
<el-table-column label="处理人" align="left" prop="handlerName" /> <el-table-column label="处理人" align="left" prop="handlerName" />
<el-table-column label="工作内容" align="left" prop="maintenanceContext" /> <el-table-column label="工作内容" align="left" prop="maintenanceContext">
<el-table-column label="处理时间" align="center" sortable="custom" prop="handleTime" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.handleTime, '{y}-{m}-{d}') }}</span> <span
class="lay-table-textarea"
:title="scope.row.maintenanceContext"
>
{{ scope.row.maintenanceContext }}
</span>
</template>
</el-table-column>
<el-table-column
label="处理时间"
align="center"
sortable="custom"
prop="handleTime"
width="120"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.handleTime, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
@ -97,15 +135,27 @@
<span>{{ workStateList[scope.row.workOrderStatus] }}</span> <span>{{ workStateList[scope.row.workOrderStatus] }}</span>
</template> </template>
</el-table-column>--> </el-table-column>-->
<el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width"> <el-table-column
label="操作"
align="center"
width="250"
class-name="small-padding fixed-width"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handelDetailExamine(scope.row)" @click="handelDetailExamine(scope.row)"
>工单审核</el-button> >工单审核</el-button
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">通过</el-button> >
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>通过</el-button
>
<!-- <el-button <!-- <el-button
size="mini" size="mini"
type="text" type="text"
@ -117,7 +167,7 @@
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@ -141,12 +191,20 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="审核意见:" prop="auditOpinion"> <el-form-item label="审核意见:" prop="auditOpinion">
<el-input v-model="form.auditOpinion" type="textarea" :rows="2" placeholder="请输入审核意见" /> <el-input
v-model="form.auditOpinion"
type="textarea"
maxlength="150"
:rows="2"
placeholder="请输入审核意见"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" @click="submitForm"> </el-button> <el-button size="mini" type="primary" @click="submitForm"
> </el-button
>
<el-button size="mini" @click="cancel"> </el-button> <el-button size="mini" @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -165,25 +223,39 @@
<el-divider content-position="left">审核信息</el-divider> <el-divider content-position="left">审核信息</el-divider>
<el-form> <el-form>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="审核结果:" prop="auditResult" > <el-form-item label="审核结果:" prop="auditResult">
<el-radio-group v-model="form.auditResult" @change="auditResultChange"> <el-radio-group
v-model="form.auditResult"
@change="auditResultChange"
>
<el-radio label="通过">通过</el-radio> <el-radio label="通过">通过</el-radio>
<el-radio label="不通过">不通过</el-radio> <el-radio label="不通过">不通过</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="退回节点:" v-if="form.auditResult === '不通过'" prop="maintenanceStatus"> <el-form-item
label="退回节点:"
v-if="form.auditResult === '不通过'"
prop="maintenanceStatus"
>
<el-radio-group v-model="form.maintenanceStatus"> <el-radio-group v-model="form.maintenanceStatus">
<el-radio label="4">退回处理</el-radio> <el-radio label="4">退回处理</el-radio>
<el-radio label="1">退回上报</el-radio> <el-radio label="1">退回上报</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="审核意见:" prop="auditOpinion"> <el-form-item label="审核意见:" prop="auditOpinion">
<el-input v-model="form.auditOpinion" type="textarea" :rows="2" placeholder="请输入审核意见" /> <el-input
v-model="form.auditOpinion"
type="textarea"
:rows="2"
placeholder="请输入审核意见"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" @click="submitForm"> </el-button> <el-button size="mini" type="primary" @click="submitForm"
> </el-button
>
<el-button size="mini" @click="openDetails = false"> </el-button> <el-button size="mini" @click="openDetails = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -198,7 +270,7 @@ import PowerDetailsWrap from "../mywork/details";
export default { export default {
name: "Node", name: "Node",
components: { components: {
PowerDetailsWrap PowerDetailsWrap,
}, },
data() { data() {
return { return {
@ -229,27 +301,27 @@ export default {
auditorName: null, auditorName: null,
auditTime: null, auditTime: null,
auditResult: null, auditResult: null,
auditOpinion: null auditOpinion: null,
}, },
// //
form: {}, form: {},
// //
rules: { rules: {
auditResult: [ auditResult: [
{ required: true, message: "审核结果不能为空", trigger: "blur" } { required: true, message: "审核结果不能为空", trigger: "blur" },
], ],
maintenanceStatus: [ maintenanceStatus: [
{ required: true, message: "退回节点不能为空", trigger: "blur" } { required: true, message: "退回节点不能为空", trigger: "blur" },
] ],
}, },
workDetails: {}, workDetails: {},
openDetails: false, openDetails: false,
faultTypeOptions: [] faultTypeOptions: [],
}; };
}, },
created() { created() {
// //
this.getDicts("fault_type").then(response => { this.getDicts("fault_type").then((response) => {
this.faultTypeOptions = response.data; this.faultTypeOptions = response.data;
}); });
this.getList(); this.getList();
@ -283,7 +355,7 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
this.queryParams.maintenanceStatus = "3"; this.queryParams.maintenanceStatus = "3";
listMaintenance(this.queryParams).then(response => { listMaintenance(this.queryParams).then((response) => {
this.nodeList = response.rows; this.nodeList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -302,7 +374,7 @@ export default {
auditResult: "通过", auditResult: "通过",
auditOpinion: null, auditOpinion: null,
remark: null, remark: null,
maintenanceStatus: "5" maintenanceStatus: "5",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -318,7 +390,7 @@ export default {
}, },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.nodeId); this.ids = selection.map((item) => item.nodeId);
this.single = selection.length !== 1; this.single = selection.length !== 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
@ -333,19 +405,19 @@ export default {
this.workDetails = row; this.workDetails = row;
this.reset(); this.reset();
this.title = "工单审核"; this.title = "工单审核";
this.form.auditResult = '通过'; this.form.auditResult = "通过";
this.open = true; this.open = true;
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
this.form.maintenanceId = this.workDetails.maintenanceId; this.form.maintenanceId = this.workDetails.maintenanceId;
addNode(this.form).then(response => { addNode(this.form).then((response) => {
updateMaintenance({ updateMaintenance({
maintenanceId: this.workDetails.maintenanceId, maintenanceId: this.workDetails.maintenanceId,
maintenanceStatus: this.form.maintenanceStatus maintenanceStatus: this.form.maintenanceStatus,
}).then(response => { }).then((response) => {
this.msgSuccess("请求成功"); this.msgSuccess("请求成功");
this.openDetails = false; this.openDetails = false;
this.open = false; this.open = false;
@ -354,8 +426,8 @@ export default {
}); });
} }
}); });
} },
} },
}; };
</script> </script>
<style lang="scss"> <style lang="scss">

View File

@ -102,7 +102,8 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['iot:maintenance:add']" v-hasPermi="['iot:maintenance:add']"
>新增</el-button> >新增</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -121,8 +122,12 @@
></right-toolbar> ></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="maintenanceList" :default-sort="{ prop: 'createTime', order: 'descending' }" <el-table
@sort-change="sortChange"> v-loading="loading"
:data="maintenanceList"
:default-sort="{ prop: 'createTime', order: 'descending' }"
@sort-change="sortChange"
>
<el-table-column <el-table-column
type="index" type="index"
label="序号" label="序号"
@ -131,7 +136,13 @@
width="80px" width="80px"
></el-table-column> ></el-table-column>
<el-table-column label="项目名称" align="left" prop="projectName" /> <el-table-column label="项目名称" align="left" prop="projectName" />
<el-table-column label="项目地址" align="left" prop="projectAddress" /> <el-table-column label="项目地址" align="left" prop="projectAddress">
<template slot-scope="scope">
<span class="lay-table-textarea" :title="scope.row.projectAddress">
{{ scope.row.projectAddress }}
</span>
</template>
</el-table-column>
<el-table-column label="设备名称" align="left" prop="deviceName" /> <el-table-column label="设备名称" align="left" prop="deviceName" />
<el-table-column <el-table-column
label="故障类型" label="故障类型"
@ -143,11 +154,13 @@
/> />
<el-table-column label="上报人" align="left" prop="reporterName" /> <el-table-column label="上报人" align="left" prop="reporterName" />
<el-table-column label="处理人" align="left" prop="handlerName" /> <el-table-column label="处理人" align="left" prop="handlerName" />
<el-table-column <el-table-column label="工作内容" align="left" prop="maintenanceContext">
label="工作内容" <template slot-scope="scope">
align="left" <span class="lay-table-textarea" :title="scope.row.maintenanceContext">
prop="maintenanceContext" {{ scope.row.maintenanceContext }}
/> </span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="上报时间" label="上报时间"
align="left" align="left"
@ -302,6 +315,7 @@
<el-input <el-input
v-model="form.maintenanceContext" v-model="form.maintenanceContext"
type="textarea" type="textarea"
maxlength="200"
placeholder="请输入内容" placeholder="请输入内容"
/> />
</el-form-item> </el-form-item>
@ -482,7 +496,7 @@ export default {
}, },
// //
handleDetails(row) { handleDetails(row) {
console.log('handleDetail:', row) console.log("handleDetail:", row);
this.workDetails = row; this.workDetails = row;
this.openDestail = true; this.openDestail = true;
}, },
@ -606,7 +620,7 @@ export default {
}, },
// //
gdListUser() { gdListUser() {
gdListUser().then(response => { gdListUser().then((response) => {
this.gdUserList = response.data; this.gdUserList = response.data;
}); });
}, },
@ -615,7 +629,7 @@ export default {
var userList = []; var userList = [];
var _this = this; var _this = this;
listUser().then((response) => { listUser().then((response) => {
debugger debugger;
userList = response.rows; userList = response.rows;
if (userList) { if (userList) {
userList.forEach((v) => { userList.forEach((v) => {

View File

@ -42,7 +42,7 @@
<el-col :span="12"> <el-col :span="12">
<div class="item-block"> <div class="item-block">
<span>故障类型</span> <span>故障类型</span>
<span >{{ fanltTypeList[workDetails["faultType"]] || workDetails['faultTypeName']}}</span> <span >{{ workDetails['faultTypeName']}}</span>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
@ -452,6 +452,7 @@
type="textarea" type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }" :autosize="{ minRows: 2, maxRows: 5 }"
placeholder placeholder
maxlength="150"
v-model="form.advice" v-model="form.advice"
></el-input> ></el-input>
</el-form-item> </el-form-item>

View File

@ -126,11 +126,16 @@
/> />
<el-table-column label="上报人" align="left" prop="reporterName" /> <el-table-column label="上报人" align="left" prop="reporterName" />
<el-table-column label="处理人" align="left" prop="handlerName" /> <el-table-column label="处理人" align="left" prop="handlerName" />
<el-table-column <el-table-column label="工作内容" align="left" prop="maintenanceContext">
label="工作内容" <template slot-scope="scope">
align="left" <span
prop="maintenanceContext" class="lay-table-textarea"
/> :title="scope.row.maintenanceContext"
>
{{ scope.row.maintenanceContext }}
</span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="上报时间" label="上报时间"
align="left" align="left"
@ -296,6 +301,7 @@
<el-input <el-input
v-model="form.maintenanceContext" v-model="form.maintenanceContext"
type="textarea" type="textarea"
maxlength="200"
placeholder="请输入内容" placeholder="请输入内容"
/> />
</el-form-item> </el-form-item>

View File

@ -287,7 +287,7 @@ import {
} from "@/api/system/menu"; } from "@/api/system/menu";
import { import {
treeselect as deptTreeselect, treeselect as deptTreeselect,
roleDeptTreeselects roleDeptTree
} from "@/api/system/dept"; } from "@/api/system/dept";
import CompTree from "@/components/Tree/src/tree"; import CompTree from "@/components/Tree/src/tree";
@ -508,7 +508,7 @@ export default {
}, },
/** 根据角色ID查询部门树结构 */ /** 根据角色ID查询部门树结构 */
getRoleDeptTreeselect(roleId) { getRoleDeptTreeselect(roleId) {
roleDeptTreeselects({ roleId: roleId, tenantId: this.tenantId }).then( roleDeptTree(roleId, this.tenantId).then(
response => { response => {
this.deptOptions = response.depts; this.deptOptions = response.depts;
this.$refs.dept.setCheckedKeys(response.checkedKeys); this.$refs.dept.setCheckedKeys(response.checkedKeys);
@ -608,6 +608,7 @@ export default {
/** 分配数据权限操作 */ /** 分配数据权限操作 */
handleDataScope(row) { handleDataScope(row) {
this.reset(); this.reset();
// this.getDeptTreeselect()
this.$nextTick(() => { this.$nextTick(() => {
this.getRoleDeptTreeselect(row.roleId); this.getRoleDeptTreeselect(row.roleId);
}); });

View File

@ -406,7 +406,6 @@ export default {
params: { params: {
deviceName: "", deviceName: "",
modelId: "", modelId: "",
parentId: 0,
deviceType: "GATEWAY_CONTROLLER" deviceType: "GATEWAY_CONTROLLER"
}, },
page: { page: {