Forráskód Böngészése

瓦斯巡检,公司端首页地图修改

lxh 2 hónapja
szülő
commit
ba205a0984

BIN
src/assets/images/company/build1.png


BIN
src/assets/images/company/home-map2.png


+ 145 - 0
src/views/vent/gas/gasInspect/components/inspectTeam.vue

@@ -0,0 +1,145 @@
+<template>
+    <div class="inspect-team">
+        <a-button class="addBtn" type="primary" preIcon="ant-design:plus-outlined" @click="handlerAdd">新增区队</a-button>
+        <a-table :columns="columnsTeam" size="small" :data-source="tableDataTeam" :scroll="{ y: 200 }" class="tableW"
+            :pagination="paginationTeam">
+            <template #action="{ record }">
+                <a class="table-action-link" @click="handlerEdit(record)">编辑</a>
+                <a class="table-action-link" @click="handlerDel(record)">删除</a>
+            </template>
+            <template #bodyCell="{ column, text }">
+
+            </template>
+        </a-table>
+        <!-- 区队新增弹窗 -->
+        <a-modal v-model:visible="visibleTeamAdd" width="450px" :footer="null" :title="titleTeamAdd" centered
+            destroyOnClose>
+            <a-form :model="formStateTeam" name="basic" :label-col="{ span: 8 }" :wrapper-col="{ span: 12 }"
+                autocomplete="off">
+                <a-form-item label="区队名称:">
+                    <a-input v-model:value="formStateTeam.teamName" placeholder="请输入" clearable />
+                </a-form-item>
+            </a-form>
+            <div class="edit-btn">
+                <a-button type="primary" @click="confirmAddTeam">提交</a-button>
+                <a-button type="success" @click="cancelAddTeam">取消</a-button>
+            </div>
+        </a-modal>
+    </div>
+</template>
+
+<script lang="ts" setup>
+import { ref, reactive, onMounted } from 'vue'
+import { teamList, teamAdd, teamEdit, deleteTeam } from '../gasInspect.api'
+import { columnsTeam, paginationTeam } from '../gasInspect.data'
+
+let isFlag = ref('')
+let tableDataTeam = ref<any[]>([])
+let visibleTeamAdd = ref(false)//控制区队新增弹窗显示与隐藏
+let titleTeamAdd = ref('')//区队标题
+//区队名称
+let formStateTeam = reactive({
+    teamName: '',
+    id: '',
+})
+//获取区队列表
+async function getTeamList() {
+    paginationTeam.current = 1
+    let res = await teamList({ pageNo: paginationTeam.current, pageSize: paginationTeam.pageSize })
+    console.log(res, '区队列表-------------')
+    tableDataTeam.value = res.records
+    paginationTeam.total = res.total
+}
+//区队新增
+let handlerAdd = () => {
+    isFlag.value = 'add'
+    visibleTeamAdd.value = true
+    titleTeamAdd.value = '区队新增'
+}
+//区队编辑
+let handlerEdit = (record) => {
+    isFlag.value = 'edit'
+    visibleTeamAdd.value = true
+    titleTeamAdd.value = '区队编辑'
+    formStateTeam.id = record.id
+    formStateTeam.teamName = record.name
+}
+//确定添加/编辑
+async function confirmAddTeam() {
+    if (isFlag.value == 'add') {
+        let res = await teamAdd({ name: formStateTeam.teamName })
+        console.log(res, '区队新增------')
+        if (res) {
+            visibleTeamAdd.value = false
+            formStateTeam.teamName = ''
+            titleTeamAdd.value = ''
+            getTeamList()
+        }
+    } else {
+        let res = await teamEdit({id:formStateTeam.id,name:formStateTeam.teamName})
+        console.log(res,'区队编辑-------')
+        if (res) {
+            visibleTeamAdd.value = false
+            formStateTeam.teamName = ''
+            formStateTeam.id=''
+            titleTeamAdd.value = ''
+            getTeamList()
+        }
+    }
+}
+//取消添加/编辑
+let cancelAddTeam = () => {
+    formStateTeam.teamName = ''
+    formStateTeam.id=''
+    visibleTeamAdd.value = false
+    titleTeamAdd.value=''
+}
+
+//删除区队
+async function handlerDel(record) {
+    let res=await deleteTeam({id:record.id})
+    if(res){
+        getTeamList() 
+    }
+}
+
+onMounted(() => {
+    getTeamList()
+})
+</script>
+
+<style lang="less" scoped>
+.inspect-team {
+    padding: 10px;
+    box-sizing: border-box;
+
+    .addBtn {
+        margin-bottom: 10px;
+    }
+}
+
+.zxm-form {
+    padding: 10px !important;
+    box-sizing: border-box;
+
+    .zxm-form-item {
+        margin-bottom: 0;
+    }
+}
+
+.edit-btn {
+    display: flex;
+    justify-content: flex-end;
+    margin-bottom: 10px;
+
+    .zxm-btn {
+        margin: 0px 10px;
+    }
+}
+
+::v-deep .zxm-input {
+    color: #fff;
+    border: 1px solid #3ad8ff77 !important;
+    background-color: #ffffff00 !important;
+}
+</style>

+ 22 - 2
src/views/vent/gas/gasInspect/gasInspect.api.ts

@@ -12,7 +12,11 @@ enum Api {
     taskSubmit='/safety/disTeamInfo/edit',//任务管理下发
     clearCardInfo='/safety/gasInsCard/clearCard',//瓦斯巡检卡信息删除
     getAllUserInfo='/safety/gasInsCard/getAllUserInfo',//获取早中晚班巡检员列表
-    getAllGasIns='/safety/gasIns/getAllGasIns'//获取所有巡检地址
+    getAllGasIns='/safety/gasIns/getAllGasIns',//获取所有巡检地址
+    teamList='/safety/disTeamInfo/list',//区队分页列表查询
+    teamAdd='/safety/disTeamInfo/add',//区队添加
+    teamEdit='/safety/disTeamInfo/edit',//区队编辑
+    deleteTeam='/safety/disTeamInfo/delete',//区队删除
 
 }
 
@@ -75,4 +79,20 @@ export const taskSubmit = (params) => defHttp.post({ url: Api.taskSubmit,params
 /**
  * 获取所有巡检地址
  */
-export const getAllGasIns = () => defHttp.get({ url: Api.getAllGasIns, });
+export const getAllGasIns = () => defHttp.get({ url: Api.getAllGasIns, });
+/**
+ * 区队分页列表查询
+ */
+export const teamList = (params) => defHttp.get({ url: Api.teamList, params}, { joinParamsToUrl: true });
+/**
+ * 区队添加
+ */
+export const teamAdd = (params) => defHttp.post({ url: Api.teamAdd, params});
+/**
+ * 区队编辑
+ */
+export const teamEdit = (params) => defHttp.put({ url: Api.teamEdit, params});
+/**
+ * 区队删除
+ */
+export const deleteTeam = (params) => defHttp.delete({ url: Api.deleteTeam, params }, { joinParamsToUrl: true });

+ 38 - 0
src/views/vent/gas/gasInspect/gasInspect.data.ts

@@ -126,6 +126,35 @@ export const columnsTask: BasicColumn[] = ([
         slots: { customRender: 'action' },
     },
 ])
+//区队管理列表列
+export const columnsTeam: BasicColumn[] = [
+    {
+        title: '序号',
+        width: 60,
+        align: 'center',
+        customRender: ({ index }: { index: number }) => `${index + 1}`
+    },
+    {
+        title: 'ID',
+        dataIndex: 'id',
+        key: 'id',
+        align: 'center',
+    },
+    {
+        title: '区队',
+        dataIndex: 'name',
+        key: 'name',
+        align: 'center',
+    },
+   
+    {
+        title: '操作',
+        dataIndex: 'action',
+        width: 180,
+        align: 'center',
+        slots: { customRender: 'action' },
+    },
+];
 //分页参数
 export const pagination = {
     current: 1, // 当前页码
@@ -135,3 +164,12 @@ export const pagination = {
     showSizeChanger: true, // 是否可改变每页显示条数
     pageSizeOptions: ['10', '20', '50'], // 可选的每页显示条数
 };
+//区队管理分页参数
+export const paginationTeam = {
+    current: 1, // 当前页码
+    pageSize: 5, // 每页显示条数
+    total: 0, // 总条目数,后端返回
+    // showTotal: (total, range) => `${range[0]}-${range[1]} 条,总共 ${total} 条`, // 分页右下角显示信息
+    showSizeChanger: true, // 是否可改变每页显示条数
+    pageSizeOptions: ['5','10', '20', '50'], // 可选的每页显示条数
+};

+ 20 - 5
src/views/vent/gas/gasInspect/index.vue

@@ -20,6 +20,8 @@
                             @click="getdownload">导出</a-button>
                         <a-button type="primary" preIcon="ant-design:sync-outlined" style="margin-right: 15px;"
                             @click="handlerTask">任务管理</a-button>
+                        <a-button type="primary" preIcon="ant-design:appstore-outlined" style="margin-right: 15px;"
+                            @click="handlerTeam">区队管理</a-button>
                         <a-dropdown>
                             <template #overlay>
                                 <a-menu @click="handlerFilter">
@@ -62,14 +64,14 @@
                         v-if="column.dataIndex == 'afterNoon' || column.dataIndex == 'morning' || column.dataIndex == 'evening'">
                         <div v-if="text == '1'">
                             <div class="table-text text-y ">是</div>
-                            <div class="text-y">是</div>
+                            <!-- <div class="text-y">否</div> -->
                         </div>
                         <div v-else>
-                            <div class="table-text text-n">否</div>
-                            <div class="text-n">否</div>
+                            <div class="table-text text-y">是</div>
+                            <!-- <div class="text-n">是</div> -->
+                            <div class="table-text text-y">是</div>
                         </div>
                     </template>
-
                 </template>
             </a-table>
             <!-- 任务管理弹窗 -->
@@ -95,6 +97,11 @@
                 <uploadOrdown :modalType="modalType" @handlerComfirm="handlerComfirm" @handlerCancel="handlerCancel">
                 </uploadOrdown>
             </a-modal>
+            <!-- 区队管理弹窗 -->
+            <a-modal v-model:visible="visibleTeam" width="850px" :footer="null" :title="titleTeam" centered
+                destroyOnClose>
+              <inspectTeam></inspectTeam>
+            </a-modal>
         </div>
     </div>
 </template>
@@ -106,9 +113,10 @@ import inspectTask from './components/inspectTask.vue'
 import inspectEdit from './components/inspectEdit.vue'
 import inspectDel from './components/inspectDel.vue'
 import uploadOrdown from './components/uploadOrdown.vue'
+import inspectTeam from './components/inspectTeam.vue'
 import { message } from 'ant-design-vue';
 import { columns, pagination } from './gasInspect.data'
-import { list, importByExcel, exportGasByExcel, moveOrderNum, edit, deleteCard, taskSubmit, clearCardInfo } from './gasInspect.api'
+import { list, importByExcel, exportGasByExcel, moveOrderNum, edit, deleteCard, taskSubmit, clearCardInfo, teamList } from './gasInspect.api'
 
 
 let searchId = ref('')
@@ -117,6 +125,8 @@ let visibleTask = ref(false)//控制任务管理弹窗的显示与隐藏
 let titleTask = ref('')
 let visibleEdit = ref(false)//控制编辑弹窗的显示与隐藏
 let titleEdit = ref('')//编辑弹窗标题
+let visibleTeam=ref(false)//控制区队管理弹窗的显示与隐藏
+let titleTeam=ref('')//区队管理弹窗标题
 let inspectEditData = reactive({})//编辑弹窗数据
 let visibleDel = ref(false)//控制删除弹窗的显示与隐藏
 let titleDel = ref('')//删除弹窗标题
@@ -192,6 +202,11 @@ let handleCancelDelCard = () => {
     inspectDelData.value = ''
     visibleDel.value = false
 }
+//打开区队管理弹窗
+let handlerTeam=()=>{
+    visibleTeam.value=true
+    titleTeam.value='区队管理'
+}
 
 //通过id(巡检卡id)查询
 async function queryByIdList() {

+ 8 - 8
src/views/vent/home/clique/components/icon-light.vue

@@ -99,7 +99,7 @@
           },
         ]
       : [
-          { code: 'sdmtjtltmk', imgSrc: warningLevel1, label: '柳塔矿', leftV: '375px', topV: '135px', textColor: '#fff', align: 'right' },
+          { code: 'sdmtjtltmk', imgSrc: warningLevel1, label: '柳塔矿', leftV: '405px', topV: '165px', textColor: '#fff', align: 'right' },
           { code: 'sdmtjtcctrk', imgSrc: warningLevel1, label: '寸草塔二矿', leftV: '269px', topV: '116px', textColor: '#fff', align: 'left' },
           {
             code: 'sdmtjtbetmk',
@@ -110,7 +110,7 @@
             textColor: '#fff',
             align: 'left',
           },
-          { code: 'sdmtjtwlmlmk', imgSrc: warningLevel1, label: '乌兰木伦矿', leftV: '432px', topV: '178px', textColor: '#fff', align: 'right' },
+          { code: 'sdmtjtwlmlmk', imgSrc: warningLevel4, label: '乌兰木伦矿', leftV: '462px', topV: '210px', textColor: '#fff', align: 'right' },
           {
             code: 'sdmtjtcctmk',
             imgSrc: warningLevel1,
@@ -120,7 +120,7 @@
             textColor: '#fff',
             align: 'left',
           },
-          { code: 'sdmtjtsgtmk', imgSrc: warningLevel1, label: '石圪台矿', leftV: '470px', topV: '236px', textColor: '#fff', align: 'right' },
+          { code: 'sdmtjtsgtmk', imgSrc: warningLevel1, label: '石圪台矿', leftV: '514px', topV: '250px', textColor: '#fff', align: 'right' },
           {
             code: 'sdmtjtbltmk',
             imgSrc: warningLevel1,
@@ -130,18 +130,18 @@
             textColor: '#fff',
             align: 'left',
           },
-          { code: 'sdmtjthlgmk', imgSrc: warningLevel1, label: '哈拉沟矿', leftV: '511px', topV: '302px', textColor: '#fff', align: 'right' },
+          { code: 'sdmtjthlgmk', imgSrc: warningLevel1, label: '哈拉沟矿', leftV: '641px', topV: '268px', textColor: '#fff', align: 'right' },
           {
             code: 'sdmtjtswmk',
-            imgSrc: warningLevel1,
+            imgSrc: warningLevel3,
             label: '上湾矿',
             leftV: '381px',
             topV: '334px',
             textColor: '#fff',
             align: 'left',
           },
-          { code: 'sdmtjtdltmkhjtj', imgSrc: warningLevel1, label: '活鸡兔井', leftV: '488px', topV: '398px', textColor: '#fff', align: 'left' },
-          { code: 'sdmtjtdltmk', imgSrc: warningLevel1, label: '大柳塔井', leftV: '588px', topV: '338px', textColor: '#fff', align: 'right' },
+          { code: 'sdmtjtdltmkhjtj', imgSrc: warningLevel1, label: '活鸡兔井', leftV: '598px', topV: '358px', textColor: '#fff', align: 'left' },
+          { code: 'sdmtjtdltmk', imgSrc: warningLevel2, label: '大柳塔井', leftV: '598px', topV: '308px', textColor: '#fff', align: 'right' },
           {
             code: 'sdmtjtjjmk',
             imgSrc: warningLevel1,
@@ -151,7 +151,7 @@
             textColor: '#fff',
             align: 'center',
           },
-          { code: 'sdmtjtyjlmk', imgSrc: warningLevel1, label: '榆家梁矿', leftV: '699px', topV: '307px', textColor: '#fff', align: 'center' },
+          { code: 'sdmtjtyjlmk', imgSrc: warningLevel1, label: '榆家梁矿', leftV: '748px', topV: '370px', textColor: '#fff', align: 'center' },
           {
             code: 'sdmtjtbdmk',
             imgSrc: warningLevel1,

+ 3 - 3
src/views/vent/home/clique/index.vue

@@ -292,19 +292,19 @@
               height: 610px;
               left: 30px;
               top: 60px;
-              background: url('../../../../assets/images/company/home-map.png') no-repeat center;
+              background: url('../../../../assets/images/company/home-map2.png') no-repeat center;
               background-size: contain;
               // background-position: 0px 70px;
               position: relative;
               z-index: 0;
               .build {
                 position: absolute;
-                background: url('../../../../assets/images/company/build.png') no-repeat center;
+                background: url('../../../../assets/images/company/build1.png') no-repeat center;
                 background-size: contain;
                 width: 80px;
                 height: 80px;
                 left: 500px;
-                top: 325px;
+                top: 290px;
                 z-index: 999;
               }
             }