Browse Source

fix: 联调监督检查

sy-water-data-board-ui
panyuyi 1 year ago
parent
commit
d0f5658937
  1. 90
      src/api/sluice/index.js
  2. 4
      src/assets/styles/index.scss
  3. 2
      src/assets/styles/space.scss
  4. 16
      src/views/dike/runManage/superVisionInspetion/methodsManage/details.vue
  5. 9
      src/views/dike/runManage/superVisionInspetion/methodsManage/index.vue
  6. 60
      src/views/dike/runManage/superVisionInspetion/methodsManage/itemsDetails.vue
  7. 121
      src/views/sluice/runManage/supervisionInspetion/methodsManage/details.vue
  8. 216
      src/views/sluice/runManage/supervisionInspetion/methodsManage/index.vue
  9. 199
      src/views/sluice/runManage/supervisionInspetion/methodsManage/itemsDetails.vue
  10. 48
      src/views/sluice/runManage/supervisionInspetion/methodsManage/itemsList.vue
  11. 8
      vue.config.js

90
src/api/sluice/index.js

@ -150,6 +150,7 @@ export function getSluiceWaterRainRecordsList(data) {
/**** 监督检查办法模块 ****/
// 获取监督检查办法列表
export function getSuperviseWayList(data){
return request({
@ -158,3 +159,92 @@ export function getSuperviseWayList(data){
data
})
}
// 新增或修改监督检查办法
export function postSuperviseWayData(data){
return request({
url: `/run/sz/superviseWay`,
method: 'post',
data
})
}
// 获取监督检查办法详情
export function getSuperviseWayDetails(id){
return request({
url: `/run/sz/superviseWay/${id}`,
method: 'get',
})
}
// 复制监督检查办法
export function copySuperviseWayData(id){
return request({
url: `/run/sz/superviseWay/copy/${id}`,
method: 'post',
})
}
// 新增监督检查办法项目
export function addSuperviseWayItemData(data){
return request({
url: `/run/sz/superviseWay/data/add`,
method: 'post',
data
})
}
// 督检查办法项目列表
export function getSuperviseWayItemListData(id){
return request({
url: `/run/sz/superviseWay/dataList/${id}`,
method: 'get',
})
}
// 督检查办法项目配置详情
export function getSuperviseWayItemDetailsData(id){
return request({
url: `/run/sz/superviseWay/data/${id}`,
method: 'get',
})
}
// 督检查办法项目配置项删除
export function delSuperviseWayItemDetailsData(id){
return request({
url: `/run/sz/superviseWay/data/${id}`,
method: 'delete',
})
}
// 督检查办法项目配置项详情列表
export function getSuperviseWayItemDetailsListData(data){
return request({
url: `/run/sz/superviseWay/dataItemList`,
method: 'post',
data
})
}
// 督检查办法项目配置项详情新增
export function addSuperviseWayItemDetailsItemData(data){
return request({
url: `/run/sz/superviseWay/dataItem/add`,
method: 'post',
data
})
}
// 督检查办法项目配置项详情更新
export function updateSuperviseWayItemDetailsItemData(data){
return request({
url: `/run/sz/superviseWay/dataItem/update`,
method: 'put',
data
})
}
// 督检查办法项目配置项更新
export function updateSuperviseWayItemData(data){
return request({
url: `/run/sz/superviseWay/data/update`,
method: 'put',
data
})
}

4
src/assets/styles/index.scss

@ -320,3 +320,7 @@ aside {
.h-full{
height: 100%;
}
.word-break{
word-break: break-all;
}

2
src/assets/styles/space.scss

@ -39,7 +39,7 @@
/***** padding ******/
@for $i from 1 through 32 {
.p-#{$i}{
margin: #{$i}px;
padding: #{$i}px;
}
.pl-#{$i}{
padding-left: #{$i}px;

16
src/views/dike/runManage/superVisionInspetion/methodsManage/details.vue

@ -4,6 +4,7 @@
<div class="method-details-page">
<div class="flex justify-between items-center">
<el-upload
v-if="$route.query.mode != 'preview'"
action="#"
class="avatar-uploader"
:http-request="handleUpload"
@ -18,7 +19,8 @@
fileUrl ? "重新上传" : "上传文件"
}}</el-button>
</el-upload>
<span v-if="editTitle">
<div v-else>&nbsp;</div>
<span v-if="editTitle && $route.query.mode === 'edit'">
<el-input class="input" v-model="title"></el-input>
<i
class="el-icon-check cursor-pointer ml-4 font-16"
@ -29,6 +31,7 @@
<span v-else
>{{ title }}
<i
v-if="$route.query.mode === 'edit'"
class="el-icon-edit cursor-pointer ml-4 font-16"
style="color: #409eff"
@click="editTitle = !editTitle"
@ -56,18 +59,23 @@ export default {
data() {
return {
fileList: [],
fileUrl:
"http://shuili-admin.product.dev.com/tianhui-admin-web/profile/2024/03/04/c8d11ca0-89b4-4fab-8104-b89ec8935ec6.pdf", //http://gateway.product.dev.com:30115/data-platform-ui/objs/http://minio:9000/data-platform-protocol-model/20240229/11b754af7aef4dc6bff17d5e0bcd919e.pdf
fileUrl: "", //http://gateway.product.dev.com:30115/data-platform-ui/objs/http://minio:9000/data-platform-protocol-model/20240229/11b754af7aef4dc6bff17d5e0bcd919e.pdf
editTitle: false,
title: "标题",
};
},
created() {
if (this.$route.query.id) {
this.initData();
}
},
methods: {
initData() {},
initData() {
getSupervisionMethodDetails(this.$route.query.id).then((res) => {
this.title = res.name;
this.fileUrl = res.superviseCheckWay;
});
},
//
beforeUpload(e) {
console.log("上传前e >>>>> ", e);

9
src/views/dike/runManage/superVisionInspetion/methodsManage/index.vue

@ -181,12 +181,6 @@ export default {
}
});
},
//
resetSearch() {
this.name = "";
this.selectStatus = "2";
this.getTableData();
},
//
getEmbData() {
listDikeInfo({
@ -228,9 +222,6 @@ export default {
//
this.getTableData();
this.getEmbData();
this.getDicts("embankment_level").then((res) => {
this.dikeLevel = res.data;
});
this.getDicts("dh_jh_type").then((res) => {
this.controlType = res.data;
});

60
src/views/dike/runManage/superVisionInspetion/methodsManage/itemsDetails.vue

@ -61,38 +61,50 @@
<div class="item-row-content">操作</div>
</el-col>
</el-row>
<el-row class="item-row" v-for="(item, index) in list" :key="item">
<el-row
class="item-row"
v-for="(item, index) in questList"
:key="index"
>
<el-col :span="2">
<div class="item-row-content">2</div>
<div class="item-row-content">{{ index + 1 }}</div>
</el-col>
<el-col :span="3">
<div class="item-row-content">12122</div>
<div class="item-row-content">{{ item.pro }}</div>
</el-col>
<el-col :span="11">
<div class="item-row-content">
<div>这是内容</div>
<div>{{ item.content }}</div>
</div>
</el-col>
<el-col :span="6">
<div class="item-row-content item-row-content2">
<div class="flex w-full title-2 h-full">
<div class="flex-1 text-center items-center pt-4 pb-4">
一般
{{ item.sameGrade }}
</div>
<div class="flex-1 text-center items-center pt-4 pb-4">
较重
{{ item.heavyGrade }}
</div>
<div class="flex-1 text-center items-center pt-4 pb-4">
严重
{{ item.seriousGrade }}
</div>
</div>
</div>
</el-col>
<el-col :span="2">
<div class="item-row-content">
<el-button type="text" v-if="index == 0">添加</el-button>
<el-button type="text" v-else>修改</el-button>
<el-button type="text">删除</el-button>
<el-button
type="text"
v-if="index == questList.length - 1"
@click="handleAddNewItem"
>添加</el-button
>
<el-button type="text" v-if="!item.edit">修改</el-button>
<el-button type="text" v-else>保存</el-button>
<el-button type="text" v-if="questList.length > 1"
>删除</el-button
>
</div>
</el-col>
</el-row>
@ -107,21 +119,31 @@ export default {
editTitle: false,
title: "标题",
searchVal: "",
list: [
questList: [
{
pro: "项目A",
questions: ["问题描述111"],
questionLevel: {
1: "实例1",
2: "实例2 ",
3: "实例3",
},
pro: "带过来的项目",
content: "问题描述啊",
sameGrade: "一般问题",
heavyGrade: "较重问题",
seriousGrade: "严重问题",
edit: false,
},
],
};
},
created() {},
methods: {},
methods: {
handleAddNewItem() {
this.questList.push({
pro: "带过来的项目",
content: "问题描述啊",
sameGrade: "一般问题",
heavyGrade: "较重问题",
seriousGrade: "严重问题",
edit: true,
});
},
},
};
</script>
<style scoped lang="scss">

121
src/views/sluice/runManage/supervisionInspetion/methodsManage/details.vue

@ -1,34 +1,48 @@
<template>
<div class="body slider-right">
<div class="top-title">基础信息管理</div>
<div class="top-title">监督检测办法管理</div>
<div class="method-details-page">
<div class="flex justify-between items-center">
<el-button type="primary">{{
fileUrl ? "重新上传" : "上传文件"
}}</el-button>
<span v-if="editTitle">
<el-input class="input" v-model="title"></el-input>
<el-upload
v-if="$route.query.mode != 'preview'"
action="#"
class="avatar-uploader"
:http-request="handleUpload"
:auto-upload="true"
:before-upload="beforeUpload"
:showFileList="false"
accept=".PDF"
:maxLength="1"
>
<el-button type="primary">{{
detailsData.superviseCheckWay ? "重新上传" : "上传文件"
}}</el-button>
</el-upload>
<div v-else>&nbsp;</div>
<span v-if="editName && $route.query.mode === 'edit'">
<el-input class="input" v-model="detailsData.name"></el-input>
<i
class="el-icon-check cursor-pointer ml-4 font-16"
style="color: #409eff"
@click="editTitle = !editTitle"
@click="handleSaveName"
></i>
</span>
<span v-else
>{{ title }}
>{{ detailsData.name }}
<i
v-if="$route.query.mode === 'edit'"
class="el-icon-edit cursor-pointer ml-4 font-16"
style="color: #409eff"
@click="editTitle = !editTitle"
@click="editName = !editName"
></i
></span>
<el-button @click="$router.go(-1)">返回</el-button>
</div>
<div class="pdf-preview">
<object
v-if="fileUrl"
v-if="detailsData.superviseCheckWay"
class="pdf-box"
:data="fileUrl"
:data="detailsData.superviseCheckWay"
type="application/pdf"
></object>
<div v-else style="color: #333">暂无文件请上传</div>
@ -37,16 +51,91 @@
</div>
</template>
<script>
import { uploadFileData } from "@/api/system/upload";
import { getSuperviseWayDetails, postSuperviseWayData } from "@/api/sluice";
export default {
data() {
return {
fileUrl: "", //http://gateway.product.dev.com:30115/data-platform-ui/objs/http://minio:9000/data-platform-protocol-model/20240229/11b754af7aef4dc6bff17d5e0bcd919e.pdf
editTitle: false,
title: "标题",
detailsData: {
superviseCheckWay: "",
status: "",
name: "",
},
editName: false,
};
},
created() {},
methods: {},
created() {
if (this.$route.query.id) {
this.initData();
}
},
methods: {
initData() {
getSuperviseWayDetails(this.$route.query.id).then((res) => {
if (res.data) {
this.$set(this.detailsData, "name", res.data.name);
this.$set(
this.detailsData,
"superviseCheckWay",
res.data.superviseCheckWay
);
this.$set(this.detailsData, "status", res.data.status);
}
});
},
handleSaveName() {
postSuperviseWayData({
id: this.$route.query.id || null,
name: this.detailsData.name,
superviseCheckWay: this.detailsData.superviseCheckWay,
status: this.detailsData.status ? this.detailsData.status : null,
})
.then((res) => {
this.editName = false;
this.$message.success("修改成功");
})
.catch(() => {
this.$message.error("修改失败");
});
},
//
beforeUpload(e) {
console.log("上传前e >>>>> ", e);
if (e.type.indexOf("pdf") < 0) {
this.$message.warning("只允许上传pdf");
return false;
}
return true;
},
//
async handleUpload(e) {
try {
const { file } = e;
let formData = new FormData();
formData.append("file", file);
const res = await uploadFileData(formData);
if (res?.url) {
let data = {
id: this.$route.query.id || null,
name: file.name.split(".")[0],
superviseCheckWay: res.url,
status: this.detailsData.status ? this.detailsData.status : null,
};
const res2 = await postSuperviseWayData(data);
if (res2) {
this.detailsData.superviseCheckWay = res.url;
this.detailsData.name = file.name.split(".")[0];
this.$message.success("新增成功");
}
} else {
this.$message.error("新增失败");
}
} catch (error) {
this.$message.error("新增失败");
}
},
},
};
</script>
<style scoped lang="scss">

216
src/views/sluice/runManage/supervisionInspetion/methodsManage/index.vue

@ -1,34 +1,15 @@
<!-- 监督检查办法管理-水闸 -->
<script>
import {
putDFPreventionControlPlan,
deleteDFMaintenancePlan,
postDFNewPreventionControlPlan,
getDFPreventionControlPlan,
listUser,
} from "@/api/management";
import { listDikeInfo } from "@/api/yg/dikeInfo";
import { getSuperviseWayList } from "@/api/sluice";
getSuperviseWayList,
postSuperviseWayData,
copySuperviseWayData,
} from "@/api/sluice";
export default {
name: "InspectionItems",
data() {
return {
paramsData: {
name: "",
type: null,
dikeName: "",
selectLevel: "",
selectType: "",
},
dialogVisible: false,
prohibitEditing: false,
dikeTypeList: [],
personnelList: [], //
patrolType: [], //
workMonth: [], //
embankmentList: [], //
controlType: [], //
tableData: [], //
pageData: {
pageNum: 1, //
@ -38,32 +19,62 @@ export default {
},
};
},
watch: {
dialogVisible(newVal, oldVal) {
if (oldVal) {
this.prohibitEditing = false;
}
},
},
watch: {},
methods: {
//
addMethod() {
//
handleAddMethod() {
this.$router.push("methodManageDetails");
},
//
deleteTableItem(row) {
deleteDFMaintenancePlan(row.id).then((res) => {
this.getTableData();
this.$message.success("删除成功");
//
handleEditMethod(row) {
this.$router.push({
path: "methodManageDetails",
query: {
id: row.id,
mode: "edit",
},
});
},
//
deleteWorkTableItem(id) {
const index = this.workTable.findIndex((item) => item.id === id);
if (index !== -1) {
this.workTable.splice(index, 1);
//
handlePreviewMethod(row) {
this.$router.push({
path: "methodManageDetails",
query: {
id: row.id,
mode: "preview",
},
});
},
//
handleExportMethod(row) {
if (row.superviseCheckWay && /^http/.test(row.superviseCheckWay)) {
fetch(row.superviseCheckWay)
.then((response) => response.blob())
.then((blob) => {
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.setAttribute("download", row.name);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
});
} else {
this.$message("文件路径格式不正确");
}
},
//
handleCopyMethod(row) {
copySuperviseWayData(row.id)
.then((res) => {
this.$message.success("复制成功");
this.getTableData();
})
.catch(() => {
this.$message.error("复制失败");
});
},
//
getTableData() {
getSuperviseWayList({
@ -90,34 +101,6 @@ export default {
}
});
},
//
resetSearch() {
this.name = "";
this.selectStatus = "2";
this.getTableData();
},
//
getEmbData() {
listDikeInfo({
pageNum: 1,
pageSize: 20,
ids: null,
data: {
embankmentName: null,
endStationNumber: null,
embankmentType: null,
},
//
params: {
//
orderBy: "create_time",
// descasc
sort: "desc",
},
}).then((res) => {
this.embankmentList = res?.records || [];
});
},
//
handleToItemsList(row) {
this.$router.push({
@ -127,19 +110,25 @@ export default {
},
});
},
handleChangeStatus(row, status) {
console.log("handleChangeStatus >>>>> ", row, status);
postSuperviseWayData({
...row,
status,
})
.then((res) => {
this.$message.success("修改成功");
this.getTableData();
})
.catch((err) => {
this.$message.error("修改失败");
});
},
},
created() {
this.getDicts("embankment_type").then((response) => {
this.dikeTypeList = response.data;
});
},
created() {},
mounted() {
//
this.getTableData();
this.getEmbData();
this.getDicts("dh_jh_type").then((res) => {
this.controlType = res.data;
});
},
};
</script>
@ -152,7 +141,7 @@ export default {
class="search-btn"
style="margin-right: 16px; margin-bottom: 8px; float: right"
type="success"
@click="addMethod()"
@click="handleAddMethod()"
>添加</el-button
>
<el-table class="table" height="640" :data="tableData" border>
@ -161,18 +150,50 @@ export default {
<el-table-column prop="createTime" align="center" label="发布时间">
</el-table-column>
<el-table-column prop="updateTime" align="center" label="更新时间" />
<el-table-column
prop="status"
align="center"
sortable
label="当前状态"
/>
<el-table-column prop="status" align="center" label="当前状态">
<template #default="{ row }">
<el-popconfirm
title="确定停用吗"
v-if="row.status == '0'"
@confirm="handleChangeStatus(row, '1')"
>
<span slot="reference" class="status-start">启用状态</span>
</el-popconfirm>
<el-popconfirm
title="确定启用吗"
v-if="row.status == '1'"
@confirm="handleChangeStatus(row, '0')"
>
<span slot="reference" class="status-stop">停用状态</span>
</el-popconfirm>
</template>
</el-table-column>
<el-table-column prop="address" align="center" label="操作">
<template slot-scope="scope">
<el-button type="text" size="small">编辑</el-button>
<el-button type="text" size="small">预览</el-button>
<el-button type="text" size="small">导出</el-button>
<el-button type="text" size="small">复制</el-button>
<el-button
type="text"
size="small"
@click="handleEditMethod(scope.row)"
>编辑</el-button
>
<el-button
type="text"
size="small"
@click="handlePreviewMethod(scope.row)"
>预览</el-button
>
<el-button
type="text"
size="small"
@click="handleExportMethod(scope.row)"
>导出</el-button
>
<el-button
type="text"
size="small"
@click="handleCopyMethod(scope.row)"
>复制</el-button
>
<el-button
type="text"
size="small"
@ -246,6 +267,21 @@ export default {
background-color: #2b8070;
}
}
.status-start {
color: #36b29e;
background: #ebf7f5;
padding: 2px 4px;
border-radius: 2px;
cursor: pointer;
}
.status-stop {
color: #f13939;
background: #feebeb;
padding: 2px 4px;
border-radius: 2px;
cursor: pointer;
}
}
/deep/.el-input__count {

199
src/views/sluice/runManage/supervisionInspetion/methodsManage/itemsDetails.vue

@ -4,15 +4,15 @@
<div class="method-details-page">
<div class="flex justify-between items-center">
<span v-if="editTitle">
<el-input class="input" v-model="title"></el-input>
<el-input class="input" v-model="itemName"></el-input>
<i
class="el-icon-check cursor-pointer ml-4 font-16"
style="color: #409eff"
@click="editTitle = !editTitle"
@click="handleSaveTitle"
></i>
</span>
<span v-else
>{{ title }}
>{{ itemName }}
<i
class="el-icon-edit cursor-pointer ml-4 font-16"
style="color: #409eff"
@ -38,20 +38,20 @@
<el-col :span="3">
<div class="item-row-content">检查项目</div>
</el-col>
<el-col :span="11">
<el-col :span="9">
<div class="item-row-content">问题描述</div>
</el-col>
<el-col :span="6">
<el-col :span="8">
<div class="item-row-content item-row-content2">
<div class="title-1">问题等级</div>
<div class="flex w-full title-2">
<div class="flex-1 text-center items-center pt-4 pb-4">
<div class="w-33 justify-center flex items-center pt-4 pb-4">
一般
</div>
<div class="flex-1 text-center items-center pt-4 pb-4">
<div class="w-33 justify-center flex items-center pt-4 pb-4">
较重
</div>
<div class="flex-1 text-center items-center pt-4 pb-4">
<div class="flex-1 justify-center flex items-center pt-4 pb-4">
严重
</div>
</div>
@ -61,38 +61,67 @@
<div class="item-row-content">操作</div>
</el-col>
</el-row>
<el-row class="item-row" v-for="(item, index) in list" :key="item">
<el-row
class="item-row color-333"
v-for="(item, index) in questList"
:key="index"
>
<el-col :span="2">
<div class="item-row-content">2</div>
<div class="item-row-content">{{ index + 1 }}</div>
</el-col>
<el-col :span="3">
<div class="item-row-content">12122</div>
<div class="item-row-content">{{ item.projectName }}</div>
</el-col>
<el-col :span="11">
<el-col :span="9">
<div class="item-row-content">
<div>这是内容</div>
<el-input v-if="item.edit" v-model="item.content"></el-input>
<div v-else>{{ item.content }}</div>
</div>
</el-col>
<el-col :span="6">
<el-col :span="8">
<div class="item-row-content item-row-content2">
<div class="flex w-full title-2 h-full">
<div class="flex-1 text-center items-center pt-4 pb-4">
一般
<div class="w-33 text-center flex items-center p-10">
<el-input
v-if="item.edit"
v-model="item.sameGrade"
></el-input>
<div v-else class="word-break">{{ item.sameGrade }}</div>
</div>
<div class="flex-1 text-center items-center pt-4 pb-4">
较重
<div class="w-33 text-center flex items-center p-10">
<el-input
v-if="item.edit"
v-model="item.heavyGrade"
></el-input>
<div v-else class="word-break">{{ item.heavyGrade }}</div>
</div>
<div class="flex-1 text-center items-center pt-4 pb-4">
严重
<div class="flex-1 text-center flex items-center p-10">
<el-input
v-if="item.edit"
v-model="item.seriousGrade"
></el-input>
<div v-else class="word-break">{{ item.seriousGrade }}</div>
</div>
</div>
</div>
</el-col>
<el-col :span="2">
<div class="item-row-content">
<el-button type="text" v-if="index == 0">添加</el-button>
<el-button type="text" v-else>修改</el-button>
<el-button type="text">删除</el-button>
<el-button
type="text"
v-if="index == questList.length - 1"
@click="handleAddNewItem"
>添加</el-button
>
<el-button type="text" v-if="!item.edit" @click="item.edit = true"
>修改</el-button
>
<el-button type="text" v-else @click="handleSaveItem(item)"
>保存</el-button
>
<el-button type="text" v-if="questList.length > 1"
>删除</el-button
>
</div>
</el-col>
</el-row>
@ -101,27 +130,109 @@
</div>
</template>
<script>
import {
getSuperviseWayItemDetailsData,
getSuperviseWayItemDetailsListData,
addSuperviseWayItemDetailsItemData,
updateSuperviseWayItemDetailsItemData,
updateSuperviseWayItemData,
} from "@/api/sluice";
export default {
data() {
return {
itemName: "",
editTitle: false,
title: "标题",
searchVal: "",
list: [
{
pro: "项目A",
questions: ["问题描述111"],
questionLevel: {
1: "实例1",
2: "实例2 ",
3: "实例3",
},
},
],
questList: [],
};
},
created() {},
methods: {},
created() {
this.initData();
},
methods: {
initData() {
getSuperviseWayItemDetailsData(this.$route.query.id).then((res) => {
this.itemName = res?.data?.name;
getSuperviseWayItemDetailsListData({
projectId: this.$route.query.id,
}).then((res) => {
this.questList = res.data.map((v) => {
return {
...v,
edit: false,
};
});
if (this.questList.length <= 0) {
console.log("????");
this.questList.push({
projectName: this.itemName,
content: "",
sameGrade: "",
heavyGrade: "",
seriousGrade: "",
edit: true,
});
}
});
});
},
handleAddNewItem() {
this.questList.push({
projectName: this.itemName,
content: "",
sameGrade: "",
heavyGrade: "",
seriousGrade: "",
edit: true,
});
},
handleSaveItem(item) {
if (!item.content) {
this.$message.warning("请填写问题描述");
return;
}
if (item.id) {
updateSuperviseWayItemDetailsItemData({
...item,
projectName: this.itemName,
projectId: this.$route.query.id,
})
.then((res) => {
item.edit = false;
})
.catch(() => {
this.$message.error("修改失败");
});
} else {
addSuperviseWayItemDetailsItemData({
...item,
projectName: this.itemName,
projectId: this.$route.query.id,
})
.then((res) => {
if (res.data) {
item.id = res.data.id;
}
item.edit = false;
})
.catch(() => {
this.$message.error("保存失败");
});
}
},
handleSaveTitle() {
updateSuperviseWayItemData({
id: this.$route.query.id,
name: this.itemName,
}).then((res) => {
this.$message.success("修改成功");
this.editTitle = !this.editTitle;
this.questList.forEach((item) => {
item.projectName = this.itemName;
});
});
},
},
};
</script>
<style scoped lang="scss">
@ -156,6 +267,9 @@ export default {
padding: 10px;
border: 1px solid #ccc;
height: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
}
.item-row-content2 {
padding: 0;
@ -166,10 +280,10 @@ export default {
width: 100%;
padding: 4px;
text-align: center;
border-bottom: 1px solid #ccc;
border-bottom: 2px solid #ccc;
}
.title-2 {
border-top: 1px solid #ccc;
// border-top: 1px solid #ccc;
& > *:nth-of-type(2) {
border-left: 2px solid #ccc;
border-right: 2px solid #ccc;
@ -182,5 +296,12 @@ export default {
.input {
width: 200px;
}
.w-33 {
width: 33%;
}
.color-333 {
color: #333;
}
}
</style>

48
src/views/sluice/runManage/supervisionInspetion/methodsManage/itemsList.vue

@ -11,11 +11,14 @@
v-for="item in listData"
:key="item.id"
class="items-list-item"
@click="handleToItemsSetting"
@click="handleToItemsSetting(item)"
>
<div class="font-14 font-bold">{{ item.name }}</div>
<div class="font-12 mt-12">2024-2-29 17:30:59</div>
<i class="el-icon-error font-14 del-btn" @click.stop="() => {}"></i>
<div class="font-12 mt-12">{{ item.updateTime }}</div>
<i
class="el-icon-error font-14 del-btn"
@click.stop="handleDel(item)"
></i>
</div>
<div
v-if="!listData || !listData.length"
@ -57,6 +60,11 @@
</div>
</template>
<script>
import {
addSuperviseWayItemData,
getSuperviseWayItemListData,
delSuperviseWayItemDetailsData,
} from "@/api/sluice";
export default {
data() {
return {
@ -70,8 +78,15 @@ export default {
},
};
},
created() {},
created() {
this.initData();
},
methods: {
initData() {
getSuperviseWayItemListData(this.$route.query.id).then((res) => {
this.listData = res.data || [];
});
},
handleAddNew() {
this.showAddDialog = true;
},
@ -82,20 +97,28 @@ export default {
submitForm() {
this.$refs.ruleForm.validate((valid) => {
if (valid) {
this.listData.push({
id: Math.random() * 10,
addSuperviseWayItemData({
wayId: this.$route.query.id,
name: this.ruleForm.name,
}).then((res) => {
this.listData.push(res.data);
this.$refs.ruleForm.resetFields();
this.showAddDialog = false;
});
this.$refs.ruleForm.resetFields();
this.showAddDialog = false;
}
});
},
handleToItemsSetting() {
console.log("??????");
handleDel(row) {
delSuperviseWayItemDetailsData(row.id).then((res) => {
this.initData();
});
},
handleToItemsSetting(row) {
this.$router.push({
path: "methodsItemsDetails",
query: {},
query: {
id: row.id,
},
});
},
},
@ -134,8 +157,9 @@ export default {
.items-list-item {
position: relative;
width: 240px;
height: 160px;
height: 120px;
padding: 20px;
box-sizing: border-box;
border: 1px solid #eee;
border-radius: 10px;
cursor: pointer;

8
vue.config.js

@ -36,6 +36,14 @@ module.exports = {
open: true,
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API + '/run/sz/superviseWay']: {
target: "http://172.16.34.27:18082",
changeOrigin: true,
// logLevel: 'debug',
pathRewrite: {
[process.env.VUE_APP_BASE_API +'/run/sz/superviseWay']: '/tianhui-admin-web/run/sz/superviseWay'
}
},
[process.env.VUE_APP_BASE_API]: {
target: "http://shuili-admin.product.dev.com:30115",
// target: "http://127.0.0.1:18082",

Loading…
Cancel
Save