ソースを参照

Merge branch 'master' of http://94.191.59.107:3000/houwenfeng/scd_tools_ui

“yueshang” 1 年間 前
コミット
9534ae0550

+ 13 - 4
src/pages/mission/components/CreateMis.vue

@@ -16,7 +16,7 @@
                             clearable />
                     </el-form-item>
                     <el-form-item label="检测变电站" prop="flashId">
-                        <el-select style="width: 340px;" v-model="newMission.flashId" placeholder="请选择变电站" clearable
+                        <el-select style="width: 340px;height: 40px;" v-model="newMission.flashId" placeholder="请选择变电站" clearable
                             @change="flashChange">
                             <template v-for="(item, index) in flashList">
                                 <el-option :label="item.label" :value="item.value" />
@@ -29,10 +29,10 @@
                         <el-input class="bestInput" style="width: 600px;" disabled placeholder="输入内容"
                             v-model="cmodel"></el-input>
                         <el-button @click="modelOpen" style="height: 40px;margin-left: 5px;" type="primary"
-                            plain>选择模型</el-button>
+                            plain><el-icon><Coin /></el-icon>选择模型</el-button>
                     </el-form-item>
                     <el-form-item label="报告模板" prop="reportNow">
-                        <el-select class="bestInput" style="width: 400px;" @chang="bmChange" v-model="newMission.reportNow"
+                        <el-select class="bestInput" style="width: 400px;height: 40px;" @chang="bmChange" v-model="newMission.reportNow"
                             placeholder="请选择模板" clearable>
                             <el-option v-for="(item, index) in rmList" :label="item.name" :value="item.id" />
                         </el-select>
@@ -171,6 +171,9 @@ export default {
             reportNow: [
                 { required: true, message: "请选择模板", trigger: "change" }
             ],
+            misMes: [
+                { required: true, message: "请输入任务说明", trigger: "change" }
+            ],
         })//表单验证
         let flashList = ref([])//表单选择的变电站
         let scdLooks = ref(false)//选择scd文件时的显示与否
@@ -513,7 +516,7 @@ em {
 }
 
 .bestInput {
-    width: 340px;
+    width: 360px;
     height: 40px;
     border-radius: 2px 2px 2px 2px;
 }
@@ -563,4 +566,10 @@ em {
     margin-top: 5px;
     border: 1px solid #5779D7;
 }
+:deep(.el-form--inline .el-form-item){
+    margin-right: 12px !important;
+}
+:deep(.el-select .el-input__wrapper){
+    height: 38px;
+}
 </style>

+ 1 - 1
src/pages/mission/components/HaveMis.vue

@@ -362,7 +362,7 @@ p {
   background-repeat: no-repeat;
   background-size: 100% 100%;
   margin: 15px 15px;
-  background-color: #7DC6FE;
+  background-color: #8BA6F0;
   border-radius: 5px;
   box-shadow: inset 0px -3px 3px 0px #C8D4EC;
   color: white;

+ 103 - 31
src/pages/setting/components/SetLog.vue

@@ -1,13 +1,13 @@
 <template>
     <div>
-        <div class="bigBox">
+        <div class="bigBox" v-loading="loading">
             <div class="titleBox">
-                <h3>操作日志管理</h3>
+                <h1 style="font-size: 18px;">操作日志管理</h1>
             </div>
             <!-- 分类查询数据 -->
             <div class="settingBox">
                 <div class="manyBox">
-                    <span>操作结果</span>
+                    <span style="font-size: 14px;margin: 0 10px;">操作结果</span>
                     <el-select @change="aboutChange" style="width: 160px;height: 32px;border-radius: 0%;" v-model="setAbout"
                         clearable placeholder="操作结果">
                         <el-option v-for="(item, index) in setAboutList" :key="item.id" :label="item.name"
@@ -15,7 +15,7 @@
                     </el-select>
                 </div>
                 <div class="manyBox">
-                    <span>审计分类</span>
+                    <span style="font-size: 14px;margin: 0 10px;">审计分类</span>
                     <el-select @change="audiChange" style="width: 160px;height: 32px;border-radius: 0%;" v-model="audiType"
                         clearable placeholder="审计分类">
                         <el-option v-for="(item, index) in audiTypeList" :key="item.id" :label="item.name"
@@ -23,7 +23,7 @@
                     </el-select>
                 </div>
                 <div class="manyBox">
-                    <span>操作分类</span>
+                    <span style="font-size: 14px;margin: 0 10px;">操作分类</span>
                     <el-select @change="stChange" style="width: 160px;height: 32px;border-radius: 0%;" v-model="setType"
                         clearable placeholder="操作分类">
                         <el-option v-for="(item, index) in setTypeList" :key="item.id" :label="item.name"
@@ -31,7 +31,7 @@
                     </el-select>
                 </div>
                 <div class="manyBox">
-                    <span>事件类型</span>
+                    <span style="font-size: 14px;margin: 0 10px;">事件类型</span>
                     <el-select @change="thingChange" style="width: 160px;height: 32px;border-radius: 0%;" v-model="thing"
                         clearable placeholder="事件类型">
                         <el-option v-for="(item, index) in thingList" :key="item.id" :label="item.name"
@@ -90,31 +90,70 @@ export default {
         let logTotal = ref(0)//列表总数
         let pages = ref(0)
         let sizes = ref(0)
+        let loading = ref(false)
         function getSelect() {//获取所有下拉框选项
             systemRow.getAllRow({ pcode: "log_optresult" }).then(res => {
                 // 操作结果
-                setAboutList.value = res.data
+                if (res.data != null) {
+                    setAboutList.value = res.data
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
             systemRow.getAllRow({ pcode: 'log_opttype' }).then(res => {
                 // 操作分类
-                setTypeList.value = res.data
+                if (res.data != null) {
+                    setTypeList.value = res.data
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
             systemRow.getAllRow({ pcode: 'log_audittype' }).then(res => {
                 // 审计分类
-                audiTypeList.value = res.data
+                if (res.data != null) {
+                    audiTypeList.value = res.data
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
             systemRow.getAllRow({ pcode: 'log_eventtype' }).then(res => {
                 // 事件类型
-                thingList.value = res.data
+                if (res.data != null) {
+                    thingList.value = res.data
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
         }
         function getList() {//获取操作日志列表
+            loading.value = true
             setlog.getAllLog({ pageindex: 1, pageSize: 20 }).then(res => {
-                logList.value = res.data
-                logTotal.value = res.count
+                if (res.data != null) {
+                    logList.value = res.data
+                    logTotal.value = res.count
+                    loading.value = false
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
         }
         function getBack(index, size) {//分页组件返回数据赋值
+            loading.value = true
             pages.value = index
             sizes.value = sizes
             setlog.getAllLog({ pageindex: pages.value, pageSize: sizes.value }).then(res => {
@@ -123,40 +162,70 @@ export default {
             })
         }
         function aboutChange(e) {//操作结果change事件
+            loading.value = true
             setAbout.value = e
-            setlog.getAllLog({ pageindex: pages.value, pageSize: sizes.value,success:setAbout.value }).then(res => {
-                console.log(res,'sss');
-                logList.value = res.data
-                logTotal.value = res.count
+            setlog.getAllLog({ pageindex: pages.value, pageSize: sizes.value, success: setAbout.value }).then(res => {
+                if (res.data != null) {
+                    logList.value = res.data
+                    logTotal.value = res.count
+                    loading.value = false
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
         }
         function audiChange(e) {//审计分类change事件
+            loading.value = true
             audiType.value = e
-            setlog.getAllLog({ pageindex: pages.value, pageSize: sizes.value,audittype:audiType.value }).then(res => {
-                logList.value = res.data
-                logTotal.value = res.count
+            setlog.getAllLog({ pageindex: pages.value, pageSize: sizes.value, audittype: audiType.value }).then(res => {
+                if (res.data != null) {
+                    logList.value = res.data
+                    logTotal.value = res.count
+                    loading.value = false
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
         }
         function stChange(e) {//操作分类change事件
+            loading.value = true
             setType.value = e
-            setlog.getAllLog({ pageindex: pages.value, pageSize: sizes.value,opttype:setType.value }).then(res => {
-                logList.value = res.data
-                logTotal.value = res.count
+            setlog.getAllLog({ pageindex: pages.value, pageSize: sizes.value, opttype: setType.value }).then(res => {
+                if (res.data != null) {
+                    logList.value = res.data
+                    logTotal.value = res.count
+                    loading.value = false
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
         }
         function thingChange(e) {//事件类型change事件
+            loading.value = true
             thing.value = e
-            setlog.getAllLog({ pageindex: pages.value, pageSize: sizes.value,eventtype:thing.value }).then(res => {
-                logList.value = res.data
-                logTotal.value = res.count
+            setlog.getAllLog({ pageindex: pages.value, pageSize: sizes.value, eventtype: thing.value }).then(res => {
+                if (res.data != null) {
+                    logList.value = res.data
+                    logTotal.value = res.count
+                    loading.value = false
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
         }
         onMounted(() => {
-            ElMessage({
-                type:"info",
-                message:"正在加载数据",
-                duration:1200
-            })
             getSelect()
             getList()
         })
@@ -180,6 +249,7 @@ export default {
             thingChange,//事件类型change事件
             pages,//页码
             sizes,//条数
+            loading,
         }
     },
     components: {
@@ -195,11 +265,13 @@ export default {
     margin-left: 15px;
     margin-top: 10px;
 }
-.titleBox{
+
+.titleBox {
     width: 100%;
     height: 100%;
     text-align: center;
 }
+
 .settingBox {
     display: flex;
     justify-content: flex-start;

+ 33 - 14
src/pages/setting/components/SystemNum.vue

@@ -1,8 +1,8 @@
 <template>
     <div>
-        <div class="bigBox">
+        <div class="bigBox" v-loading="loading">
             <div class="pBox">
-                <p>系统参数管理</p>
+                <h1 style="font-size: 18px;">系统参数管理</h1>
             </div>
             <div class="tableBox">
                 <el-button type="primary" @click="addNew(0)">+新建系统参数</el-button>
@@ -15,7 +15,7 @@
                     <el-table-column prop="param_memo" label="参数说明" width="auto" />
                     <el-table-column fixed="right" label="操作" width="120">
                         <template #default="scope">
-                            <el-button text type="primary" size="small" @click="editOld(1,scope.row)">
+                            <el-button text type="primary" size="small" @click="editOld(1, scope.row)">
                                 <el-icon>
                                     <EditPen />
                                 </el-icon>
@@ -27,11 +27,12 @@
             </div>
             <!-- 分页组件 -->
             <div class="pageBox">
-                <PageNation :tLength="tLength"></PageNation>
+                <PageNation :tLength="tLength" @getBack="getBack"></PageNation>
             </div>
             <!-- 模态框 -->
             <div class="modalBox">
-                <AddSn v-if="addRule" :addRule="addRule" :editForm="editForm" @asBack="asBack" :addEdit="addEdit" :searchSystemCode="searchSystemCode"></AddSn>
+                <AddSn v-if="addRule" :addRule="addRule" :editForm="editForm" @asBack="asBack" :addEdit="addEdit"
+                    :searchSystemCode="searchSystemCode"></AddSn>
             </div>
         </div>
     </div>
@@ -50,17 +51,25 @@ export default {
         let addRule = ref(false)//增加,修改模态框
         let addEdit = ref(0)//0代表新增,1代表修改
         let editForm = ref({})//编辑需要回显的参数
+        let loading = ref(false)
         function searchSystemCode() {//获取所有系统参数
             system.getSystemCode({ pageindex: 1, pageSize: 10 }).then(res => {
-                systemList.value = res.data
-                tLength.value = res.count
+                if (res.data != null) {
+                    systemList.value = res.data
+                    tLength.value = res.count
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: 'error'
+                    })
+                }
             })
         }
         function addNew(num) {//新增打开模态框
             addEdit.value = num
             addRule.value = true
         }
-        function editOld(num,row){//编辑打开模态框
+        function editOld(num, row) {//编辑打开模态框
             editForm.value = row
             addEdit.value = num
             addRule.value = true
@@ -68,12 +77,20 @@ export default {
         function asBack(data) {//子组件返回的模态框状态
             addRule.value = data
         }
-        onMounted(() => {
-            ElMessage({
-                type:"info",
-                message:"正在加载数据",
-                duration:500
+        function getBack(index, size) {
+            system.getSystemCode({ pageindex: index - 0, pageSize: size - 0 }).then(res => {
+                if (res.data != null) {
+                    systemList.value = res.data
+                    tLength.value = res.count
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: 'error'
+                    })
+                }
             })
+        }
+        onMounted(() => {
             searchSystemCode()
         })
         return {
@@ -86,6 +103,8 @@ export default {
             addEdit,//0代表新增,1代表修改
             editOld,//编辑打开模态框
             editForm,//编辑需要回显的参数
+            loading,
+            getBack,
         }
     },
     components: {
@@ -111,7 +130,7 @@ export default {
 .tableBox {
     width: 100%;
     height: auto;
-    border: 1px solid red;
+    /* border: 1px solid red; */
     overflow-y: auto;
 }
 

+ 48 - 37
src/pages/setting/modalComp/AddSn.vue

@@ -2,11 +2,11 @@
     <div>
         <div class="bigBox">
             <el-dialog v-model="dialogVisible" :title="tips" width="30%" @close="closees">
-                <el-form :model="numForm" label-width="120px" :rules="numRules">
+                <el-form :model="numForm" label-width="120px" :rules="numRules" ref="formRef">
                     <el-form-item label="参数编码" prop="name">
                         <el-input v-model="numForm.name" />
                     </el-form-item>
-                    <el-form-item label="参数值" prop="value" >
+                    <el-form-item label="参数值" prop="value">
                         <el-input v-model="numForm.value" :disabled="ae == 1" />
                     </el-form-item>
                     <el-form-item label="参数描述" prop="memo">
@@ -72,13 +72,14 @@ export default {
             ]
         })
         let { cacncel, sureBack } = toRefs(props)
+        let formRef = ref(null)
         function lineList() {
             dialogVisible.value = result
             if (ae == 0) {
-                tips.value = '新增'
+                tips.value = '新增系统参数'
             }
             if (ae == 1) {
-                tips.value = '修改'
+                tips.value = '修改系统参数'
                 numForm.value.name = aeList.param_name
                 numForm.value.value = aeList.param_value
                 numForm.value.memo = aeList.param_memo
@@ -93,41 +94,50 @@ export default {
             emit("asBack", dialogVisible.value)
         }
         function fullBack() {
-            if (ae == 0) {
-                system.editSystemCode({
-                    param_name: numForm.value.name,
-                    param_value: numForm.value.value,
-                    param_memo: numForm.value.memo
-                }).then(res => {
-                    if (res.code == 0) {
-                        dialogVisible.value = false
-                        emit("asBack", dialogVisible.value)
-                        ElMessage({
-                            type: "success",
-                            message: "新增成功",
-                            duration: 2000
+            formRef.value.validate((val) => {
+                if (val) {
+                    if (ae == 0) {
+                        system.editSystemCode({
+                            param_name: numForm.value.name,
+                            param_value: numForm.value.value,
+                            param_memo: numForm.value.memo
+                        }).then(res => {
+                            if (res.code == 0) {
+                                dialogVisible.value = false
+                                emit("asBack", dialogVisible.value)
+                                ElMessage({
+                                    type: "success",
+                                    message: "新增成功",
+                                    duration: 2000
+                                })
+                                props.searchSystemCode()
+                            }
                         })
-                        props.searchSystemCode()
-                    }
-                })
-            } else {
-                system.editSystemCode({
-                    param_name: numForm.value.name,
-                    param_value: numForm.value.value,
-                    param_memo: numForm.value.memo
-                }).then(res => {
-                    if (res.code == 0) {
-                        dialogVisible.value = false
-                        emit("asBack", dialogVisible.value)
-                        ElMessage({
-                            type: "success",
-                            message: "编辑成功",
-                            duration: 2000
+                    } else {
+                        system.editSystemCode({
+                            param_name: numForm.value.name,
+                            param_value: numForm.value.value,
+                            param_memo: numForm.value.memo
+                        }).then(res => {
+                            if (res.code == 0) {
+                                dialogVisible.value = false
+                                emit("asBack", dialogVisible.value)
+                                ElMessage({
+                                    type: "success",
+                                    message: "编辑成功",
+                                    duration: 2000
+                                })
+                                props.searchSystemCode()
+                            }
                         })
-                        props.searchSystemCode()
                     }
-                })
-            }
+                }else{
+                    ElMessage({
+                        message:"请检查表单项",
+                        type:"error"
+                    })
+                }
+            })
 
         }
         onMounted(() => {
@@ -141,7 +151,8 @@ export default {
             tips,
             numForm,
             numRules,
-            ae
+            ae,
+            formRef,
         }
     }
 }

+ 2 - 0
src/pages/setting/modalComp/Addrm.vue

@@ -104,6 +104,8 @@ export default {
                 // addForm.value.docName = needRow.value.
                 addForm.value.memos = needRow.value.memo
                 addForm.value.states = needRow.value.state
+                console.log(needRow.value,'dee');
+                // addForm.value.docName = needRow.value
                 needId.value = needRow.value.id
             }
             dialogVisible.value = result

+ 13 - 10
src/pages/setting/modalComp/DelSc.vue

@@ -2,13 +2,16 @@
     <div>
         <div class="bigBox">
             <el-dialog v-model="dialogVisible" title="删除" width="30%" @close="closes">
-                <span>确定删除吗?</span>
-                <template #footer>
-                    <span class="dialog-footer">
-                        <el-button @click="cancels">取消</el-button>
-                        <el-button type="primary" @click="sureDel">确认</el-button>
-                    </span>
-                </template>
+                <div style="display: flex;justify-content:center;align-items: center;">
+                    <el-icon style="color: red;font-size: 40px;display: block;">
+                        <WarningFilled />
+                    </el-icon>
+                    <span style="display: block;">是否确认删除该信息?</span>
+                </div>
+                <div style="display: flex;justify-content:center;align-items: center;margin-top: 40px;">
+                    <el-button style="display: block;width: 150px;height: 30px;" @click="cancels">取消</el-button>
+                    <el-button style="display: block;width: 150px;height: 30px;" type="primary" @click="sureDel">确认</el-button>
+                </div>
             </el-dialog>
         </div>
     </div>
@@ -28,9 +31,9 @@ export default {
             type: String,
             required: true
         },
-        searchSystem:{
-            type:Function,
-            required:true
+        searchSystem: {
+            type: Function,
+            required: true
         }
     },
     setup(props, { emit }) {

+ 23 - 9
src/pages/system/SystemPage.vue

@@ -14,16 +14,17 @@
             <div class="setBox">
                 <!-- 公共组件box -->
                 <div class="traBox" v-if="selectIndex == 0 || ourNum == 0">
-                    <LineTree  @listBack="listBack" @volBack="volBack" :selectIndex="selectIndex">
+                    <LineTree @listBack="listBack" @volBack="volBack" @lineBack="lineBack" :selectIndex="selectIndex">
                     </LineTree>
                     <!--<ModuleTree v-if="selectIndex == 1 && ourNum == 1"  @mtBack="mtBack"></ModuleTree>-->
                 </div>
                 <!-- 切换box -->
-                <div class="changeBox" :style="selectIndex == 1 && ourNum == 1?'width:96%':''">
+                <div class="changeBox" :style="selectIndex == 1 && ourNum == 1 ? 'width:96%' : ''" v-loading="loading">
                     <LitLine v-if="selectIndex == 0" :fuckList="fuckList"></LitLine>
                     <InsideModule v-if="selectIndex == 1 && ourNum == 1" :tfType="tfType" :insideNeed="insideNeed"
                         :lineId="lineId" :setName="setName" :setId="setId" @closeDraw="closeDraw"></InsideModule>
-                    <SetModule v-if="selectIndex == 1 && ourNum == 0" @backNum="backNum" :linkstyleid="lineId" :volId="volId" :fuckList="fuckList"></SetModule>
+                    <SetModule v-if="selectIndex == 1 && ourNum == 0" @backNum="backNum" :linkstyleid="lineId"
+                        :volId="volId" :fuckList="fuckList"></SetModule>
                 </div>
             </div>
         </div>
@@ -66,6 +67,7 @@ export default {
         let volId = ref('')
         let setName = ref('')//setmodule返回name
         let setId = ref('')
+        let loading = ref(false)//加载动画
         function tagChange(row, num) {//标签切换
             selectIndex.value = num
             if (num == 1) {
@@ -77,12 +79,16 @@ export default {
             });
         }
         function listBack(data, id) {
-            fuckList.value = data
-            lineId.value = id
+            setTimeout(() => {
+                fuckList.value = data
+                lineId.value = id
+            }, 1000)
         }
         function volBack(data, id) {
-            fuckList.value = data
-            volId.value = id
+            setTimeout(() => {
+                fuckList.value = data
+                volId.value = id
+            }, 1000)
         }
         function backNum(data, name, row) {
             ourNum.value = data
@@ -93,10 +99,16 @@ export default {
             insideNeed.value = row
             tfType.value = data
         }
-        function closeDraw(){
+        function closeDraw() {
             selectIndex.value = 1
             ourNum.value = 0
         }
+        function lineBack(data) {
+            loading.value = data
+            setTimeout(() => {
+                loading.value = false
+            }, 1500)
+        }
         onMounted(() => {
 
         })
@@ -117,6 +129,8 @@ export default {
             volId,
             setName,
             setId,
+            loading,//加载动画
+            lineBack,//lineTree.vue返回加载状态
         }
     },
     components: {
@@ -162,7 +176,7 @@ export default {
 .traBox {
     width: 15%;
     height: calc(100vh - 150px);
-    border: 1px solid #ededed; 
+    border: 1px solid #ededed;
     background-color: #F7F8FB;
 }
 

+ 40 - 7
src/pages/system/components/LineTree.vue

@@ -37,6 +37,7 @@ import { ref, onMounted, toRefs, watch } from 'vue'
 import litLine from '@/api/litLine'
 import systemRow from '@/api/systemRow';
 import LitLine from './LitLine.vue';
+import { ElMessage } from 'element-plus';
 export default {
     props: {
         selectIndex: {
@@ -56,6 +57,7 @@ export default {
         let pList = ref([])
         let selectIndex = ref(null)
         let vif = ref(true)
+        let loading = ref(false)
         watch(() => props.selectIndex, (newVal) => {
             result.value = newVal
             searchFlashLel()
@@ -94,8 +96,17 @@ export default {
         function handleNodeClick(e) {
             litLine.getAllLine({ pageno: 1, pagesize: 20, vol_id: e.id - 0 }).then(res => {
                 // console.log(res, 'asdasdasd');
-                pushList.value = res.data
-                emit("listBack", res.data)
+                if (res.code == 0) {
+                    loading.value = true
+                    emit("lineBack", loading.value)
+                    pushList.value = res.data
+                    emit("listBack", res.data)
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
         }
         function handleModelNodeClick(e) {
@@ -103,20 +114,40 @@ export default {
             if (e.datatype === 'linkstyle') {
                 // 接线方式
                 litLine.getAllm({ pageno: 1, pagesize: 20, line_link_style: e.id }).then(res => {
-                    emit("listBack", res.data, e.id)
+                    if (res.code == 0) {
+                        loading.value = true
+                        emit("lineBack", loading.value)
+                        emit("listBack", res.data, e.id)
+                    } else {
+                        ElMessage({
+                            message: res.msg,
+                            type: "error"
+                        })
+                    }
                 })
             } else {
                 // 电压等级
                 litLine.getAllm({ pageno: 1, pagesize: 20, vol_id: e.id }).then(res => {
-                    emit("volBack", res.data, e.id)
+                    if (res.code == 0) {
+                        loading.value = true
+                        emit("lineBack", loading.value)
+                        emit("volBack", res.data, e.id)
+                    } else {
+                        ElMessage({
+                            message: res.msg,
+                            type: "error"
+                        })
+                    }
                 })
             }
         }
         function pClick(row, num) {
             selectIndex.value = num
             litLine.getAllLine({ pageno: 1, pagesize: 10, vol_id: row.id - 0 }).then(res => {
-                pushList.value = res.data
-                emit("listBack", pushList.value, row.id)
+                if (res.code == 0) {
+                    pushList.value = res.data
+                    emit("listBack", pushList.value, row.id)
+                }
             })
         }
         onMounted(() => {
@@ -136,6 +167,7 @@ export default {
             selectIndex,
             pClick,
             vif,
+            loading,
         }
     },
     components: {
@@ -172,4 +204,5 @@ export default {
     background: #b2b4ef !important;
     color: #fff !important;
     font-weight: bold;
-}</style>
+}
+</style>

+ 11 - 9
src/pages/system/components/LitLine.vue

@@ -21,7 +21,8 @@
                     <el-table-column label="接线方式名称" prop="name" width="auto" />
                     <el-table-column width="auto" label="线路图" prop="pic">
                         <template #default="scope">
-                            <span style="color: blue;border-bottom: 1px solid blue;cursor: pointer;" @click="lookPic(scope.row)">查看</span>
+                            <span style="color: blue;border-bottom: 1px solid blue;cursor: pointer;"
+                                @click="lookPic(scope.row)">查看</span>
                         </template>
                     </el-table-column>
                     <el-table-column label="创建时间" prop="ct" width="auto" show-overflow-tooltip />
@@ -30,12 +31,12 @@
                             <el-button link type="primary" size="small" @click="editLine(scope.row)"><el-icon>
                                     <EditPen />
                                 </el-icon>编辑</el-button>
+                            <el-button link type="primary" size="small" @click="lookLine(scope.row)"><el-icon>
+                                    <View />
+                                </el-icon>查看</el-button>
                             <el-button link type="danger" size="small" @click="delLine(scope.row)"><el-icon>
                                     <Delete />
                                 </el-icon>删除</el-button>
-                            <el-button link type="primary" size="small" @click="moduleLine(scope.row)"><el-icon>
-                                    <Coin />
-                                </el-icon>间隔模型</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -44,7 +45,8 @@
                 <AddLine v-if="alModal" :alModal="alModal" :search="search" @alBack="alBack"></AddLine>
                 <LookLine v-if="lookModal" :lookModal="lookModal" :needList="needList" :search="search" @lookBack="lookBack"
                     :listNum="listNum"></LookLine>
-                <DelLine v-if="delModal" :delModal="delModal" :needList="needList" :search="search" @delBack=delBack></DelLine>
+                <DelLine v-if="delModal" :delModal="delModal" :needList="needList" :search="search" @delBack=delBack>
+                </DelLine>
                 <PicLook v-if="picModal" :picModal="picModal" :needList="needList" @picBack="picBack"></PicLook>
             </div>
         </div>
@@ -106,7 +108,7 @@ export default {
             needList.value = row
             delModal.value = true
         }
-        function lookPic(row){
+        function lookPic(row) {
             needList.value = row
             picModal.value = true
         }
@@ -116,10 +118,10 @@ export default {
         function lookBack(data) {
             lookModal.value = data
         }
-        function delBack(data){
+        function delBack(data) {
             delModal.value = data
         }
-        function picBack(data){
+        function picBack(data) {
             picModal.value = data
         }
         // watch(() => props.fuckList, (newVal) => {
@@ -161,7 +163,7 @@ export default {
 </script>
 
 <style scoped>
-.bigBox{
+.bigBox {
     margin-top: 10px;
 }
 </style>

+ 38 - 17
src/pages/system/modalComp/AddLine.vue

@@ -1,14 +1,14 @@
 <template>
     <div>
         <div>
-            <el-dialog v-model="dialogVisible" title="Tips" width="30%" @close="closes">
+            <el-dialog v-model="dialogVisible" title="添加一次性接线" width="30%" @close="closes">
                 <!--  -->
                 <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm"
                     status-icon>
                     <el-form-item label="名称" prop="name">
                         <el-input v-model="ruleForm.name" />
                     </el-form-item>
-                    <el-form-item label="电压等级">
+                    <el-form-item label="电压等级" prop="volId">
                         <el-select @change="flashChange" v-model="ruleForm.volId" placeholder="请选择电压等级">
                             <template v-for="(item, index) in selectList">
                                 <el-option :label="item.name" :value="item.id" />
@@ -61,15 +61,25 @@ export default {
         let rules = reactive({
             name: [
                 { required: true, message: '请输入名称', trigger: 'blur' },
-            ]
+            ],
+            volId: [
+                { required: true, message: '请输入名称', trigger: 'blur' },
+            ],
         })
+        let ruleFormRef = ref(null)
         function lineList() {
             dialogVisible.value = result
         }
         function searchFlashLel() {
             systemRow.getChildren({ code: "voltage_level" }).then(res => {
-                console.log(res, 'lel');
-                selectList.value = res.data
+                if (res.data != null) {
+                    selectList.value = res.data
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
         }
         function flashChange(e) {
@@ -80,21 +90,31 @@ export default {
             emit("alBack", dialogVisible.value)
         }
         function sureBack() {
-            litLine.addLine({
-                name: ruleForm.value.name,
-                vol_id: ruleForm.value.volId - 0
-            }).then(res => {
-                if (res.code == 0) {
-                    dialogVisible.value = false
-                    emit("alBack", dialogVisible.value)
+            ruleFormRef.value.validate((valid) => {
+                if (valid) {
+                    litLine.addLine({
+                        name: ruleForm.value.name,
+                        vol_id: ruleForm.value.volId - 0
+                    }).then(res => {
+                        if (res.code == 0) {
+                            dialogVisible.value = false
+                            emit("alBack", dialogVisible.value)
+                            ElMessage({
+                                message: "添加成功",
+                                type: "success",
+                                duration: 1500
+                            })
+                            props.search()
+                        }
+                    })
+                } else {
                     ElMessage({
-                        message: "添加成功",
-                        type: "success",
-                        duration: 1500
+                        message:"请检查表单项",
+                        type:"error"
                     })
-                    props.search()
                 }
-            })
+            });
+
 
         }
         onMounted(() => {
@@ -111,6 +131,7 @@ export default {
             selectList,
             rules,
             closes: cancelBack,
+            ruleFormRef,
         }
     }
 }

+ 47 - 35
src/pages/system/modalComp/AddNode.vue

@@ -17,7 +17,8 @@
                 <el-form-item label="接线方式" prop="linkStyle">
                     <el-select @change="moduleChange" v-model="ruleForm.linkStyle" placeholder="请选择接线方式">
                         <template v-for="(item, index) in moduleList">
-                            <el-option v-if="ruleForm.flashName=='' || ruleForm.flashName==item.vol_level_id" :label="item.name" :value="item.id" />
+                            <el-option v-if="ruleForm.flashName == '' || ruleForm.flashName == item.vol_level_id"
+                                :label="item.name" :value="item.id" />
                         </template>
                     </el-select>
                 </el-form-item>
@@ -42,7 +43,7 @@
 </template>
 
 <script>
-import { ref,unref, onMounted, toRefs, reactive, watch } from 'vue';
+import { ref, unref, onMounted, toRefs, reactive, watch } from 'vue';
 import systemRow from '@/api/systemRow';
 import litLine from '@/api/litLine';
 import cid from '@/api/cid/cid';
@@ -96,21 +97,22 @@ export default {
                 }
             ]
         })
+        let ruleFormRef = ref(null)
         watch(() => props.needRow, (newVal) => {
             coolRow.value = newVal
-            ruleForm.value.name = coolRow.value.model_name||''
-            ruleForm.value.linkStyle = coolRow.value.line_link_style||''
-            ruleForm.value.flashName = coolRow.value.vol_id||''
-            ruleForm.value.moduleId = coolRow.value.area_type||''
-            ruleForm.value.id = coolRow.value.id||0
+            ruleForm.value.name = coolRow.value.model_name || ''
+            ruleForm.value.linkStyle = coolRow.value.line_link_style || ''
+            ruleForm.value.flashName = coolRow.value.vol_id || ''
+            ruleForm.value.moduleId = coolRow.value.area_type || ''
+            ruleForm.value.id = coolRow.value.id || 0
             dialogVisible.value = true
         })
         function lineList() {
             dialogVisible.value = result
         }
         function searchFlashLel() {
-            ruleForm.value.id = props.needRow.id||0
-            ruleForm.value.name = props.needRow.model_name||''
+            ruleForm.value.id = props.needRow.id || 0
+            ruleForm.value.name = props.needRow.model_name || ''
             systemRow.getChildren({ code: "area_type" }).then(res => {
                 selectList.value = res.data
                 ruleForm.value.moduleId = props.needRow.area_type
@@ -120,7 +122,7 @@ export default {
                 ruleForm.value.flashName = props.needRow.vol_id
             })
             litLine.getAllLine({ pageno: 1, pagesize: 100 }).then(res => {
-                console.log(res,'接线方式');
+                console.log(res, '接线方式');
                 moduleList.value = res.data
                 ruleForm.value.linkStyle = props.needRow.line_link_style
             })
@@ -139,32 +141,41 @@ export default {
             emit("addBack", false)
         }
         function getSure() {
-            if(ruleForm.value.name=='' || ruleForm.value.flashName=='' || ruleForm.value.linkStyle=='' || ruleForm.value.moduleId==''){
-                return
+            if (ruleForm.value.name == '' || ruleForm.value.flashName == '' || ruleForm.value.linkStyle == '' || ruleForm.value.moduleId == '') {
+                ruleFormRef.value.validate((valid) => {
+                    if (valid) {
+                        // 验证通过,执行相应操作
+                        console.log('验证通过');
+                    } else {
+                        // 验证不通过,执行相应操作
+                        console.log('验证不通过');
+                    }
+                });
+            } else {
+                cid.saveMap({
+                    id: ruleForm.value.id,
+                    model_name: ruleForm.value.name,
+                    vol_id: ruleForm.value.flashName - 0,
+                    line_link_style: ruleForm.value.linkStyle - 0,
+                    area_type: ruleForm.value.moduleId - 0,
+                }).then(res => {
+                    if (res.code == 0) {
+                        ElMessage({
+                            type: "success",
+                            message: "添加成功",
+                            duration: 2000
+                        })
+                        dialogVisible.value = false
+                        emit("addBack", true)
+                    } else {
+                        ElMessage({
+                            type: "error",
+                            message: res.msg,
+                            duration: 2000
+                        })
+                    }
+                })
             }
-            cid.saveMap({
-                id: ruleForm.value.id,
-                model_name: ruleForm.value.name,
-                vol_id: ruleForm.value.flashName - 0,
-                line_link_style: ruleForm.value.linkStyle - 0,
-                area_type: ruleForm.value.moduleId - 0,
-            }).then(res => {
-                if (res.code == 0) {
-                    ElMessage({
-                        type:"success",
-                        message:"添加成功",
-                        duration:2000
-                    })
-                    dialogVisible.value = false
-                    emit("addBack", true)
-                }else{
-                    ElMessage({
-                        type:"error",
-                        message:res.msg,
-                        duration:2000
-                    })
-                }
-            })
         }
         onMounted(() => {
             lineList()
@@ -186,6 +197,7 @@ export default {
             flashLel,
             flashCase,
             coolRow,
+            ruleFormRef,//表单ref
         }
     }
 }

+ 4 - 1
src/pages/system/modalComp/DelLine.vue

@@ -2,7 +2,10 @@
     <div>
         <div>
             <el-dialog v-model="dialogVisible" title="删除信息" width="30%" @close="closes">
-                <h3 style="text-align: center;">确定删除该信息?</h3>
+                <h3 style="text-align: center;">
+                    <el-icon style="color: red;">
+                        <WarningFilled />
+                    </el-icon>确定删除该信息?</h3>
                 <template #footer>
                     <span class="dialog-footer">
                         <el-button @click="cancels">取消</el-button>

+ 57 - 27
src/pages/system/modalComp/LookLine.vue

@@ -3,11 +3,12 @@
         <div>
             <el-dialog v-model="dialogVisible" :title="titles" width="30%" @close="closes">
                 <!--  -->
-                <el-form ref="ruleFormRef" :model="ruleForm" label-width="120px" class="demo-ruleForm" status-icon>
+                <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm"
+                    status-icon>
                     <el-form-item label="名称" prop="name">
                         <el-input v-model="ruleForm.name" :disabled="disNum" />
                     </el-form-item>
-                    <el-form-item label="电压等级">
+                    <el-form-item label="电压等级" prop="volId">
                         <el-select v-model="ruleForm.volId" :disabled="disNum" placeholder="请选择电压等级">
                             <template v-for="(item, index) in selectList">
                                 <el-option :label="item.name" :value="item.id" />
@@ -29,7 +30,7 @@
 </template>
 
 <script>
-import { ref, onMounted, toRefs, watch } from 'vue';
+import { ref, onMounted, toRefs, watch, reactive } from 'vue';
 import { ElMessage } from 'element-plus';
 import litLine from '@/api/litLine';
 import systemRow from '@/api/systemRow';
@@ -56,8 +57,8 @@ export default {
         let dialogVisible = ref(false)
         let result = props.lookModal
         let newList = props.needList
-        let careNum = props.listNum
-        let titles = ref("查看")
+        let careNum = ref(0)
+        let titles = ref("添加一次性接线")
         let selectList = ref([])
         let editId = ref("")
         let disNum = ref(false)
@@ -66,21 +67,38 @@ export default {
             name: "",
             volId: "",
         })
+        let rules = reactive({
+            name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
+            volId: [{ required: true, message: '请选择电压等级', trigger: 'blur' }],
+        })
+        let ruleFormRef = ref(null)
+        watch(() => props.listNum, (newVal) => {
+            careNum.value = newVal
+            console.log(careNum.value, 'watch');
+        })
         function searchFlashLel() {
             systemRow.getChildren({ code: "voltage_level" }).then(res => {
-                console.log(res, 'vvv');
-                selectList.value = res.data
+                if (res.data != null) {
+                    selectList.value = res.data
+                } else {
+                    ElMessage({
+                        message: res.msg,
+                        type: "error"
+                    })
+                }
             })
         }
         function lineList() {
             ruleForm.value.name = newList.name
             ruleForm.value.volId = newList.vol_level_id
             editId.value = newList.id
-            if (careNum == 0) {
-                titles.value = '查看'
+            careNum.value = props.listNum
+            console.log(careNum.value, 'care');
+            if (careNum.value == 0) {
+                titles.value = '查看一次性接线'
                 disNum.value = true
             } else {
-                titles.value = '编辑'
+                titles.value = '编辑一次性接线'
                 disNum.value = false
             }
             dialogVisible.value = result
@@ -90,27 +108,37 @@ export default {
             emit("lookBack", dialogVisible.value)
         }
         function sureBack() {
-            if (careNum == 0) {
-                dialogVisible.value = false
-                emit("lookBack", dialogVisible.value)
-            } else {
-                litLine.addLine({
-                    id: editId.value - 0,
-                    name: ruleForm.value.name,
-                    vol_id: ruleForm.value.volId
-                }).then(res => {
-                    if (res.code == 0) {
+            ruleFormRef.value.validate((valid) => {
+                if (valid) {
+                    if (careNum == 0) {
                         dialogVisible.value = false
                         emit("lookBack", dialogVisible.value)
-                        ElMessage({
-                            type: "success",
-                            message: "修改成功",
-                            duration: 1500
+                    } else {
+                        litLine.addLine({
+                            id: editId.value - 0,
+                            name: ruleForm.value.name,
+                            vol_id: ruleForm.value.volId
+                        }).then(res => {
+                            if (res.code == 0) {
+                                dialogVisible.value = false
+                                emit("lookBack", dialogVisible.value)
+                                ElMessage({
+                                    type: "success",
+                                    message: "修改成功",
+                                    duration: 1500
+                                })
+                                props.search()
+                            }
                         })
-                        props.search()
                     }
-                })
-            }
+                } else {
+                    // 验证不通过,执行相应操作
+                    ElMessage({
+                        message: "请检查表单项",
+                        type: "error"
+                    })
+                }
+            });
         }
         onMounted(() => {
             lineList()
@@ -128,6 +156,8 @@ export default {
             disNum,
             searchFlashLel,
             selectList,
+            ruleFormRef,
+            rules,
         }
     }
 }

+ 0 - 1
src/utils/request.js

@@ -77,7 +77,6 @@ service.interceptors.response.use(
     },
     error => {
         console.log(error,'相应拦截器error');
-        console.log(router,'router');
         if(error.code == "ERR_NETWORK"){
             ElMessage({
                 type:"error",