Kaynağa Gözat

Merge branch 'master' of http://47.111.81.118:3000/xf15575941817/admin-fiveFollowing

fanghuisheng 3 yıl önce
ebeveyn
işleme
aec929f4d5

+ 19 - 0
src/api/siteManage/basicInfo.js

@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+//动态属性
+export function dynamicPropertiesDroplist(params) {
+    return request({
+        url: '/site/dynamicPropertiesDroplist',
+        method: 'GET',
+        params,
+    })
+}
+
+//图片上传
+// export function uploadImg(params) {
+//     return request({
+//         url: '/patrolInspectionDevice/pictureUpload',
+//         method: 'POST',
+//         data: params,
+//     })
+// }

+ 8 - 8
src/api/siteManage/index.js

@@ -9,11 +9,11 @@ export function siteTreeList(params) {
     })
 }
 
-//设备管理-通信设备-修改
-// export function correspondDeviceUpdate(params) {
-//     return request({
-//         url: '/device/correspondDeviceUpdate',
-//         method: 'POST',
-//         data: params,
-//     })
-// }
+//站点模板选择
+export function list(params) {
+    return request({
+        url: '/site/list',
+        method: 'GET',
+        data: params,
+    })
+}

+ 54 - 27
src/views/siteManage/addSiteCom.vue

@@ -2,9 +2,10 @@
     <el-dialog
       :title="dialogTitle"
        v-model="dialogVisible"
-      width="400px"
+     
       @close="closeDialog(0)"
          @open="open"
+          width="500px"
     >
       <el-form
         ref="formInfo"
@@ -13,16 +14,15 @@
         label-width="100px"
         :rules="rules"
       >
-        <el-form-item label="站点名称:" prop="watchName">
-          <el-input v-model="form.watchName"></el-input>
-        </el-form-item>
-         <el-form-item label="站点编号:" prop="watchName">
-          <el-input v-model="form.watchName"></el-input>
+        <el-form-item label="站点名称:" prop="siteName">
+          <el-input v-model="form.siteName"></el-input>
         </el-form-item>
+         <!-- <el-form-item label="站点编号:" prop="siteName">
+          <el-input v-model="form.siteName"></el-input>
+        </el-form-item> -->
          <el-form-item label="选择模板:" prop="region">
             <el-select v-model="form.region" placeholder="请选择">
-              <el-option label="选择模板1" value="1"></el-option>
-              <el-option label="选择模板2" value="2"></el-option>
+              <el-option v-for="(item,index) in listData" :key="index" :label="item.siteName" :value="item.siteName"></el-option>
             </el-select>
           </el-form-item>
       
@@ -35,7 +35,10 @@
     </el-dialog>
 </template>
 <script>
-import { defineComponent, ref, watchEffect } from 'vue'
+import { defineComponent, ref, watchEffect,onMounted } from 'vue'
+
+import * as api from '@/api/siteManage/index'
+import { ElMessage } from 'element-plus'
 
 export default defineComponent({
   name: 'AddSiteCom',
@@ -44,15 +47,17 @@ export default defineComponent({
     flag: Boolean,
     dialogTitle: String,
     itemInfo: Object,
+    treeLevel:Number
   },
   setup(props, context) {
     context
 
     const dialogVisible = ref(false)
     const formInfo = ref(null)
-
     const form = ref([])
 
+    const listData=ref([])
+
     
     // open(): Dialog弹窗打开之前做的事
     const open = () => {
@@ -60,12 +65,11 @@ export default defineComponent({
 
     }
 
-    
-
     // 关闭弹框
     const closeDialog = () => {
-      context.emit('closeDialog', false)
-      dialogVisible.value = false
+      context.emit('closeDialog')
+      //  context.emit('treeLevel', 3)
+      // dialogVisible.value = false
     }
 
     watchEffect((fn, options) => {
@@ -84,15 +88,20 @@ export default defineComponent({
 
     // 保存-修改操作
     const submitForm = () => {
-      console.log(formInfo)
+      // console.log(formInfo)
       formInfo.value.validate((valid) => {
         if (valid) {
           // 走保存请求
-          this.$message({
-            message: '操作成功!',
-            type: 'success',
-          })
-          this.closeDialog(1)
+          if(form.value.region){
+            //选择模板
+
+
+            alert('选择模板')
+          }else{
+            // 无选择模板
+            alert('无选择模板')
+          }
+          closeDialog()
         } else {
           console.log('error submit!!')
           return false
@@ -100,9 +109,27 @@ export default defineComponent({
       })
     }
 
+    //站点模板下拉列表
+    function list() {
+      api.list({}).then((requset) => {
+        if (requset.status === 'SUCCESS') {
+          listData.value=requset.data
+        } else {
+          ElMessage.error(requset.msg)
+        }
+      })
+    }
+
+    onMounted(() => {
+      list()
+    })
+
+
+
     return {
       closeDialog,
       dialogVisible,
+      listData,
 
       roleValid,
       formInfo,
@@ -110,15 +137,15 @@ export default defineComponent({
       open,
       submitForm,
        rules: {
-        watchName: [
+        siteName: [
           // required  是否为必填项, trigger:表单验证的触发时机,失去焦点进行验证
           { required: true, message: "请输入站点名称", trigger: "blur" },
-          {
-            min: 3,
-            max: 6,
-            message: "用户名长度在 3 到 6 个字符",
-            trigger: "blur",
-          },
+          // {
+          //   min: 3,
+          //   max: 6,
+          //   message: "用户名长度在 3 到 6 个字符",
+          //   trigger: "blur",
+          // },
         ],
       },
     }

+ 179 - 82
src/views/siteManage/basicInfo/index.vue

@@ -10,8 +10,8 @@
       <el-row style="min-width: 1100px">
         <el-col :span="8" :gutter="20">
           <div class="grid-content bg-purple">
-            <el-form-item label="站点名称:" prop="name">
-              <el-input v-model="ruleForm.name"></el-input>
+            <el-form-item label="站点名称:" prop="siteName">
+              <el-input v-model="ruleForm.siteName"></el-input>
             </el-form-item>
 
             <el-form-item label="站点类型:" prop="name">
@@ -41,8 +41,8 @@
               ></el-date-picker>
             </el-form-item>
 
-            <el-form-item label="装机容量:" prop="name">
-              <el-input v-model="ruleForm.name"></el-input>
+            <el-form-item label="装机容量:" prop="installedCapacity">
+              <el-input v-model="ruleForm.installedCapacity"></el-input>
             </el-form-item>
             <el-form-item label="供电类型:" prop="resource">
               <el-radio-group v-model="ruleForm.resource">
@@ -53,8 +53,8 @@
             <el-form-item label="电压等级:" prop="name">
               <el-input v-model="ruleForm.name"></el-input>
             </el-form-item>
-            <el-form-item label="站点地址:" prop="name">
-              <el-input v-model="ruleForm.name"></el-input>
+            <el-form-item label="站点地址:" prop="siteAddress">
+              <el-input v-model="ruleForm.siteAddress"></el-input>
             </el-form-item>
             <el-form-item label="所属台区:" prop="name">
               <el-input v-model="ruleForm.name"></el-input>
@@ -90,42 +90,57 @@
           <a class="goArchive">现场档案</a>
 
           <div class="blockTitle mt-60 mb-20">动态属性</div>
-          <el-form-item label="故障动态:" prop="region">
-            <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
-              <el-option label="故障动态1" value="1"></el-option>
-              <el-option label="故障动态2" value="2"></el-option>
+          <el-form-item label="故障动态:" prop="gzdt">
+            <el-select v-model="ruleForm.gzdt" placeholder="请选择">
+              <el-option
+                v-for="(item, index) in dropData"
+                :key="index"
+                :label="item.variableName"
+                :value="item.variableCoding"
+              ></el-option>
             </el-select>
           </el-form-item>
 
-          <el-form-item label="实时负荷:" prop="region">
-            <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
-              <el-option label="实时负荷1" value="1"></el-option>
-              <el-option label="实时负荷2" value="2"></el-option>
+          <el-form-item label="实时负荷:" prop="ssfh">
+            <el-select v-model="ruleForm.ssfh" placeholder="请选择">
+              <el-option
+                v-for="(item, index) in dropData2"
+                :key="index"
+                :label="item.variableName"
+                :value="item.variableCoding"
+              ></el-option>
             </el-select>
           </el-form-item>
 
-          <el-form-item label="总用电量:" prop="region">
-            <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
-              <el-option label="总用电量1" value="1"></el-option>
-              <el-option label="总用电量2" value="2"></el-option>
+          <el-form-item label="总用电量:" prop="eleTotal">
+            <el-select v-model="ruleForm.eleTotal" placeholder="请选择">
+              <el-option
+                v-for="(item, index) in dropData2"
+                :key="index"
+                :label="item.variableName"
+                :value="item.variableCoding"
+              ></el-option>
             </el-select>
           </el-form-item>
 
-          <el-form-item label="功率因数:" prop="region">
-            <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
-              <el-option label="选择1" value="1"></el-option>
-              <el-option label="选择2" value="2"></el-option>
+          <el-form-item label="功率因数:" prop="glys">
+            <el-select v-model="ruleForm.glys" placeholder="请选择">
+              <el-option
+                v-for="(item, index) in dropData2"
+                :key="index"
+                :label="item.variableName"
+                :value="item.variableCoding"
+              ></el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="8" :gutter="20">
           <div class="grid-content bg-purple">
             <div class="grid-content bg-purple-light">
-
               <!-- 站点照片start -->
               <div class="blockTitle mb-20">站点照片</div>
               <el-form-item label="选择文件:" prop="delivery">
-                <el-upload
+                <!-- <el-upload
                   action="#"
                   list-type="picture-card"
                   :auto-upload="false"
@@ -134,10 +149,10 @@
                   <i class="el-icon-plus"></i>
                   <div>
                     <span class="el-upload-list__item-actions">
-                      <!-- <span
+                      <span
                         class="el-upload-list__item-preview"
                         @click="handlePictureCardPreview(file)"
-                      ></span> -->
+                      ></span>
                       <span
                         v-if="!disabled"
                         class="el-upload-list__item-delete"
@@ -147,24 +162,54 @@
                       </span>
                     </span>
                   </div>
+                </el-upload> -->
+
+                <!-- <el-upload
+                  class="dl-avatar-uploader-min square"
+                  :action="uploadUrl"
+                  :on-success="handleUpAvatar"
+                  :on-remove="handleRemove"
+                  :show-file-list="fileList"
+                  :limit="3"
+                  list-type="picture-card"
+                  :headers="{ accessToken: [accessToken] }"
+                >
+                  <i class="el-icon-plus avatar-uploader-icon"></i>
                 </el-upload>
+
                 <el-dialog v-model="dialogVisible">
                   <img width="100%" :src="dialogImageUrl" alt="" />
+                </el-dialog> -->
+
+                <el-upload
+                  :action="uploadUrl"
+                  :on-success="handleUpAvatar"
+                  :on-remove="handleRemove"
+                  :show-file-list="fileList"
+                  list-type="picture-card"
+                  :limit="3"
+                  :on-preview="handlePictureCardPreview"
+                  :headers="{ accessToken: [accessToken] }"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <el-dialog v-model="dialogVisible"  width="400px">
+                  <img style="width:100%" :src="dialogImageUrl" alt="" />
                 </el-dialog>
               </el-form-item>
               <!-- 站点照片end -->
 
-              <el-form-item label="联系人:" prop="name">
-                <el-input v-model="ruleForm.name"></el-input>
+              <el-form-item label="联系人:" prop="userName">
+                <el-input v-model="ruleForm.userName"></el-input>
               </el-form-item>
-              <el-form-item label="联系方式:" prop="name">
-                <el-input v-model="ruleForm.name"></el-input>
+              <el-form-item label="联系方式:" prop="phone">
+                <el-input v-model="ruleForm.phone"></el-input>
               </el-form-item>
-              <el-form-item label="联系人2:" prop="spare_user_name">
-                <el-input v-model="ruleForm.spare_user_name"></el-input>
+              <el-form-item label="联系人2:" prop="spareUserName">
+                <el-input v-model="ruleForm.spareUserName"></el-input>
               </el-form-item>
-              <el-form-item label="联系方式2:" prop="spare_phone">
-                <el-input v-model="ruleForm.spare_phone"></el-input>
+              <el-form-item label="联系方式2:" prop="sparePhone">
+                <el-input v-model="ruleForm.sparePhone"></el-input>
               </el-form-item>
             </div>
             <el-form-item>
@@ -181,7 +226,9 @@
 </template>
 
 <script>
-import { defineComponent, ref, } from 'vue'
+import { defineComponent, ref, onMounted, reactive, toRefs } from 'vue'
+import * as api from '@/api/siteManage/basicInfo'
+import { ElMessage } from 'element-plus'
 
 export default defineComponent({
   name: 'BasicInfo',
@@ -190,9 +237,13 @@ export default defineComponent({
     const dialogImageUrl = ref('')
     const dialogVisible = ref(false)
     const disabled = ref(false)
+    const accessToken = ref(
+      'eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImQyZmE1ZWQyLWNlYTUtNDljYy1hZWRlLTQ1Y2FmYmRhMjJkYiJ9.t9p44SssEfi8XsVSeDCP77kp67MmQCxhUGksP0QkM4GH-D366i6nRdr_LATIhDmseIBLVkXEEJ7aE4bNmT1oww'
+    )
+    const dropData = ref([])
+    const dropData2 = ref([])
     const ruleForm = ref({
-      name: '',
-      region: '',
+      siteName: '',
       date1: '',
       date2: '',
       delivery: false,
@@ -202,65 +253,74 @@ export default defineComponent({
       desc: '',
       planStartTime: '',
       planEndTime: '',
+      gzdt:'',
+      ssfh:'',
+      eleTotal:'',
+      glys:'',
     })
     const rules = ref({
+      siteName: [
+        { required: true, message: '请输入站点名称', trigger: 'blur' },
+        { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
+      ],
+      installedCapacity: [
+        { required: true, message: '请输入装机容量', trigger: 'blur' },
+        { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
+      ],
+      siteAddress: [
+        { required: true, message: '请输入站点地址', trigger: 'blur' },
+        { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
+      ],
       planStartDate: [
         { required: true, message: '请选择开始日期', trigger: 'change' },
       ],
       planEndDate: [
         { required: true, message: '请输入结束日期', trigger: 'change' },
       ],
-      name: [
-        { required: true, message: '请输入站点名称', trigger: 'blur' },
+      userName: [
+        { required: true, message: '请输入联系人1', trigger: 'blur' },
         { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
       ],
-      spare_user_name: [
+      phone: [
+        { required: true, message: '请输入联系方式1', trigger: 'blur' },
+        { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
+      ],
+      spareUserName: [
         { required: true, message: '请输入联系人2', trigger: 'blur' },
         { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
       ],
-      spare_phone: [
+      sparePhone: [
         { required: true, message: '请输入联系方式2', trigger: 'blur' },
         { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
       ],
-      region: [
-        { required: true, message: '请选择活动区域', trigger: 'change' },
-      ],
-      date1: [
-        {
-          type: 'date',
-          required: true,
-          message: '请选择日期',
-          trigger: 'change',
-        },
-      ],
-      date2: [
-        {
-          type: 'date',
-          required: true,
-          message: '请选择时间',
-          trigger: 'change',
-        },
-      ],
-      type: [
-        {
-          type: 'array',
-          required: true,
-          message: '请至少选择一个活动性质',
-          trigger: 'change',
-        },
-      ],
-      resource: [
-        { required: true, message: '请选择活动资源', trigger: 'change' },
-      ],
-      desc: [{ required: true, message: '请填写活动形式', trigger: 'blur' }],
     })
+
     function handleRemove(file) {
       console.log(file)
     }
     function handlePictureCardPreview(file) {
+       console.log('file')
+      console.log(file)
       dialogImageUrl.value = file.url
       dialogVisible.value = true
     }
+
+    const dataSet = reactive({
+      uploadUrl:
+        'http://172.16.1.196:8010/patrolInspectionDevice/pictureUpload',
+      // uploadUrl:'https://wx.ewoogi.com/USKYOF/USKYOF.php/Home/MonitoringReporting/setUpload',
+      fileList: [],
+    })
+
+    //上传成功的回调
+    function handleUpAvatar(res) {
+      console.log('res')
+      console.log(res)
+      dataSet.fileList.push(res.data)
+      console.log(dataSet.fileList)
+    }
+
+    //表单提交
     function submitForm() {
       formInfo.value.validate((valid) => {
         if (valid) {
@@ -276,34 +336,71 @@ export default defineComponent({
         }
       })
     }
-    
+
     function resetForm() {
-       formInfo.value.resetFields()
+      formInfo.value.resetFields()
+    }
+
+    //动态属性下拉请求
+    function dynamicPropertiesDroplist() {
+      api.dynamicPropertiesDroplist({ dataArea: 2 }).then((requset) => {
+        if (requset.status === 'SUCCESS') {
+          dropData.value = requset.data
+        } else {
+          ElMessage.error(requset.msg)
+        }
+      })
+    }
+    //动态属性下拉请求 模拟量
+    function dynamicPropertiesDroplist2() {
+      api.dynamicPropertiesDroplist({ dataArea: 1 }).then((requset) => {
+        if (requset.status === 'SUCCESS') {
+          dropData2.value = requset.data
+        } else {
+          ElMessage.error(requset.msg)
+        }
+      })
     }
+    onMounted(() => {
+      dynamicPropertiesDroplist()
+      dynamicPropertiesDroplist2()
+    })
 
     return {
+      ...toRefs(dataSet),
       formInfo,
       dialogImageUrl,
       dialogVisible,
       disabled,
+
+      dropData,
+      dropData2,
+
+      accessToken,
       ruleForm,
       rules,
       handleRemove,
       handlePictureCardPreview,
       submitForm,
-      resetForm
-      
+      resetForm,
+
+      handleUpAvatar,
     }
   },
 })
 </script>
 
 <style lang="scss">
-.basic-info-page{
-  .el-date-editor.el-input, .el-date-editor.el-input__inner{
-  width:100%!important
+.basic-info-page {
+  .el-date-editor.el-input,
+  .el-date-editor.el-input__inner {
+    width: 100% !important;
+  }
+  // .el-icon-zoom-in {
+  //   display: none;
+  // }
+  // .el-upload-list--picture-card .el-upload-list__item-actions span + span {
+  //   margin-left: 0;
+  // }
 }
-
-}
-
 </style>

+ 8 - 7
src/views/siteManage/index.vue

@@ -253,7 +253,9 @@ export default defineComponent({
     // 关闭操作
     const  closeDialog=()=> {
       showDialog.value = false
-      showDialog2.value = false
+      showDialog2.value = false;
+      treeLevel.value=3
+      
     }
     //新建分组
     const tableItem = reactive([])
@@ -263,7 +265,7 @@ export default defineComponent({
         stationName: "",
         xh: "",
         userName: "",
-        siteList: [],
+        list: [],
         done: "",
         guaZai: "",
         checked: true,
@@ -279,7 +281,7 @@ export default defineComponent({
         stationName: "",
         xh: "",
         userName: "",
-        siteList: [],
+        list: [],
         done: "",
         guaZai: "",
         checked: true,
@@ -296,19 +298,18 @@ export default defineComponent({
     }
 
 
-     //电力监测设备列表
+     //左侧树结构列表
     function siteTreeList() {
       api.siteTreeList({}).then((requset) => {
         if (requset.status === 'SUCCESS') {
-          console.log(requset.data)
+          // console.log(requset.data)
           // tableData.value = requset.data
-          // store.state.siteList = tableData
+          // store.state.list = tableData
         } else {
           ElMessage.error(requset.msg)
         }
       })
     }
-
     onMounted(() => {
       siteTreeList()
     })

+ 1 - 1
src/views/stationManage/siteList.vue

@@ -44,7 +44,7 @@ import { defineComponent, ref} from 'vue'
 
 export default defineComponent({
    name: 'SiteList',
-    props: ['pageShow'],
+   props: ['pageShow'],
 
   setup(props, context) {
     const showDialog = ref(false)