rui.jiang hai 1 ano
pai
achega
f3f506fce1

+ 1 - 1
public/index.html

@@ -17,7 +17,7 @@
     <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
         Please enable it to continue.</strong>
   </noscript>
-  <script src="https://api.map.baidu.com/api?v=3.0&ak=HYs3fpdhRaoOt8WhFWebCeZ0eibLzNQe"></script>
+  <!-- <script src="https://api.map.baidu.com/api?v=3.0&ak=HYs3fpdhRaoOt8WhFWebCeZ0eibLzNQe"></script> -->
   <div id="app"></div>
   <!-- built files will be auto injected -->
 </body>

+ 1 - 0
src/icons/svg/jia.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1716105299349" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1438" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 938.666667C276.362667 938.666667 85.333333 747.637333 85.333333 512S276.362667 85.333333 512 85.333333s426.666667 191.029333 426.666667 426.666667-191.029333 426.666667-426.666667 426.666667z m0-64c200.298667 0 362.666667-162.368 362.666667-362.666667S712.298667 149.333333 512 149.333333 149.333333 311.701333 149.333333 512s162.368 362.666667 362.666667 362.666667z m32-394.666667h128a32 32 0 0 1 0 64H544v128a32 32 0 0 1-64 0V544H352a32 32 0 0 1 0-64h128V352a32 32 0 0 1 64 0v128z" fill="#000000" p-id="1439"></path></svg>

+ 1 - 0
src/icons/svg/jian.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1716105303633" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1599" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 938.666667C276.362667 938.666667 85.333333 747.637333 85.333333 512S276.362667 85.333333 512 85.333333s426.666667 191.029333 426.666667 426.666667-191.029333 426.666667-426.666667 426.666667z m0-64c200.298667 0 362.666667-162.368 362.666667-362.666667S712.298667 149.333333 512 149.333333 149.333333 311.701333 149.333333 512s162.368 362.666667 362.666667 362.666667zM352 480h320a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64z" fill="#000000" p-id="1600"></path></svg>

+ 43 - 1
src/router/index.js

@@ -27,7 +27,49 @@ const routes = [
         name: 'electronicMap',
         component: () =>
           import('../views/admin/cockpitManage/electronicMap.vue')
-      }
+      },
+      //数据操作
+      {
+        path: 'dataAdministration',
+        name: 'dataAdministration',
+        component: () =>
+          import('../views/dataAdministration/index.vue')
+      },
+      //企业信息
+      {
+        path: 'enterprise',
+        name: 'enterprise',
+        component: () =>
+          import('../views/ledger/enterprise.vue')
+      },
+      //风场信息
+      {
+        path: 'windsite',
+        name: 'windsite',
+        component: () =>
+          import('../views/ledger/windsite.vue')
+      },
+      // 风机信息
+      {
+        path: 'draught',
+        name: 'draught',
+        component: () =>
+          import('../views/ledger/draught.vue')
+      },
+      // 机型信息
+      {
+        path: 'milltype',
+        name: 'milltype',
+        component: () =>
+          import('../views/ledger/milltype.vue')
+      },
+        // 测风塔信息
+        {
+          path: 'anemometer',
+          name: 'anemometer',
+          component: () =>
+            import('../views/ledger/anemometer.vue')
+        },
     ]
   },
   {

+ 41 - 4
src/styles/base.css

@@ -248,15 +248,52 @@ body {
   zoom: 1;
 }
 
+/* ................................... */
 
-.el-input {
-  width: 300px;
+/* 外边框 */
+.global-variable {
+  margin: 20px;
+  padding: 20px;
+  background: #ffffff;
+  height: 89vh;
+}
+
+/* 列表点击 */
+.Hit {
+  color: #409eff;
+}
+
+/* 分页 */
+.pagination-container {
+  display: flex;
+  justify-content: center;
   margin-top: 20px;
 }
 
+.newly {
+  display: flex;
+  justify-content: right;
+  margin-bottom: 20px;
+}
+
+
+.centeredH3 {
+  text-align: center;
+  font-size: 26px;
+  font-weight: 600;
+  margin-bottom: 20px;
+}
+
+.el-date-editor .el-range-separator{
+  padding: 0;
+}
 
 
-.conversion {
-  color: #000;
+.el-form-item--small.el-form-item{
+  margin-bottom: 0px;
+  margin-top: 4px;
 }
 
+.el-dialog__body{
+  padding-top: 15px;
+}

+ 168 - 0
src/views/dataAdministration/index.vue

@@ -0,0 +1,168 @@
+<template>
+    <div class="global-variable">
+        <div class="condition">
+            <el-form :inline="true" :model="formInline" class="demo-form-inline">
+                <el-form-item label="批次编号:">
+                    <el-input v-model="formInline.user" placeholder="请输入批次编号" size="small"></el-input>
+                </el-form-item>
+                <el-form-item label="状态:">
+                    <el-select v-model="formInline.region" placeholder="活动区域" size="small ">
+                        <el-option label="区域一" value="shanghai"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" @click="onSubmit" size="small">查询</el-button>
+                    <el-button @click="reset" size="small">重置</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+        <div class="list-page">
+            <div class="newly">
+                <el-button type="primary" @click="nuedialog = true" size="small">新增</el-button>
+            </div>
+
+            <el-table class="center-align-table" :data="tableData" border :cell-style="rowStyle" stripe
+                style="width: 100%">
+                <!-- Table Columns -->
+                <el-table-column fixed prop="" align="center" label="批次编号">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="风场编号">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="机组数量" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="异常状态" width="100">
+                </el-table-column>
+                <el-table-column prop="abnormal" label="异常信息" width="80">
+                    <template slot-scope="scope">
+                        <el-button v-if="scope.row.abnormal == 1" @click="particulars(scope.row)" type="text"
+                            size="small">详情</el-button>
+                        <span v-else>/</span>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="" align="center" label="转换时间">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="状态" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="类型" width="100">
+                </el-table-column>
+                <el-table-column prop="transition" align="center" fixed="right" label="操作" width="120">
+                    <template slot-scope="scope">
+                        <el-button @click="handleClick(scope.row)" type="text" size="small">下载</el-button>
+                        <el-button v-if="scope.row.transition == 1" @click="transition(scope.row)" type="text"
+                            size="small">转换</el-button>
+                        <el-button v-else @click="reconverted(scope.row)" type="text" size="small">重新转换</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <div class="pagination-container">
+                <el-pagination :page-size="10" :pager-count="11" layout="total, prev, pager, next" :total="35">
+                </el-pagination>
+            </div>
+        </div>
+
+
+        <!-- 弹出层 -->
+        <!-- 新增 -->
+        <el-dialog title="新增" :visible.sync="nuedialog" width="380px">
+            <el-form ref="form" :model="newform" label-width="120px">
+                <el-form-item label="批次编号:">
+                    <el-select v-model="newform.batch" placeholder="请选择活动区域" size="small">
+                        <el-option label="区域一" value="shanghai"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="分钟级数据路径:">
+                    <el-input v-model="newform.name" size="small"></el-input>
+                </el-form-item>
+                <el-form-item label="秒级数据路径:">
+                    <el-input v-model="newform.name" size="small"></el-input>
+                </el-form-item>
+                <el-form-item label="测风塔数据路径:">
+                    <el-input v-model="newform.name" size="small"></el-input>
+                </el-form-item>
+                <el-form-item label="事件数据路径:">
+                    <el-input v-model="newform.name" size="small"></el-input>
+                </el-form-item>
+            </el-form>
+
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="nuedialog = false" size="small">取 消</el-button>
+                <el-button type="primary" @click="newly" size="small">确 定</el-button>
+            </span>
+        </el-dialog>
+
+        <!-- 异常信息详情 -->
+        <el-dialog title="异常详情" :visible.sync="unusualdialog" width="800px">
+
+
+
+        </el-dialog>
+
+    </div>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            formInline: {
+                user: '',
+                region: ''
+            },
+            tableData: [{
+                abnormal: "1",
+                transition: "1"
+            }, {
+                abnormal: "0",
+                transition: "0"
+            }, {
+                abnormal: "1",
+                transition: "1"
+            }],
+            nuedialog: false,
+            unusualdialog: false,
+            newform: {
+                batch: "",
+                name: "",
+            },
+        }
+    },
+    methods: {
+        rowStyle() {
+            return "text-align:center";
+        },
+
+        // 查询
+        onSubmit() {
+            console.log('submit!');
+        },
+        // 重置
+        reset() {
+
+        },
+        // 新增
+        newly() {
+            this.nuedialog = false
+        },
+
+        //异常详情
+        particulars(row) {
+            this.unusualdialog = true;
+        },
+        // 下载
+        handleClick(row) { },
+        // 转换
+        transition(row) { },
+        // 重新转换
+        reconverted(row) { },
+
+
+    }
+
+}
+</script>
+
+<style lang="scss" scoped>
+.condition {}
+
+.list-page {}
+</style>

+ 2 - 13
src/views/home/components/Menu.vue

@@ -177,22 +177,11 @@ export default {
   flex-direction: column;
   border-right: 1px solid #d8d8d8;
   position: relative;
-  transition: width 0.5s ease-in;
 
-  .stop-animation {
-    visibility: visible;
-    animation-play-state: paused;
-    /* 阻止动画执行 */
-    transition: none;
-  }
 
-  .active-animation {
-    // visibility: hidden;
-    animation-play-state: paused;
-    /* 阻止动画执行 */
-    transition: none;
-  }
+ 
 
+  
   .homeBox {
     width: 100%;
     padding: 0 20px;

+ 12 - 6
src/views/home/components/mockData.js

@@ -34,7 +34,8 @@ export const orgList = [
     children: [
       {
         id: 31,
-        name: '数据操作'
+        name: '数据操作',
+        path: 'dataAdministration',
       }
     ]
   },
@@ -45,23 +46,28 @@ export const orgList = [
     children: [
       {
         id: 41,
-        name: '企业信息'
+        name: '企业信息',
+        path: 'enterprise',
       },
       {
         id: 42,
-        name: '风场信息'
+        name: '风场信息',
+        path: 'windsite',
       },
       {
         id: 43,
-        name: '风机信息'
+        name: '风机信息',
+        path: 'draught',
       },
       {
         id: 44,
-        name: '机型信息'
+        name: '机型信息',
+        path: 'milltype',
       },
       {
         id: 45,
-        name: '测风塔信息'
+        name: '测风塔信息',
+        path: 'anemometer',
       }
     ]
   },

+ 338 - 0
src/views/ledger/anemometer.vue

@@ -0,0 +1,338 @@
+<template>
+    <div class="global-variable">
+        <div class="condition">
+            <el-form :inline="true" :model="formInline" class="demo-form-inline">
+                <el-form-item label="测风塔名称:">
+                    <el-input v-model="formInline.user" placeholder="请输入批次编号" size="small"></el-input>
+                </el-form-item>
+                <el-form-item label="选择日期:" size="small">
+                    <el-date-picker v-model="formInline.timeQuantum" type="daterange" range-separator="至"
+                        start-placeholder="开始日期" end-placeholder="结束日期">
+                    </el-date-picker>
+                </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" @click="onSubmit" size="small">查询</el-button>
+                    <el-button @click="reset" size="small">重置</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+        <div class="list-page">
+            <div class="newly">
+
+                <el-button type="primary" @click="newnuedialog" size="small">新增</el-button>
+            </div>
+
+            <el-table class="center-align-table" :data="tableData" border :cell-style="rowStyle">
+                <el-table-column align="center" fixed prop="" label="测风塔名称">
+                    <template slot-scope="scope">
+                        <el-button @click="particulars(scope.row)" type="text" size="small">泗洪风场</el-button>
+                    </template>
+                </el-table-column>
+
+                <el-table-column align="center" label="测风塔编号"> </el-table-column>
+
+
+                <el-table-column prop="" align="center" label="机型类型">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="经度" width="100">
+                </el-table-column>
+
+                <el-table-column prop="" align="center" label="纬度" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="状态" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="创建时间">
+                </el-table-column>
+                <el-table-column prop="transition" align="center" fixed="right" label="操作" width="200">
+                    <template slot-scope="scope">
+                        <el-button @click="compile(scope.row)" type="text" size="small">编辑</el-button>
+
+                        <el-button v-if="scope.row.transition == 1" @click="start(scope.row)" type="text"
+                            size="small">启用</el-button>
+                        <el-button v-else style="color: #666" @click="stop(scope.row)" type="text"
+                            size="small">停用</el-button>
+                        <el-button style="color: #f00" @click="deleted(scope.row)" type="text"
+                            size="small">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <div class="pagination-container">
+                <el-pagination :page-size="10" :pager-count="11" layout="total, prev, pager, next" :total="35">
+                </el-pagination>
+            </div>
+        </div>
+
+        <!-- 弹出层 -->
+
+        <!-- 新增 -->
+        <el-dialog :title="title" :visible.sync="nuedialog" width="800px">
+            <div class="addition ">
+                <span @click="addition">
+                    <SvgIcon name="jia" class="jia" width="20px" height="22px" color="#222"></SvgIcon>
+                </span>
+                <span @click="subtraction">
+                    <SvgIcon name="jian" class="jian" width="20px" height="22px" color="#222"></SvgIcon>
+                </span>
+            </div>
+            <div class="general">
+
+                <div class="condition">
+                    <p>测风塔名称:</p>
+                    <el-input v-model="windsiteName"></el-input>
+                </div>
+                <div class="condition">
+                    <p>经度:</p>
+                    <el-input v-model="airdensity"></el-input>
+                </div>
+
+
+                <div class="condition">
+                    <p>纬度:</p>
+                    <el-input v-model="altitude"></el-input>
+                </div>
+
+
+                <div v-for="(input, index) in heightInputs" :key="index" class="condition">
+                    <p>测风塔高度:</p>
+                    <el-input v-model="input.value" placeholder="请输入测风塔高度"></el-input>
+                </div>
+
+
+            </div>
+
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="nuedialog = false" size="small">取 消</el-button>
+                <el-button type="primary" @click="newly" size="small">确 定</el-button>
+            </span>
+        </el-dialog>
+
+        <!-- 风场详情 -->
+        <el-dialog title="详情" :visible.sync="unusualdialog" width="800px">
+
+        </el-dialog>
+
+
+
+
+    </div>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            // 新增信息
+            windsiteName: "",
+            airdensity: "",
+            superior: "",
+            superiorOptions: [],
+            altitude: "",
+            sheng: "",
+            shengOptions: [],
+            shi: "",
+            shiOptions: [],
+            longitude: "",
+            dimensionality: "",
+            anemometer: "",
+            anemometerOptions: [],
+
+            fileList: [
+                {
+                    name: "food.jpeg",
+                    url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
+                },
+
+            ],
+            formInline: {
+                user: "",
+                region: "",
+                timeQuantum: "",
+            },
+            tableData: [
+                {
+                    id: 1,
+                    name: "王小虎",
+                    transition: "1",
+                },
+                {
+                    id: 3,
+                    name: "王小虎",
+                    abnormal: "1",
+                    transition: "0",
+                    children: [
+                        {
+                            id: 31,
+
+                            name: "王小虎",
+
+                            abnormal: "1",
+                        },
+                    ],
+                },
+            ],
+            nuedialog: false,
+            unusualdialog: false,
+
+
+
+
+            newform: {
+                unit: "",
+                province: "",
+                city: "",
+                descr: "",
+            },
+            title: "",
+            heightInputs: [{ value: '' }],
+        };
+    },
+    methods: {
+        rowStyle() {
+            return "text-align:center";
+        },
+
+        // 查询
+        onSubmit() {
+            console.log("submit!");
+        },
+        // 重置
+        reset() { },
+
+        // 新增
+        newly() {
+
+            this.heightInputs.forEach((value, index) => {
+                console.log(`测风塔高度 ${index + 1}:`, value);
+            });
+
+            this.nuedialog = false;
+            this.heightInputs = [{ value: '' }];
+        },
+
+        //异常详情
+        particulars(row) {
+            this.unusualdialog = true;
+        },
+
+
+        // 编辑
+        compile(row) {
+            this.nuedialog = true;
+            this.title = "编辑";
+        },
+
+
+        // 启用
+        start(row) { },
+        // 停用
+        stop(row) { },
+        // 删除
+        deleted(row) {
+            this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    this.$message({
+                        type: "success",
+                        message: "删除成功!",
+                    });
+                })
+                .catch(() => {
+                    this.$message({
+                        type: "info",
+                        message: "已取消删除",
+                    });
+                });
+        },
+        // 删除附件
+        deleteRow(row) {
+            this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    this.$message({
+                        type: "success",
+                        message: "删除成功!",
+                    });
+                })
+                .catch(() => {
+                    this.$message({
+                        type: "info",
+                        message: "已取消删除",
+                    });
+                });
+        },
+        addition() {
+            this.heightInputs.push({ value: '' }); // Add a new object with an empty string property
+        },
+
+        // Method to remove the last input for "测风塔高度"
+        subtraction() {
+            if (this.heightInputs.length > 1) { // Ensure at least one input remains
+                this.heightInputs.pop();
+            }
+        },
+
+        // 新增
+        newnuedialog() {
+            this.nuedialog = true;
+            this.title = "新增";
+        },
+    },
+};
+</script>
+
+<style lang="scss" scoped>
+.general {
+    display: flex;
+    flex-wrap: wrap;
+
+    .condition {
+        width: 50%;
+        display: flex;
+
+        p {
+            width: 100px;
+            text-align: right;
+            line-height: 40px;
+        }
+
+        span {
+            line-height: 40px;
+
+            padding-left: 20px;
+        }
+
+        .el-select {
+            width: 100%;
+            margin-bottom: 20px;
+        }
+
+        .el-input {
+            margin-bottom: 20px;
+        }
+    }
+}
+
+
+
+.attachment {
+    display: flex;
+    padding-top: 10px;
+
+    p {
+        margin-right: 20px;
+        color: #409eff;
+    }
+}
+
+.addition {
+    display: flex;
+    justify-content: flex-end;
+    margin-bottom: 10px;
+}
+</style>

+ 114 - 0
src/views/ledger/component/windsiteMessage.vue

@@ -0,0 +1,114 @@
+<template>
+    <div>
+        <!-- 风场详情 -->
+        <el-dialog title="风场信息" :visible.sync="localUnusualdialog" width="800px" @close="handleClose">
+            <div class="general">
+                <div class="condition">
+                    <p>风场名称:</p>
+                </div>
+                <div class="condition">
+                    <p>空气密度:</p>
+                </div>
+
+                <div class="condition">
+                    <p>上级单位:</p>
+                </div>
+                <div class="condition">
+                    <p>海拔高度:</p>
+                </div>
+
+                <div class="condition">
+                    <p>所在省:</p>
+                </div>
+                <div class="condition">
+                    <p>所在市:</p>
+                </div>
+                <div class="condition">
+                    <p>经度:</p>
+                </div>
+
+                <div class="condition">
+                    <p>纬度:</p>
+                </div>
+
+                <div class="condition">
+                    <p>测风塔:</p>
+                </div>
+            </div>
+            <div class="attachment">
+                <p>下载合同功率曲线附件</p>
+                <p>下载资源文件附件</p>
+            </div>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+export default {
+    props: {
+        unusualdialog: {
+            type: Boolean,
+            default: false
+        }
+    },
+    computed: {
+        localUnusualdialog: {
+            get() {
+                return this.unusualdialog;
+            },
+            set(value) {
+                // 在这里不进行任何修改
+            }
+        }
+    },
+    methods: {
+
+        handleClose() {
+            this.$emit('handleClose', false, 'unusualdialog');
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.general {
+    display: flex;
+    flex-wrap: wrap;
+
+    .condition {
+        width: 50%;
+        display: flex;
+
+        p {
+            width: 100px;
+            text-align: right;
+            line-height: 40px;
+        }
+
+        span {
+            line-height: 40px;
+
+            padding-left: 20px;
+        }
+
+        .el-select {
+            width: 100%;
+            margin-bottom: 20px;
+        }
+
+        .el-input {
+            margin-bottom: 20px;
+        }
+    }
+}
+
+.attachment {
+    display: flex;
+    padding-top: 10px;
+
+    p {
+        margin-right: 20px;
+        color: #409eff;
+    }
+}
+</style>

+ 96 - 0
src/views/ledger/component/windsitemachine.vue

@@ -0,0 +1,96 @@
+<template>
+        <!-- 测风塔 -->
+        <el-dialog title="测风塔信息" :visible.sync="localAnemometerdialog" width="800px" @close="handleClose">
+            <H3 class="centeredH3">测风塔名称</H3>
+            <div class="general">
+                <div class="condition">
+                    <p>测风塔编号:</p>
+                </div>
+                <div class="condition">
+                    <p>测风塔名称:</p>
+                </div>
+
+                <div class="condition">
+                    <p>经度:</p>
+                </div>
+                <div class="condition">
+                    <p>维度:</p>
+                </div>
+
+                <div class="condition">
+                    <p>测风塔高度:</p>
+                </div>
+            </div>
+        </el-dialog>
+</template>
+
+<script>
+export default {
+    props: {
+        anemometerdialog: {
+            type: Boolean,
+            default: false
+        }
+    },
+    computed: {
+        localAnemometerdialog: {
+            get() {
+                console.log(this.anemometerdialog);
+                return this.anemometerdialog;
+            },
+            set(value) {
+                // 在这里不进行任何修改
+            }
+        }
+    },
+    methods: {
+
+        handleClose() {
+            this.$emit('handleClose', false, 'anemometerdialog');
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.general {
+    display: flex;
+    flex-wrap: wrap;
+
+    .condition {
+        width: 50%;
+        display: flex;
+
+        p {
+            width: 100px;
+            text-align: right;
+            line-height: 40px;
+        }
+
+        span {
+            line-height: 40px;
+
+            padding-left: 20px;
+        }
+
+        .el-select {
+            width: 100%;
+            margin-bottom: 20px;
+        }
+
+        .el-input {
+            margin-bottom: 20px;
+        }
+    }
+}
+
+.attachment {
+    display: flex;
+    padding-top: 10px;
+
+    p {
+        margin-right: 20px;
+        color: #409eff;
+    }
+}
+</style>

+ 95 - 0
src/views/ledger/component/windsitetolead.vue

@@ -0,0 +1,95 @@
+<template>
+    <div>
+        <el-dialog title="导入文件" :visible.sync="localtolead" width="400px" @close="handleClose">
+            <div class="UPcondition">
+                <p>上级单位:</p>
+                <el-select v-model="superior" placeholder="请选择">
+                    <el-option v-for="item in superiorOptions" :key="item.value" :label="item.label"
+                        :value="item.value">
+                    </el-option>
+                </el-select>
+            </div>
+     
+
+            <el-upload class="upload-demo" :file-list="fileList" drag
+                action="https://jsonplaceholder.typicode.com/posts/" multiple>
+                <i class="el-icon-upload"></i>
+                <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+                <div class="el-upload__tip" slot="tip">
+                    只能上传jpg/png文件,且不超过500kb
+                </div>
+            </el-upload>
+            <span slot="footer" class="dialog-footer">
+                <el-button type="primary" @click="filesubmit" size="small">提交</el-button>
+            </span>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+export default {
+    props: {
+        tolead: {
+            type: Boolean,
+            default: false
+        }
+    },
+    computed: {
+        localtolead: {
+            get() {
+                console.log(this.tolead);
+                return this.tolead;
+            },
+            set(value) {
+                // 在这里不进行任何修改
+            }
+        }
+    },
+    data() {
+        return {
+            superior: "",
+            superiorOptions: [],
+            fileList: [
+                {
+                    name: "food.jpeg",
+                    url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
+                },
+
+            ],
+        }
+    },
+    methods: {
+        rowStyle() {
+            return "text-align:center";
+        },
+        handleClose() {
+            this.$emit('handleClose', false, 'tolead');
+        }
+        ,    // 附件提交
+        filesubmit() {
+            this.$emit('handleClose', false, 'tolead');
+        },
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.UPcondition {
+    display: flex;
+
+    p {
+        width: 74px;
+        text-align: right;
+        line-height: 40px;
+    }
+
+    .el-select {
+        width: 100%;
+        margin-bottom: 20px;
+    }
+
+    .el-input {
+        margin-bottom: 20px;
+    }
+}
+</style>

+ 131 - 0
src/views/ledger/component/windsitetower.vue

@@ -0,0 +1,131 @@
+<template>
+    <div>
+        <el-dialog title="风机信息" :visible.sync="localdraught" width="1000px" @close="handleClose">
+            <el-table class="center-align-table" :data="tableData" border :cell-style="rowStyle" stripe>
+
+                <el-table-column fixed prop="name" align="center" label="风机名称">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="风机编号">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="风机机型">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="主机厂商">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="是否标杆">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="海拔高度/米" width="80">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="经度" width="80">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="纬度" width="80">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="额定容量">
+                </el-table-column>
+            </el-table>
+
+            <div class="pagination-container">
+                <el-pagination :page-size="10" :pager-count="11" layout="total, prev, pager, next" :total="35">
+                </el-pagination>
+            </div>
+        </el-dialog> 
+    </div>
+</template>
+
+<script>
+export default {
+    props: {
+        draught: {
+            type: Boolean,
+            default: false
+        }
+    },
+    computed: {
+        localdraught: {
+            get() {
+                console.log(this.draught);
+                return this.draught;
+            },
+            set(value) {
+                // 在这里不进行任何修改
+            }
+        }
+    },
+    data(){
+        return{
+            tableData: [
+        {
+          id: 1,
+          name: "王小虎",
+          transition: "1",
+        },
+        {
+          id: 3,
+          name: "王小虎",
+          abnormal: "1",
+          transition: "0",
+          children: [
+            {
+              id: 31,
+
+              name: "王小虎",
+
+              abnormal: "1",
+            },
+          ],
+        },
+      ],
+        }
+    },
+    methods: {
+        rowStyle() {
+      return "text-align:center";
+    },
+        handleClose() {
+            this.$emit('handleClose', false, 'draught');
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.general {
+    display: flex;
+    flex-wrap: wrap;
+
+    .condition {
+        width: 50%;
+        display: flex;
+
+        p {
+            width: 100px;
+            text-align: right;
+            line-height: 40px;
+        }
+
+        span {
+            line-height: 40px;
+
+            padding-left: 20px;
+        }
+
+        .el-select {
+            width: 100%;
+            margin-bottom: 20px;
+        }
+
+        .el-input {
+            margin-bottom: 20px;
+        }
+    }
+}
+
+.attachment {
+    display: flex;
+    padding-top: 10px;
+
+    p {
+        margin-right: 20px;
+        color: #409eff;
+    }
+}
+</style>

+ 95 - 0
src/views/ledger/component/windsiteup.vue

@@ -0,0 +1,95 @@
+<template>
+    <div>
+        <el-dialog title="上传文件" :visible.sync="localuploadingPOP" width="400px" @close="handleClose">
+            <div class="UPcondition">
+                <p>文件类型:</p>
+                <el-select v-model="superior" placeholder="请选择">
+                    <el-option v-for="item in superiorOptions" :key="item.value" :label="item.label"
+                        :value="item.value">
+                    </el-option>
+                </el-select>
+            </div>
+            <p class="model-center">模板下载</p>
+
+            <el-upload class="upload-demo" :file-list="fileList" drag
+                action="https://jsonplaceholder.typicode.com/posts/" multiple>
+                <i class="el-icon-upload"></i>
+                <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+                <div class="el-upload__tip" slot="tip">
+                    只能上传jpg/png文件,且不超过500kb
+                </div>
+            </el-upload>
+            <span slot="footer" class="dialog-footer">
+                <el-button type="primary" @click="filesubmit" size="small">提交</el-button>
+            </span>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+export default {
+    props: {
+        uploadingPOP: {
+            type: Boolean,
+            default: false
+        }
+    },
+    computed: {
+        localuploadingPOP: {
+            get() {
+                console.log(this.uploadingPOP);
+                return this.uploadingPOP;
+            },
+            set(value) {
+                // 在这里不进行任何修改
+            }
+        }
+    },
+    data() {
+        return {
+            superior: "",
+            superiorOptions: [],
+            fileList: [
+                {
+                    name: "food.jpeg",
+                    url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
+                },
+
+            ],
+        }
+    },
+    methods: {
+        rowStyle() {
+            return "text-align:center";
+        },
+        handleClose() {
+            this.$emit('handleClose', false, 'uploadingPOP');
+        }
+        ,    // 附件提交
+        filesubmit() {
+            this.$emit('handleClose', false, 'uploadingPOP');
+        },
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.UPcondition {
+    display: flex;
+
+    p {
+        width: 74px;
+        text-align: right;
+        line-height: 40px;
+    }
+
+    .el-select {
+        width: 100%;
+        margin-bottom: 20px;
+    }
+
+    .el-input {
+        margin-bottom: 20px;
+    }
+}
+</style>

+ 417 - 0
src/views/ledger/draught.vue

@@ -0,0 +1,417 @@
+<template>
+    <div class="global-variable">
+        <div class="condition">
+            <el-form :inline="true" :model="formInline" class="demo-form-inline">
+                <el-form-item label="单位名称:">
+                    <el-input v-model="formInline.user" placeholder="请输入批次编号" size="small"></el-input>
+                </el-form-item>
+                <el-form-item label="选择日期:" size="small">
+                    <el-date-picker v-model="formInline.timeQuantum" type="daterange" range-separator="至"
+                        start-placeholder="开始日期" end-placeholder="结束日期" >
+                    </el-date-picker>
+                </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" @click="onSubmit" size="small">查询</el-button>
+                    <el-button @click="reset" size="small">重置</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+        <div class="list-page">
+            <div class="newly">
+                <el-button @click="upfile" size="small">导入</el-button>
+                <el-button type="primary" @click="newnuedialog" size="small">新增</el-button>
+            </div>
+
+            <el-table class="center-align-table" :data="tableData" border :cell-style="rowStyle">
+                <el-table-column align="center" fixed prop="" label="风机编号">
+                    <template slot-scope="scope">
+                        <el-button @click="particulars(scope.row)" type="text" size="small">泗洪风场</el-button>
+                    </template>
+                </el-table-column>
+
+                <el-table-column align="center" label="关联风场"> </el-table-column>
+
+
+                <el-table-column prop="" align="center" label="主机厂商" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="机型信号" width="100">
+                </el-table-column>
+
+                <el-table-column prop="" align="center" label="经纬度" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="经纬度" width="100">
+                </el-table-column>
+
+                <el-table-column prop="" align="center" label="海拔高度/米" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="是否标杆" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="状态" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="创建时间">
+                </el-table-column>
+
+
+                <el-table-column prop="transition" align="center" fixed="right" label="操作" width="200">
+                    <template slot-scope="scope">
+                        <el-button @click="compile(scope.row)" type="text" size="small">编辑</el-button>
+
+                        <el-button v-if="scope.row.transition == 1" @click="start(scope.row)" type="text"
+                            size="small">启用</el-button>
+                        <el-button v-else style="color: #666" @click="stop(scope.row)" type="text"
+                            size="small">停用</el-button>
+                        <el-button style="color: #f00" @click="deleted(scope.row)" type="text"
+                            size="small">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <div class="pagination-container">
+                <el-pagination :page-size="10" :pager-count="11" layout="total, prev, pager, next" :total="35">
+                </el-pagination>
+            </div>
+        </div>
+
+        <!-- 弹出层 -->
+        <!-- 导入 -->
+        <el-dialog title="导入文件" :visible.sync="tolead" width="400px">
+            <div class="UPcondition">
+                <p>所属风场:</p>
+                <el-select v-model="superior" placeholder="请选择">
+                    <el-option v-for="item in superiorOptions" :key="item.value" :label="item.label"
+                        :value="item.value">
+                    </el-option>
+                </el-select>
+            </div>
+            <el-upload class="upload-demo" :file-list="fileList" drag
+                action="https://jsonplaceholder.typicode.com/posts/" multiple>
+                <i class="el-icon-upload"></i>
+                <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+                <div class="el-upload__tip" slot="tip">
+                    只能上传jpg/png文件,且不超过500kb
+                </div>
+            </el-upload>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="tolead = false" size="small">取 消</el-button>
+                <el-button type="primary" @click="UPsubmit" size="small">提交</el-button>
+            </span>
+        </el-dialog>
+        <!-- 新增 -->
+        <el-dialog :title="title" :visible.sync="nuedialog" width="800px">
+            <div class="general">
+                <div class="condition">
+                    <p>关联风场:</p>
+                    <el-select v-model="superior" placeholder="请选择">
+                        <el-option v-for="item in superiorOptions" :key="item.value" :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+
+                <div class="condition">
+                    <p>风机编号:</p>
+                    <el-input v-model="windsiteName"></el-input>
+                </div>
+                <div class="condition">
+                    <p>风机名称:</p>
+                    <el-input v-model="airdensity"></el-input>
+                </div>
+
+
+                <div class="condition">
+                    <p>机型编号:</p>
+                    <el-input v-model="altitude"></el-input>
+                </div>
+                <div class="condition">
+                    <p>额定容量:</p>
+                    <el-input v-model="altitude"></el-input>
+                </div>
+
+
+
+                <div class="condition">
+                    <p>海拔高度:</p>
+                    <el-input v-model="longitude"></el-input>
+                </div>
+
+
+                <div class="condition">
+                    <p>经度:</p>
+                    <el-input v-model="dimensionality"></el-input>
+                </div>
+                <div class="condition">
+                    <p>纬度:</p>
+                    <el-input v-model="dimensionality"></el-input>
+                </div>
+                <div class="condition">
+                    <p>轮廓高度:</p>
+                    <el-input v-model="dimensionality"></el-input>
+                </div>
+
+                <div class="condition">
+                    <p>是否标杆:</p>
+                    <el-select v-model="anemometer" placeholder="请选择">
+                        <el-option v-for="item in anemometerOptions" :key="item.value" :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+            </div>
+
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="nuedialog = false" size="small">取 消</el-button>
+                <el-button type="primary" @click="newly" size="small">确 定</el-button>
+            </span>
+        </el-dialog>
+
+        <!-- 风机详情 -->
+        <el-dialog title="风机详情" :visible.sync="unusualdialog" width="800px">
+            <div class="general">
+                <div class="condition">
+                    <p>关联风场:</p>
+                </div>
+                <div class="condition">
+                    <p>风机编号:</p>
+                </div>
+
+                <div class="condition">
+                    <p>风机名称:</p>
+                </div>
+                <div class="condition">
+                    <p>机型编号:</p>
+                </div>
+                <div class="condition">
+                    <p>额定容量:</p>
+                </div>
+
+                <div class="condition">
+                    <p>海拔高度:</p>
+                </div>
+                <div class="condition">
+                    <p>经度:</p>
+                </div>
+
+
+                <div class="condition">
+                    <p>纬度:</p>
+                </div>
+
+                <div class="condition">
+                    <p>轮廓高度:</p>
+                </div>
+                <div class="condition">
+                    <p>是否标杆:</p>
+                </div>
+            </div>
+
+        </el-dialog>
+
+
+
+
+
+
+    </div>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            // 新增信息
+            windsiteName: "",
+            airdensity: "",
+            superior: "",
+            superiorOptions: [],
+            altitude: "",
+            sheng: "",
+            shengOptions: [],
+            shi: "",
+            shiOptions: [],
+            longitude: "",
+            dimensionality: "",
+            anemometer: "",
+            anemometerOptions: [],
+
+            fileList: [
+                {
+                    name: "food.jpeg",
+                    url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
+                },
+
+            ],
+            formInline: {
+                user: "",
+                region: "",
+                timeQuantum: "",
+            },
+            tableData: [
+                {
+                    id: 1,
+                    name: "王小虎",
+                    transition: "1",
+                },
+                {
+                    id: 3,
+                    name: "王小虎",
+                    abnormal: "1",
+                    transition: "0",
+                    children: [
+                        {
+                            id: 31,
+
+                            name: "王小虎",
+
+                            abnormal: "1",
+                        },
+                    ],
+                },
+            ],
+            nuedialog: false,
+            unusualdialog: false,
+            tolead: false,
+
+
+
+            title: "",
+        };
+    },
+    methods: {
+        rowStyle() {
+            return "text-align:center";
+        },
+
+        // 查询
+        onSubmit() {
+            console.log("submit!");
+        },
+        // 重置
+        reset() { },
+        //导入提交
+        UPsubmit() {
+            this.tolead = false;
+        },
+        // 新增
+        newly() {
+            this.nuedialog = false;
+        },
+
+        //异常详情
+        particulars(row) {
+            this.unusualdialog = true;
+        },
+
+
+
+        // 编辑
+        compile(row) {
+            this.nuedialog = true;
+            this.title = "编辑";
+        },
+
+
+        // 启用
+        start(row) { },
+        // 停用
+        stop(row) { },
+        // 删除
+        deleted(row) {
+            this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    this.$message({
+                        type: "success",
+                        message: "删除成功!",
+                    });
+                })
+                .catch(() => {
+                    this.$message({
+                        type: "info",
+                        message: "已取消删除",
+                    });
+                });
+        },
+
+        // 导入
+        upfile() {
+            this.tolead = true;
+        },
+        // 新增
+        newnuedialog() {
+            this.nuedialog = true;
+            this.title = "新增";
+        },
+    },
+};
+</script>
+
+<style lang="scss" scoped>
+.general {
+    display: flex;
+    flex-wrap: wrap;
+
+    .condition {
+        width: 50%;
+        display: flex;
+
+        p {
+            width: 100px;
+            text-align: right;
+            line-height: 40px;
+        }
+
+        span {
+            line-height: 40px;
+
+            padding-left: 20px;
+        }
+
+        .el-select {
+            width: 100%;
+            margin-bottom: 20px;
+        }
+
+        .el-input {
+            margin-bottom: 20px;
+        }
+    }
+}
+
+.UPcondition {
+    display: flex;
+
+    p {
+        width: 74px;
+        text-align: right;
+        line-height: 40px;
+    }
+
+    .el-select {
+        width: 100%;
+        margin-bottom: 20px;
+    }
+
+    .el-input {
+        margin-bottom: 20px;
+    }
+}
+
+.attachment {
+    display: flex;
+    padding-top: 10px;
+
+    p {
+        margin-right: 20px;
+        color: #409eff;
+    }
+}
+
+.model-center {
+    color: #666;
+    line-height: 40px;
+    height: 40px;
+    font-size: 14px;
+}
+</style>

+ 260 - 0
src/views/ledger/enterprise.vue

@@ -0,0 +1,260 @@
+<template>
+    <div class="global-variable">
+        <div class="condition">
+            <el-form :inline="true" :model="formInline" class="demo-form-inline">
+                <el-form-item label="单位名称:">
+                    <el-input v-model="formInline.user" placeholder="请输入单位名称" size="small"></el-input>
+                </el-form-item>
+                <el-form-item label="状态:">
+                    <el-select v-model="formInline.region" placeholder="选择状态" size="small ">
+                        <el-option label="启用" value="1"></el-option>
+                        <el-option label="停用" value="2"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" @click="onSubmit" size="small">查询</el-button>
+                    <el-button @click="reset" size="small">重置</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+        <div class="list-page">
+            <div class="newly">
+                <el-button type="primary" @click="newnuedialog" size="small">新增</el-button>
+            </div>
+
+            <el-table class="center-align-table" :data="tableData" border :cell-style="rowStyle" stripe row-key="id"
+                default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+                <!-- Table Columns -->
+                <el-table-column fixed prop="name" align="center" label="单位名称">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="单位ID">
+                </el-table-column>
+
+                <el-table-column prop="abnormal" label="风场数量" width="80">
+                    <template slot-scope="scope">
+                        <el-button v-if="scope.row.abnormal == 1" @click="particulars(scope.row)" type="text"
+                            size="small">10</el-button>
+                        <span v-else>/</span>
+                    </template>
+                </el-table-column>
+
+                <el-table-column prop="" align="center" label="状态" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="转换时间">
+                </el-table-column>
+                <el-table-column prop="transition" align="center" fixed="right" label="操作" width="200">
+                    <template slot-scope="scope">
+                        <el-button @click="compile(scope.row)" type="text" size="small">编辑</el-button>
+                        <el-button @click="newcomer(scope.row)" type="text" size="small">新增</el-button>
+                        <el-button v-if="scope.row.transition == 1" @click="start(scope.row)" type="text"
+                            size="small">启用</el-button>
+                        <el-button v-else style="color: #666;" @click="stop(scope.row)" type="text"
+                            size="small">停用</el-button>
+                        <el-button style="color: #f00;" @click="deleted(scope.row)" type="text"
+                            size="small">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <div class="pagination-container">
+                <el-pagination :page-size="10" :pager-count="11" layout="total, prev, pager, next" :total="35">
+                </el-pagination>
+            </div>
+        </div>
+
+
+        <!-- 弹出层 -->
+        <!-- 新增 -->
+        <el-dialog :title="title" :visible.sync="nuedialog" width="380px">
+            <el-form ref="newform" :rules="rules" :model="newform" label-width="90px">
+                <el-form-item label="单位名称:" prop="unit">
+                    <el-input v-model="newform.unit" size="small"></el-input>
+                </el-form-item>
+                <el-form-item label="所属省:" prop="province">
+                    <el-select v-model="newform.province" placeholder="请选择" size="small">
+                        <el-option label="区域一" value="shanghai"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="所属市:" prop="city">
+                    <el-select v-model="newform.city" placeholder="请选择" size="small">
+                        <el-option label="区域一" value="shanghai"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="备注:">
+                    <el-input v-model="newform.name" size="small" type="textarea"></el-input>
+                </el-form-item>
+            </el-form>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="nuedialog = false" size="small">取 消</el-button>
+                <el-button type="primary" @click="newly" size="small">确 定</el-button>
+            </span>
+        </el-dialog>
+
+        <!-- 风场数量 -->
+        <el-dialog title="风场数量" :visible.sync="unusualdialog" width="1000px">
+            <el-table class="center-align-table" :data="tableData" border :cell-style="rowStyle" stripe>
+                <!-- Table Columns -->
+                <el-table-column fixed prop="name" align="center" label="风场名称">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="所在省">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="所在市">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="海拔高度" width="80">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="经度" width="80">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="纬度" width="80">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="额定容量">
+                </el-table-column>
+
+            </el-table>
+
+            <div class="pagination-container">
+                <el-pagination :page-size="10" :pager-count="11" layout="total, prev, pager, next" :total="35">
+                </el-pagination>
+            </div>
+        </el-dialog>
+
+    </div>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            rules: {
+                unit: [
+                    { required: true, message: '请填写单位名称', trigger: 'blur' }
+                ],
+                province: [
+                    { required: true, message: '请选择省', trigger: 'change' }
+                ],
+                city: [
+                    { required: true, message: '请选择省', trigger: 'change' }
+                ],
+            },
+            formInline: {
+                user: '',
+                region: ''
+            },
+            tableData: [{
+                id: 1,
+                name: '王小虎',
+                transition: "1"
+            }, {
+                id: 3,
+                name: '王小虎',
+                abnormal: "1",
+                transition: "0",
+                children: [{
+                    id: 31,
+
+                    name: '王小虎',
+
+                    abnormal: "1",
+                }]
+            },],
+            nuedialog: false,
+            unusualdialog: false,
+            newform: {
+                unit: "",
+                province: "",
+                city: "",
+                descr: "",
+            },
+            title: "新增",
+            warningShown: false
+
+        }
+    },
+    methods: {
+        rowStyle() {
+            return "text-align:center";
+        },
+
+        // 查询
+        onSubmit() {
+            console.log('submit!');
+        },
+        // 重置
+        reset() {
+            this.formInline.user = ""
+            this.formInline.region = ""
+
+        },
+        // 新增
+        newly() {
+            this.nuedialog = false
+
+        },
+
+        //异常详情
+        particulars(row) {
+            this.unusualdialog = true;
+        },
+        // 编辑
+        compile(row) {
+            this.nuedialog = true
+            this.title = "编辑"
+        },
+        // 新增子级
+        newcomer(row) {
+            this.nuedialog = true
+            this.title = "新增"
+        },
+        // 启用
+        start(row) {
+
+        },
+        // 停用
+        stop(row) {
+
+        },
+        // 删除
+        deleted(row) {
+            if (row.transition === "0") {
+                if (!this.warningShown) {
+                    this.$message({
+                        type: 'error',
+                        message: '该项处于停用状态,无法删除!'
+                    });
+                    this.warningShown = true; // 设置警告消息已经显示过了的标志位为true
+                }
+                return;
+            }
+
+            this.$confirm('此操作将永久删除该文件,是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                // 执行删除操作
+                this.$message({
+                    type: 'success',
+                    message: '删除成功!'
+                });
+            }).catch(() => {
+                // 取消删除
+                this.$message({
+                    type: 'info',
+                    message: '已取消删除'
+                });
+            });
+        },
+
+        newnuedialog() {
+            this.nuedialog = true
+            this.title = "新增"
+
+        }
+    }
+
+}
+</script>
+
+<style lang="scss" scoped>
+.el-select {
+    width: 250px;
+}
+</style>

+ 466 - 0
src/views/ledger/milltype.vue

@@ -0,0 +1,466 @@
+<template>
+    <div class="global-variable">
+        <div class="condition">
+            <el-form :inline="true" :model="formInline" class="demo-form-inline">
+                <el-form-item label="机型型号:">
+                    <el-input v-model="formInline.user" placeholder="请输入批次编号" size="small"></el-input>
+                </el-form-item>
+                <el-form-item label="选择日期:" size="small">
+                    <el-date-picker v-model="formInline.timeQuantum" type="daterange" range-separator="至"
+                        start-placeholder="开始日期" end-placeholder="结束日期">
+                    </el-date-picker>
+                </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" @click="onSubmit" size="small">查询</el-button>
+                    <el-button @click="reset" size="small">重置</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+        <div class="list-page">
+            <div class="newly">
+
+                <el-button type="primary" @click="newnuedialog" size="small">新增</el-button>
+            </div>
+
+            <el-table class="center-align-table" :data="tableData" border :cell-style="rowStyle">
+                <el-table-column align="center" fixed prop="" label="机型型号">
+                    <template slot-scope="scope">
+                        <el-button @click="particulars(scope.row)" type="text" size="small">泗洪风场</el-button>
+                    </template>
+                </el-table-column>
+
+                <el-table-column align="center" label="厂商编号"> </el-table-column>
+
+
+                <el-table-column prop="" align="center" label="机型类型" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="厂商名称" width="100">
+                </el-table-column>
+
+                <el-table-column prop="" align="center" label="品牌名称" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="状态" width="100">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="创建时间">
+                </el-table-column>
+                <el-table-column prop="transition" align="center" fixed="right" label="操作" width="200">
+                    <template slot-scope="scope">
+                        <el-button @click="compile(scope.row)" type="text" size="small">编辑</el-button>
+                        <el-button @click="uploading(scope.row)" type="text" size="small">上传</el-button>
+                        <el-button v-if="scope.row.transition == 1" @click="start(scope.row)" type="text"
+                            size="small">启用</el-button>
+                        <el-button v-else style="color: #666" @click="stop(scope.row)" type="text"
+                            size="small">停用</el-button>
+                        <el-button style="color: #f00" @click="deleted(scope.row)" type="text"
+                            size="small">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <div class="pagination-container">
+                <el-pagination :page-size="10" :pager-count="11" layout="total, prev, pager, next" :total="35">
+                </el-pagination>
+            </div>
+        </div>
+
+        <!-- 弹出层 -->
+
+        <!-- 新增 -->
+        <el-dialog :title="title" :visible.sync="nuedialog" width="800px">
+            <div class="general">
+
+                <div class="condition">
+                    <p>机型型号:</p>
+                    <el-input v-model="windsiteName"></el-input>
+                </div>
+                <div class="condition">
+                    <p>厂商名称:</p>
+                    <el-input v-model="airdensity"></el-input>
+                </div>
+
+
+                <div class="condition">
+                    <p>品牌名称:</p>
+                    <el-input v-model="altitude"></el-input>
+                </div>
+
+                <div class="condition">
+                    <p>驱动方式:</p>
+                    <el-select v-model="sheng" placeholder="请选择">
+                        <el-option v-for="item in shengOptions" :key="item.value" :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+
+                <div class="condition">
+                    <p>塔筒高度:</p>
+                    <el-input v-model="longitude"></el-input>
+                </div>
+
+                <div class="condition">
+                    <p>叶片长度:</p>
+                    <el-input v-model="dimensionality"></el-input>
+                </div>
+
+
+            </div>
+
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="nuedialog = false" size="small">取 消</el-button>
+                <el-button type="primary" @click="newly" size="small">确 定</el-button>
+            </span>
+        </el-dialog>
+
+        <!-- 风场详情 -->
+        <el-dialog title="机器详情" :visible.sync="unusualdialog" width="800px">
+            <div class="general">
+                <div class="condition">
+                    <p>机型型号:</p>
+                </div>
+                <div class="condition">
+                    <p>厂商名称:</p>
+                </div>
+
+                <div class="condition">
+                    <p>厂商编号:</p>
+                </div>
+                <div class="condition">
+                    <p>品牌名称:</p>
+                </div>
+
+                <div class="condition">
+                    <p>驱动方式:</p>
+                </div>
+                <div class="condition">
+                    <p>状态:</p>
+                </div>
+                <div class="condition">
+                    <p>塔筒高度:</p>
+                </div>
+
+                <div class="condition">
+                    <p>叶片长度:</p>
+                </div>
+
+
+            </div>
+            <div class="attachment">
+                <p>下载标准功率曲线附件</p>
+
+            </div>
+        </el-dialog>
+
+        <!-- 风机数量 -->
+        <el-dialog title="风机信息" :visible.sync="draught" width="1000px">
+            <el-table class="center-align-table" :data="tableData" border :cell-style="rowStyle" stripe>
+                <!-- Table Columns -->
+                <el-table-column fixed prop="name" align="center" label="风机名称">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="风机编号">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="风机机型">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="主机厂商">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="是否标杆">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="海拔高度/米" width="80">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="经度" width="80">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="纬度" width="80">
+                </el-table-column>
+                <el-table-column prop="" align="center" label="额定容量">
+                </el-table-column>
+            </el-table>
+
+            <div class="pagination-container">
+                <el-pagination :page-size="10" :pager-count="11" layout="total, prev, pager, next" :total="35">
+                </el-pagination>
+            </div>
+        </el-dialog>
+        <!-- 测风塔 -->
+        <el-dialog title="测风塔信息" :visible.sync="anemometerdialog" width="800px">
+            <H3 class="centeredH3">测风塔名称</H3>
+            <div class="general">
+                <div class="condition">
+                    <p>测风塔编号:</p>
+                </div>
+                <div class="condition">
+                    <p>测风塔名称:</p>
+                </div>
+
+                <div class="condition">
+                    <p>经度:</p>
+                </div>
+                <div class="condition">
+                    <p>维度:</p>
+                </div>
+
+                <div class="condition">
+                    <p>测风塔高度:</p>
+                </div>
+            </div>
+        </el-dialog>
+
+
+        <!-- 上传 -->
+        <el-dialog title="上传文件" :visible.sync="uploadingPOP" width="400px">
+            <div class="UPcondition">
+                <p>文件类型:</p>
+                <el-select v-model="superior" placeholder="请选择">
+                    <el-option v-for="item in superiorOptions" :key="item.value" :label="item.label"
+                        :value="item.value">
+                    </el-option>
+                </el-select>
+            </div>
+            <p class="model-center">模板下载</p>
+
+            <el-upload class="upload-demo" :file-list="fileList" drag
+                action="https://jsonplaceholder.typicode.com/posts/" multiple>
+                <i class="el-icon-upload"></i>
+                <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+                <div class="el-upload__tip" slot="tip">
+                    只能上传jpg/png文件,且不超过500kb
+                </div>
+            </el-upload>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="uploadingPOP = false" size="small">取 消</el-button>
+                <el-button type="primary" @click="filesubmit" size="small">提交</el-button>
+            </span>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            // 新增信息
+            windsiteName: "",
+            airdensity: "",
+            superior: "",
+            superiorOptions: [],
+            altitude: "",
+            sheng: "",
+            shengOptions: [],
+            shi: "",
+            shiOptions: [],
+            longitude: "",
+            dimensionality: "",
+            anemometer: "",
+            anemometerOptions: [],
+
+            fileList: [
+                {
+                    name: "food.jpeg",
+                    url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
+                },
+
+            ],
+            formInline: {
+                user: "",
+                region: "",
+                timeQuantum: "",
+            },
+            tableData: [
+                {
+                    id: 1,
+                    name: "王小虎",
+                    transition: "1",
+                },
+                {
+                    id: 3,
+                    name: "王小虎",
+                    abnormal: "1",
+                    transition: "0",
+                    children: [
+                        {
+                            id: 31,
+
+                            name: "王小虎",
+
+                            abnormal: "1",
+                        },
+                    ],
+                },
+            ],
+            nuedialog: false,
+            unusualdialog: false,
+
+            draught: false,
+            anemometerdialog: false,
+            uploadingPOP: false,
+            newform: {
+                unit: "",
+                province: "",
+                city: "",
+                descr: "",
+            },
+            title: "新增",
+        };
+    },
+    methods: {
+        rowStyle() {
+            return "text-align:center";
+        },
+
+        // 查询
+        onSubmit() {
+            console.log("submit!");
+        },
+        // 重置
+        reset() { },
+
+        // 新增
+        newly() {
+            this.nuedialog = false;
+        },
+
+        //异常详情
+        particulars(row) {
+            this.unusualdialog = true;
+        },
+        //风机信息
+        ONdraught(row) {
+            this.draught = true;
+        },
+        ONanemometer(row) {
+            this.anemometerdialog = true;
+        },
+        // 编辑
+        compile(row) {
+            this.nuedialog = true;
+            this.title = "编辑";
+        },
+        // 上传附件
+        uploading(row) {
+            this.uploadingPOP = true;
+        },
+        // 附件提交
+        filesubmit() {
+            this.uploadingPOP = false;
+        },
+        // 启用
+        start(row) { },
+        // 停用
+        stop(row) { },
+        // 删除
+        deleted(row) {
+            this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    this.$message({
+                        type: "success",
+                        message: "删除成功!",
+                    });
+                })
+                .catch(() => {
+                    this.$message({
+                        type: "info",
+                        message: "已取消删除",
+                    });
+                });
+        },
+        // 删除附件
+        deleteRow(row) {
+            this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+            })
+                .then(() => {
+                    this.$message({
+                        type: "success",
+                        message: "删除成功!",
+                    });
+                })
+                .catch(() => {
+                    this.$message({
+                        type: "info",
+                        message: "已取消删除",
+                    });
+                });
+        },
+
+
+        // 新增
+        newnuedialog() {
+            this.nuedialog = true;
+            this.title = "新增";
+        },
+    },
+};
+</script>
+
+<style lang="scss" scoped>
+.general {
+    display: flex;
+    flex-wrap: wrap;
+
+    .condition {
+        width: 50%;
+        display: flex;
+
+        p {
+            width: 100px;
+            text-align: right;
+            line-height: 40px;
+        }
+
+        span {
+            line-height: 40px;
+
+            padding-left: 20px;
+        }
+
+        .el-select {
+            width: 100%;
+            margin-bottom: 20px;
+        }
+
+        .el-input {
+            margin-bottom: 20px;
+        }
+    }
+}
+
+.UPcondition {
+    display: flex;
+
+    p {
+        width: 74px;
+        text-align: right;
+        line-height: 40px;
+    }
+
+    .el-select {
+        width: 100%;
+        margin-bottom: 20px;
+    }
+
+    .el-input {
+        margin-bottom: 20px;
+    }
+}
+
+.attachment {
+    display: flex;
+    padding-top: 10px;
+
+    p {
+        margin-right: 20px;
+        color: #409eff;
+    }
+}
+
+.model-center {
+    color: #666;
+    line-height: 40px;
+    height: 40px;
+    font-size: 14px;
+}
+</style>

+ 405 - 0
src/views/ledger/windsite.vue

@@ -0,0 +1,405 @@
+<template>
+  <div class="global-variable">
+    <div class="condition">
+      <el-form :inline="true" :model="formInline" class="demo-form-inline">
+        <el-form-item label="单位名称:">
+          <el-input v-model="formInline.user" placeholder="请输入批次编号" size="small"></el-input>
+        </el-form-item>
+        <el-form-item label="选择日期:" size="small">
+          <el-date-picker v-model="formInline.timeQuantum" type="daterange" range-separator="至" start-placeholder="开始日期"
+            end-placeholder="结束日期">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="onSubmit" size="small">查询</el-button>
+          <el-button @click="reset" size="small">重置</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="list-page">
+      <div class="newly">
+        <el-button @click="upfile" size="small">导入</el-button>
+        <el-button type="primary" @click="newnuedialog" size="small">新增</el-button>
+      </div>
+
+      <el-table class="center-align-table" :data="tableData" border :cell-style="rowStyle">
+        <el-table-column align="center" fixed prop="" label="单位名称">
+          <template slot-scope="scope">
+            <el-button @click="particulars(scope.row)" type="text" size="small">泗洪风场</el-button>
+          </template>
+        </el-table-column>
+
+        <el-table-column align="center" label="关联公司"> </el-table-column>
+        <el-table-column prop="abnormal" label="风机数量" width="80">
+          <template slot-scope="scope">
+            <el-button @click="ONdraught(scope.row)" type="text" size="small">10</el-button>
+          </template>
+        </el-table-column>
+
+        <el-table-column align="center" prop="abnormal" label="测风塔" width="80">
+          <template slot-scope="scope">
+            <el-button @click="ONanemometer(scope.row)" type="text" size="small">1</el-button>
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="" align="center" label="所在省" width="100">
+        </el-table-column>
+        <el-table-column prop="" align="center" label="所在市" width="100">
+        </el-table-column>
+
+        <el-table-column prop="" align="center" label="总额定容量" width="100">
+        </el-table-column>
+
+        <el-table-column prop="" align="center" label="创建时间">
+        </el-table-column>
+
+        <el-table-column prop="" align="center" label="状态" width="100">
+        </el-table-column>
+        <el-table-column prop="transition" align="center" fixed="right" label="操作" width="200">
+          <template slot-scope="scope">
+            <el-button @click="compile(scope.row)" type="text" size="small">编辑</el-button>
+            <el-button @click="uploading(scope.row)" type="text" size="small">上传</el-button>
+            <el-button v-if="scope.row.transition == 1" @click="start(scope.row)" type="text"
+              size="small">启用</el-button>
+            <el-button v-else style="color: #666" @click="stop(scope.row)" type="text" size="small">停用</el-button>
+            <el-button style="color: #f00" @click="deleted(scope.row)" type="text" size="small">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="pagination-container">
+        <el-pagination :page-size="10" :pager-count="11" layout="total, prev, pager, next" :total="35">
+        </el-pagination>
+      </div>
+    </div>
+
+    <!-- 弹出层 -->
+
+    <!-- 新增 -->
+    <el-dialog :title="title" :visible.sync="nuedialog" width="800px">
+      <div class="general">
+        <div class="condition">
+          <p>风场名称:</p>
+          <el-input v-model="windsiteName"></el-input>
+        </div>
+        <div class="condition">
+          <p>空气密度:</p>
+          <el-input v-model="airdensity"></el-input>
+        </div>
+
+        <div class="condition">
+          <p>上级单位:</p>
+          <el-select v-model="superior" placeholder="请选择">
+            <el-option v-for="item in superiorOptions" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </div>
+        <div class="condition">
+          <p>海拔高度:</p>
+          <el-input v-model="altitude"></el-input>
+        </div>
+
+        <div class="condition">
+          <p>所在省:</p>
+          <el-select v-model="sheng" placeholder="请选择">
+            <el-option v-for="item in shengOptions" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </div>
+        <div class="condition">
+          <p>所在市:</p>
+          <el-select v-model="shi" placeholder="请选择">
+            <el-option v-for="item in shiOptions" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </div>
+        <div class="condition">
+          <p>经度:</p>
+          <el-input v-model="longitude"></el-input>
+        </div>
+
+        <div class="condition">
+          <p>纬度:</p>
+          <el-input v-model="dimensionality"></el-input>
+        </div>
+
+        <div class="condition">
+          <p>测风塔:</p>
+          <el-select v-model="anemometer" placeholder="请选择">
+            <el-option v-for="item in anemometerOptions" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </div>
+      </div>
+      <div class="bianji" v-show="listedfiles">
+        <el-table :data="tableData" style="width: 100%">
+          <el-table-column prop="" label="文件名" width="180">
+          </el-table-column>
+          <el-table-column prop="" label="文件类型" width="180">
+          </el-table-column>
+          <el-table-column prop="" label="文件大小"> </el-table-column>
+          <el-table-column fixed="right" label="操作" width="120">
+            <template slot-scope="scope">
+              <el-button @click.native.prevent="deleteRow(scope.row)" type="text" size="small">
+                删除
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="nuedialog = false" size="small">取 消</el-button>
+        <el-button type="primary" @click="newly" size="small">确 定</el-button>
+      </span>
+    </el-dialog>
+
+    <!-- 风场详情 -->
+    <WindsiteMessage :unusualdialog="unusualdialog" @handleClose="handleClose"></WindsiteMessage>
+    <!-- 测风塔 -->
+    <windsitemachine :anemometerdialog="anemometerdialog" @handleClose="handleClose"></windsitemachine>
+    <!-- 风机数量 -->
+    <windsitetower :draught="draught" @handleClose="handleClose"></windsitetower>
+    <!-- 上传 -->
+    <windsiteup :uploadingPOP="uploadingPOP" @handleClose="handleClose"></windsiteup>
+    <!-- 导入 -->
+    <windsitetolead :tolead=tolead @handleClose="handleClose"></windsitetolead>
+  </div>
+</template>
+
+<script>
+import WindsiteMessage from './component/windsiteMessage.vue';
+import windsitemachine from './component/windsitemachine.vue';
+import windsitetower from './component/windsitetower.vue';
+import windsiteup from './component/windsiteup.vue';
+import windsitetolead from './component/windsitetolead.vue';
+
+
+
+
+export default {
+  components: {
+    WindsiteMessage, windsitemachine, windsitetower, windsiteup, windsitetolead
+  },
+  data() {
+
+    return {
+      // 新增信息
+      windsiteName: "",
+      airdensity: "",
+      superior: "",
+      superiorOptions: [],
+      altitude: "",
+      sheng: "",
+      shengOptions: [],
+      shi: "",
+      shiOptions: [],
+      longitude: "",
+      dimensionality: "",
+      anemometer: "",
+      anemometerOptions: [],
+
+      listedfiles:false,
+      formInline: {
+        user: "",
+        region: "",
+        timeQuantum: "",
+      },
+      tableData: [
+        {
+          id: 1,
+          name: "王小虎",
+          transition: "1",
+        },
+        {
+          id: 3,
+          name: "王小虎",
+          abnormal: "1",
+          transition: "0",
+          children: [
+            {
+              id: 31,
+
+              name: "王小虎",
+
+              abnormal: "1",
+            },
+          ],
+        },
+      ],
+      nuedialog: false,
+      unusualdialog: false,
+      tolead: false,
+      draught: false,
+      anemometerdialog: false,
+      uploadingPOP: false,
+      newform: {
+        unit: "",
+        province: "",
+        city: "",
+        descr: "",
+      },
+      title: "新增",
+    };
+  },
+
+  methods: {
+    handleClose(value, dialogName) {
+      this[dialogName] = value
+    },
+    rowStyle() {
+      return "text-align:center";
+    },
+
+    // 查询
+    onSubmit() {
+      console.log("submit!");
+    },
+    // 重置
+    reset() { },
+    //导入提交
+    UPsubmit() {
+      this.tolead = false;
+    },
+    // 新增
+    newly() {
+      this.nuedialog = false;
+    },
+
+    //异常详情
+    particulars(row) {
+      this.unusualdialog = true;
+    },
+    //风机信息
+    ONdraught(row) {
+      this.draught = true;
+    },
+    ONanemometer(row) {
+      this.anemometerdialog = true;
+    },
+    // 编辑
+    compile(row) {
+      this.nuedialog = true;
+      this.listedfiles=true
+      this.title = "编辑";
+    },
+    // 上传附件
+    uploading(row) {
+      this.uploadingPOP = true;
+    },
+
+    // 启用
+    start(row) { },
+    // 停用
+    stop(row) { },
+    // 删除
+    deleted(row) {
+      this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.$message({
+            type: "success",
+            message: "删除成功!",
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+    // 删除附件
+    deleteRow(row) {
+      this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.$message({
+            type: "success",
+            message: "删除成功!",
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+    // 导入
+    upfile() {
+      this.tolead = true;
+    },
+    // 新增
+    newnuedialog() {
+      this.nuedialog = true;
+      this.listedfiles=false
+      this.title = "新增";
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.general {
+  display: flex;
+  flex-wrap: wrap;
+
+  .condition {
+    width: 50%;
+    display: flex;
+
+    p {
+      width: 100px;
+      text-align: right;
+      line-height: 40px;
+    }
+
+    span {
+      line-height: 40px;
+
+      padding-left: 20px;
+    }
+
+    .el-select {
+      width: 100%;
+      margin-bottom: 20px;
+    }
+
+    .el-input {
+      margin-bottom: 20px;
+    }
+  }
+}
+
+.UPcondition {
+  display: flex;
+
+  p {
+    width: 74px;
+    text-align: right;
+    line-height: 40px;
+  }
+
+  .el-select {
+    width: 100%;
+    margin-bottom: 20px;
+  }
+
+  .el-input {
+    margin-bottom: 20px;
+  }
+}
+
+
+.model-center {
+  color: #666;
+  line-height: 40px;
+  height: 40px;
+  font-size: 14px;
+}
+</style>

+ 5 - 0
src/views/login/Index.vue

@@ -194,6 +194,11 @@ export default {
   }
 }
 
+.el-input{
+  width: 300px;
+  margin-top: 20px;
+}
+
 // ::v-deep .el-form-item__error {
 //   left: 150;
 // }</style>