Bläddra i källkod

数据操作页面联调

liujiejie 1 år sedan
förälder
incheckning
6c4c789d08

+ 48 - 0
src/api/dataManage.js

@@ -0,0 +1,48 @@
+/*
+ * @Author: your name
+ * @Date: 2024-06-04 09:48:21
+ * @LastEditTime: 2024-06-05 10:41:29
+ * @LastEditors: bogon
+ * @Description: In User Settings Edit
+ * @FilePath: /dashengmag/performance-test/src/api/dataManage.js
+ */
+import request from "@/utils/request";
+
+export function queryDataTransferList(data) {
+  return request({
+    url: "/energy-manage-service/dataTransfer/queryDataTransferList",
+    method: "get",
+    params: data,
+  });
+}
+//获取批次编号列表
+export function fieldBatchListForDataTransfer() {
+  return request({
+    url: "/energy-manage-service/dataTransfer/fieldBatchListForDataTransfer",
+    method: "get",
+  });
+}
+//编辑 数据
+export function editTimeGranularityQuery(data) {
+  return request({
+    url: "/energy-manage-service/dataTransfer/editTimeGranularity",
+    method: "post",
+    data,
+  });
+}
+
+//转换\重新转换
+export function dataTransfer(data) {
+  return request({
+    url: "/energy-manage-service/dataTransfer/dataTransfer",
+    method: "post",
+    data,
+  });
+}
+export function addDataTransferList(data) {
+  return request({
+    url: "/energy-manage-service/dataTransfer/addDataTransferList",
+    method: "post",
+    data,
+  });
+}

+ 56 - 0
src/api/performance.js

@@ -0,0 +1,56 @@
+/*
+ * @Author: your name
+ * @Date: 2024-06-03 09:29:50
+ * @LastEditTime: 2024-06-03 17:22:24
+ * @LastEditors: bogon
+ * @Description: In User Settings Edit
+ * @FilePath: /performance-test/src/api/performance。.js
+ */
+import request from "@/utils/request";
+//批次管理性能分析列表获取
+export function getBatchMagList(data) {
+  return request({
+    url: "/energy-manage-service/windEnginBatch/batchList",
+    method: "get",
+    params: data,
+  });
+}
+//新增
+export function addFieldBatch(data) {
+  return request({
+    url: "/energy-manage-service/windEnginBatch/addFieldBatch",
+    method: "post",
+    data,
+  });
+}
+//编辑
+export function updateFieldBatch(data) {
+  return request({
+    url: "/energy-manage-service/windEnginBatch/updateFieldBatch",
+    method: "post",
+    data,
+  });
+}
+//onOrOffFieldBatch更改状态
+export function onOrOffFieldBatch(data) {
+  return request({
+    url: "/energy-manage-service/windEnginBatch/onOrOffFieldBatch",
+    method: "post",
+    data,
+  });
+}
+//deleteFieldBatch 删除
+export function deleteFieldBatch(data) {
+  return request({
+    url: "/energy-manage-service/windEnginBatch/deleteFieldBatch",
+    method: "post",
+    data,
+  });
+}
+//获取关联风场接口
+export function queryCodeNum() {
+  return request({
+    url: "/energy-manage-service/sysOrganizationAuth/queryCodeNum",
+    method: "get",
+  });
+}

+ 1 - 1
src/components/HeaderCom.vue

@@ -72,7 +72,7 @@ export default {
         { lable: "黄色", value: "light", color: "#82780ccf" },
         { lable: "深色", value: "dark", color: "#607d8b" },
         { lable: "绿色", value: "green", color: "#008080" },
-        { lable: "蓝色", value: "blue", color: "#00bcd4" },
+        { lable: "蓝色", value: "blue", color: "#409eff" },
       ],
     };
   },

+ 2 - 2
src/store/themes.js

@@ -1,14 +1,14 @@
 /*
  * @Author: your name
  * @Date: 2024-05-27 15:09:27
- * @LastEditTime: 2024-05-27 15:09:54
+ * @LastEditTime: 2024-06-04 09:23:28
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/store/themes.js
  */
 export default {
   state: {
-    theme: localStorage.getItem("theme") || "light",
+    theme: localStorage.getItem("theme") || "green",
   },
   mutations: {
     setTheme(state, theme) {

+ 3 - 3
src/themes/blue.scss

@@ -1,7 +1,7 @@
-$primary-color: #00bcd4;
-$background-color: #00bcd4;
+$primary-color: #409eff;
+$background-color: #409eff;
 $text-color: #ffffff;
-$bgopacity-color: #00bbd429;
+$bgopacity-color: rgba(0, 187, 212, 0.145);
 :root {
   --primary-color: #{$primary-color};
   --background-color: #{$background-color};

+ 14 - 5
src/views/admin/cockpitManage/Index.vue

@@ -1,10 +1,14 @@
 <template>
   <div class="map-ditu">
-    <Tmap ref="map" @feature-click="featureClick"></Tmap>
+    <!-- <Tmap ref="map" @feature-click="featureClick"></Tmap> -->
     <div class="ledata">
       <el-input v-model="treeval" @focus="showTree = true"></el-input>
       <div class="Showtree">
-        <el-tree v-if="showTree" :data="treeData" @node-click="handleNodeClick"></el-tree>
+        <el-tree
+          v-if="showTree"
+          :data="treeData"
+          @node-click="handleNodeClick"
+        ></el-tree>
       </div>
 
       <p><span class="SpText">风场总数:</span>20 个</p>
@@ -17,7 +21,12 @@
         <span class="yellow"></span>
         <span class="green"></span>
       </p>
-      <el-switch v-model="value1" active-text="显示" inactive-text="隐藏" @change="handleSwitchChange">
+      <el-switch
+        v-model="value1"
+        active-text="显示"
+        inactive-text="隐藏"
+        @change="handleSwitchChange"
+      >
       </el-switch>
     </div>
     <Rightdata v-show="ShowRi" class="ridata"></Rightdata>
@@ -86,9 +95,9 @@ export default {
       this.showTree = false;
     },
     featureClick() {
-      this.$router.push('cockpitManage/electronic-map');
+      this.$router.push("cockpitManage/electronic-map");
       //点击事件  跳转B页面
-    }
+    },
   },
 };
 </script>

+ 3 - 5
src/views/admin/cockpitManage/electronicMap.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="map-ditu">
-    <Tmap ref="map"></Tmap>
+    <!-- <Tmap ref="map"></Tmap> -->
     <!-- <router-view></router-view> -->
   </div>
 </template>
@@ -17,7 +17,7 @@ export default {
   },
 
   mounted() {
-        //模拟地图上的点位
+    //模拟地图上的点位
     const data = [{ point: [120.2, 30.35] }, { point: [120.21, 30.35] }];
     data.forEach((element) => {
       console.log(element);
@@ -29,9 +29,7 @@ export default {
     });
   },
 
-  methods: {
-
-  },
+  methods: {},
 };
 </script>
 

+ 684 - 151
src/views/dataAdministration/index.vue

@@ -1,166 +1,699 @@
 <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">
-
-
+  <div class="global-variable">
+    <div class="condition">
+      <el-form
+        ref="ruleForm"
+        :inline="true"
+        :model="formInline"
+        class="demo-form-inline"
+      >
+        <el-form-item label="批次编号:" prop="batchCode">
+          <el-input
+            v-model="formInline.batchCode"
+            placeholder="请输入批次编号"
+            size="small"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="状态:" prop="transferState">
+          <el-select
+            v-model="formInline.transferState"
+            placeholder="请选择状态"
+            size="small "
+          >
+            <el-option
+              v-for="item in stateDataList"
+              :key="item.value"
+              :label="item.lable"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="onSubmit" size="small"
+            >查询</el-button
+          >
+          <el-button @click="reset('ruleForm')" size="small">重置</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="list-page">
+      <div class="newly">
+        <el-button type="primary" @click="addData" size="small">新增</el-button>
+      </div>
 
-        </el-dialog>
+      <el-table
+        class="center-align-table"
+        :data="tableData"
+        border
+        :cell-style="rowStyle"
+        stripe
+        style="width: 100%"
+      >
+        <!-- Table Columns -->
+        <el-table-column fixed prop="batchCode" align="center" label="批次编号">
+        </el-table-column>
+        <el-table-column prop="fieldCode" align="center" label="风场编号">
+        </el-table-column>
+        <el-table-column
+          prop="engineCount"
+          align="center"
+          label="机组数量"
+          width="100"
+        >
+        </el-table-column>
+        <el-table-column prop="" align="center" label="异常状态">
+          <template slot-scope="scope">
+            {{ scope.row.transferState == 2 ? "异常" : "未异常" }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="abnormal" label="异常信息">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.transferState == 2"
+              @click="particulars(scope.row)"
+              type="text"
+              size="small"
+              >详情</el-button
+            >
+            <span v-else>/</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="transferFinishTime"
+          align="center"
+          label="转换时间"
+        >
+        </el-table-column>
+        <el-table-column prop="" align="center" label="状态">
+          <template slot-scope="scope">
+            {{
+              scope.row.transferState == -1
+                ? "未转换"
+                : scope.row.transferState == 0
+                ? "转换中"
+                : scope.row.transferState == 1
+                ? "转换成功"
+                : scope.row.transferState == 2
+                ? "转换失败"
+                : "/"
+            }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="transferTypeName" align="center" label="类型">
+        </el-table-column>
+        <el-table-column
+          prop="transition"
+          align="center"
+          fixed="right"
+          label="操作"
+          width="150"
+        >
+          <template slot-scope="scope">
+            <el-button @click="handleEdit(scope.row)" type="text" size="small"
+              >编辑</el-button
+            >
+            <el-button @click="handleClick(scope.row)" type="text" size="small"
+              >下载</el-button
+            >
 
+            <el-button
+              v-if="
+                scope.row.transferState == -1 &&
+                (scope.row.transferFileAddr === null ||
+                  scope.row.transferFileAddr === '')
+              "
+              @click="editTransferState(scope.row, '转换')"
+              type="text"
+              size="small"
+              >转换</el-button
+            >
+            <el-button
+              v-else
+              @click="editTransferState(scope.row, '重新转换')"
+              type="text"
+              size="small"
+              >重新转换</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="pagination-container">
+        <el-pagination
+          @current-change="handleCurrentChange"
+          :current-page.sync="formInline.pageNum"
+          layout="total, prev, pager, next"
+          :page-size="formInline.pageSize"
+          :total="formInline.totalSize"
+        >
+        </el-pagination>
+      </div>
     </div>
-</template>
 
+    <!-- 弹出层 -->
+    <!-- 新增 -->
+    <el-dialog
+      title="新增"
+      :visible.sync="nuedialog"
+      class="dialogBox"
+      width="900px"
+    >
+      <div v-loading="loadingView" class="views">
+        <el-form ref="form" :model="newform" label-width="150px">
+          <el-row>
+            <el-form-item
+              label="批次编号:"
+              prop="batchCode"
+              :rules="batchCodeRules"
+            >
+              <el-select
+                v-model="newform.batchCode"
+                placeholder="请选择批次编号"
+                size="small"
+              >
+                <el-option
+                  v-for="item in batchList"
+                  :key="item"
+                  :label="item"
+                  :value="item"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-row>
+          <el-row
+            v-for="(item, index) in newform.dataTransferTypePathDtoList"
+            :key="item.transferType"
+          >
+            <el-col :span="11">
+              <el-form-item
+                :label="item.transferTypeName + ':'"
+                :prop="'transferFileAddr_' + index"
+                :rules="getFileAddrRules(index)"
+              >
+                <el-input
+                  v-model="item.transferFileAddr"
+                  :placeholder="'请输入' + item.transferTypeName"
+                  size="small"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="13">
+              <el-form-item
+                :label="item.timeGranularityName + ':'"
+                :prop="'timeGranularity_' + index"
+                :rules="getTimeGranularityRules(index)"
+              >
+                <el-input
+                  type="number"
+                  v-model="item.timeGranularity"
+                  :placeholder="'请输入' + item.timeGranularityName"
+                  size="small"
+                >
+                  <template slot="append">秒</template></el-input
+                >
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="cancel('form')" size="small">取 消</el-button>
+          <el-button type="primary" @click="newly('form')" size="small"
+            >确 定</el-button
+          >
+        </span>
+      </div>
+    </el-dialog>
+    <!-- 编辑 -->
+    <el-dialog
+      title="编辑"
+      :visible.sync="editNuedialog"
+      class="dialogBox"
+      width="900px"
+    >
+      <div v-loading="loadingViewEdit" class="views">
+        <el-form
+          ref="editForm"
+          :model="newEditForm"
+          label-width="160px"
+          :rules="editRules"
+        >
+          <el-row>
+            <el-form-item label="批次编号:" prop="batchCode">
+              <el-select
+                v-model="newEditForm.batchCode"
+                placeholder="请选择批次编号"
+                size="small"
+                disabled
+              >
+                <el-option
+                  v-for="item in batchList"
+                  :key="item"
+                  :label="item"
+                  :value="item"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-row>
+          <el-row>
+            <el-col :span="11">
+              <el-form-item
+                :label="
+                  newEditForm.dataTransferTypePathDtoList[0].transferTypeName +
+                  ':'
+                "
+                prop="dataTransferTypePathDtoList.0.transferFileAddr"
+              >
+                <!-- :rules="{
+                  required: true,
+                  message:
+                    '请输入' +
+                    newEditForm.dataTransferTypePathDtoList[0].transferTypeName,
+                  trigger: 'blur',
+                }" -->
+                <el-input
+                  disabled
+                  v-model="
+                    newEditForm.dataTransferTypePathDtoList[0].transferFileAddr
+                  "
+                  :placeholder="
+                    '请输入' +
+                    newEditForm.dataTransferTypePathDtoList[0].transferTypeName
+                  "
+                  size="small"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="13">
+              <el-form-item
+                :label="
+                  newEditForm.dataTransferTypePathDtoList[0]
+                    .timeGranularityName + ':'
+                "
+                prop="dataTransferTypePathDtoList.0.timeGranularity"
+                :rules="{
+                  required: true,
+                  message:
+                    '请输入' +
+                    newEditForm.dataTransferTypePathDtoList[0]
+                      .timeGranularityName,
+                  trigger: 'blur',
+                }"
+              >
+                <el-input
+                  type="number"
+                  v-model="
+                    newEditForm.dataTransferTypePathDtoList[0].timeGranularity
+                  "
+                  :placeholder="
+                    '请输入' +
+                    newEditForm.dataTransferTypePathDtoList[0]
+                      .timeGranularityName
+                  "
+                  size="small"
+                >
+                  <template slot="append">秒</template></el-input
+                >
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="editCancel('editForm')" size="small"
+            >取 消</el-button
+          >
+          <el-button type="primary" @click="editly('editForm')" size="small"
+            >确 定</el-button
+          >
+        </span>
+      </div>
+    </el-dialog>
+    <!-- 异常信息详情 -->
+    <el-dialog title="异常详情" :visible.sync="unusualdialog" width="800px">
+      {{ errInfo }}
+    </el-dialog>
+    <!-- 转换\重新转换 -->
+    <el-dialog
+      :title="editTransferStateTitle"
+      :visible.sync="editTransferStateLoading"
+      width="400px"
+    >
+      <div v-loading="loadingViewEdit" class="views">
+        <el-form
+          ref="editStateForm"
+          :model="editTransferStateForm"
+          label-width="160px"
+        >
+          <el-form-item
+            label="数据转换路径:"
+            prop="dataTransferTypePath"
+            :rules="{
+              required: true,
+              message: '请输入数据转换路径',
+              trigger: 'blur',
+            }"
+          >
+            <el-input
+              v-model="editTransferStateForm.dataTransferTypePath"
+              :placeholder="'请输入数据转换路径'"
+              size="small"
+            ></el-input>
+          </el-form-item>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="editstateCancel('editStateForm')" size="small"
+            >取 消</el-button
+          >
+          <el-button
+            type="primary"
+            @click="editStately('editStateForm')"
+            size="small"
+            >确 定</el-button
+          >
+        </span>
+      </div>
+    </el-dialog>
+  </div>
+</template>
 <script>
+import {
+  queryDataTransferList,
+  fieldBatchListForDataTransfer,
+  addDataTransferList,
+  editTimeGranularityQuery,
+  dataTransfer,
+} from "@/api/dataManage";
+import axios from "axios";
 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";
+  data() {
+    return {
+      editTransferStateForm: {
+        transferFileAddr: "",
+      },
+      editTransferStateTitle: "",
+      editTransferStateLoading: false,
+      loadingView: false,
+      formInline: {
+        batchCode: "",
+        transferState: "",
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0,
+      },
+      batchCodeRules: [
+        {
+          required: true,
+          message: "批次编号不能为空",
+          trigger: ["change", "blur"],
         },
-
-        // 查询
-        onSubmit() {
-            console.log('submit!');
+      ],
+      editRules: {
+        batchCode: {
+          required: true,
+          message: "批次编号不能为空",
+          trigger: ["change", "blur"],
         },
-        // 重置
-        reset() {
-
+      },
+      rules: {
+        batchCode: {
+          required: true,
+          message: "批次编号不能为空",
+          trigger: "change",
         },
-        // 新增
-        newly() {
-            this.nuedialog = false
+      },
+      errInfo: "",
+      stateDataList: [
+        {
+          lable: "未转换",
+          value: -1,
         },
-
-        //异常详情
-        particulars(row) {
-            this.unusualdialog = true;
+        {
+          lable: "转换中",
+          value: 0,
         },
-        // 下载
-        handleClick(row) { },
-        // 转换
-        transition(row) { },
-        // 重新转换
-        reconverted(row) { },
-
-
-    }
-
-}
+        {
+          lable: "转换成功",
+          value: 1,
+        },
+        {
+          lable: "转换失败",
+          value: 2,
+        },
+      ],
+      batchList: [],
+      tableData: [],
+      nuedialog: false,
+      unusualdialog: false,
+      newform: {
+        batchCode: "",
+        dataTransferTypePathDtoList: [],
+      },
+      editNuedialog: false,
+      loadingViewEdit: false,
+      newEditForm: {
+        batchCode: "",
+        dataTransferTypePathDtoList: [{}],
+      },
+    };
+  },
+  created() {
+    this.getTableList();
+    this.getBatchCodeList();
+  },
+  methods: {
+    editstateCancel(formName) {
+      this.$refs[formName] && this.$refs[formName].resetFields();
+      this.editTransferStateForm = {};
+      this.editTransferStateForm.dataTransferTypePath = "";
+      this.editTransferStateLoading = false;
+      this.loadingViewEdit = false;
+    },
+    editStately(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.loadingViewEdit = true;
+          dataTransfer({
+            dataTransferFileAddr:
+              this.editTransferStateForm.dataTransferTypePath,
+            dataTransferType: this.editTransferStateForm.transferType,
+            batchCode: this.editTransferStateForm.batchCode,
+          })
+            .then((res) => {
+              this.$message({
+                message: this.editTransferStateTitle + "成功",
+                type: "success",
+              });
+              this.getTableList();
+              this.editstateCancel();
+            })
+            .catch((error) => {
+              this.loadingViewEdit = false;
+            });
+        } else {
+          return false;
+        }
+      });
+    },
+    //转换\重新转换
+    editTransferState(row, title) {
+      this.editTransferStateForm = row;
+      this.editTransferStateTitle = title;
+      this.editTransferStateLoading = true;
+    },
+    handleEdit(row) {
+      this.editNuedialog = true;
+      this.newEditForm.batchCode = row.batchCode;
+      this.newEditForm.dataTransferTypePathDtoList[0] = row;
+    },
+    editCancel() {
+      this.newform = {
+        batchCode: "",
+        dataTransferTypePathDtoList: [{}],
+      };
+      this.editNuedialog = false;
+      this.loadingViewEdit = false;
+    },
+    editly(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.loadingViewEdit = true;
+          editTimeGranularityQuery({
+            timeGranularity:
+              this.newEditForm.dataTransferTypePathDtoList[0].timeGranularity,
+            transferType:
+              this.newEditForm.dataTransferTypePathDtoList[0].transferType,
+            batchCode: this.newEditForm.batchCode,
+          })
+            .then((res) => {
+              this.$message({
+                message: "编辑成功",
+                type: "success",
+              });
+              this.getTableList();
+              this.editCancel();
+            })
+            .catch((error) => {
+              console.log("shibai", error);
+              this.loadingViewEdit = false;
+            });
+        } else {
+          return false;
+        }
+      });
+    },
+    getFileAddrRules(index) {
+      return [{ validator: this.validateFileAddr, trigger: "blur" }];
+    },
+    getTimeGranularityRules(index) {
+      return [
+        {
+          validator: (rule, value, callback) =>
+            this.validateTimeGranularity(rule, value, callback, index),
+          trigger: "blur",
+        },
+      ];
+    },
+    validateFileAddr(rule, value, callback) {
+      // 判断是否至少有一项 transferFileAddr 有值
+      const hasFileAddr = this.newform.dataTransferTypePathDtoList.some(
+        (item) => item.transferFileAddr
+      );
+      if (!hasFileAddr) {
+        callback(new Error("请至少填写一个数据路径"));
+      } else {
+        callback();
+      }
+    },
+    validateTimeGranularity(rule, value, callback, index) {
+      // 判断对应的 transferFileAddr 有值,则对应的 timeGranularity 也必须有值
+      const currentItem = this.newform.dataTransferTypePathDtoList[index];
+      if (currentItem.transferFileAddr && !currentItem.timeGranularity) {
+        callback(new Error("请填写时间粒度"));
+      } else {
+        callback();
+      }
+    },
+    cancel(formName) {
+      this.$refs[formName] && this.$refs[formName].resetFields();
+      this.newform = {
+        batchCode: "",
+        dataTransferTypePathDtoList: [],
+      };
+      this.getBatchCodeList();
+      this.nuedialog = false;
+      this.loadingView = false;
+    },
+    rowStyle() {
+      return "text-align:center";
+    },
+    // 查询
+    onSubmit() {
+      this.getTableList();
+    },
+    // 重置
+    reset(formName) {
+      this.$refs[formName].resetFields();
+      this.getTableList();
+    },
+    // 新增
+    newly(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          console.log(this.newform, "newform");
+          this.loadingView = true;
+          addDataTransferList({ ...this.newform })
+            .then((res) => {
+              this.$message({
+                message: "新增成功",
+                type: "success",
+              });
+              this.getTableList();
+              this.cancel();
+            })
+            .catch(() => {
+              this.loadingView = false;
+            });
+        } else {
+          return false;
+        }
+      });
+    },
+    //异常详情
+    particulars(row) {
+      this.unusualdialog = true;
+      this.errInfo = row.errInfo;
+    },
+    // 下载
+    async handleClick(row) {
+      try {
+        const response = await axios.get("/downLoadApi", {
+          responseType: "text",
+        }); // 确保响应类型为文本
+        console.log(response, "结构");
+        const htmlContent = response.data; // HTML 内容
+        const blob = new Blob([htmlContent], { type: "text/html" }); // 创建 Blob 对象
+        const url = URL.createObjectURL(blob); // 创建临时 URL
+        window.open(url, "_blank"); // 在新标签页中打开该 URL
+      } catch (error) {
+        console.error("Failed to fetch data:", error);
+        this.$message.error("无法打开新链接");
+      }
+    },
+    // 转换
+    transition(row) {},
+    // 重新转换
+    reconverted(row) {},
+    async getTableList() {
+      try {
+        this.loading = true;
+        const result = await queryDataTransferList({
+          ...this.formInline,
+          totalSize: undefined,
+        });
+        this.tableData = result.data.list;
+        this.formInline.totalSize = result.data.totalSize;
+        this.loading = false;
+      } catch (error) {
+        this.$message({
+          type: "error",
+          message: "请检查是否连接网络",
+        });
+      }
+    },
+    //分页数据切换
+    handleCurrentChange(val) {
+      this.formInline.pageNum = val;
+      this.getTableList();
+    },
+    //新增按钮
+    addData() {
+      this.nuedialog = true;
+    },
+    //获取批次编号列表接口
+    async getBatchCodeList() {
+      try {
+        const result = await fieldBatchListForDataTransfer();
+        this.batchList = result.data.batchCodeList;
+        this.newform.dataTransferTypePathDtoList =
+          result.data.dataTransferTypeVoList;
+      } catch (error) {}
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-
-</style>
+::v-deep.dialogBox {
+  .el-form-item__content .el-input--small .el-input__inner {
+    width: 188px !important;
+  }
+  .el-row {
+    margin: 5px 0;
+  }
+  .dialog-footer {
+    margin-top: 20px;
+    justify-content: center !important;
+  }
+  .el-input-group {
+    width: auto;
+  }
+}
+</style>

+ 63 - 63
src/views/home/components/mockData.js

@@ -114,69 +114,69 @@ export const orgList = [
       },
     ],
   },
-  {
-    name: "台账管理",
-    iconName: "Ledger",
-    path: "Ledger",
-    meta: {
-      hidden: false,
-    },
-    id: "4",
-    component: () =>
-      import(/*webpackChunkName:'system'*/ "@/views/system/index.vue"),
-    children: [
-      {
-        id: 41,
-        name: "企业信息",
-        path: "enterprise",
-        meta: {
-          hidden: false,
-        },
-        component: () =>
-          import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/enterprise.vue"),
-      },
-      {
-        id: 42,
-        name: "风场信息",
-        path: "windsite",
-        meta: {
-          hidden: false,
-        },
-        component: () =>
-          import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/windsite.vue"),
-      },
-      {
-        id: 43,
-        name: "风机信息",
-        path: "draught",
-        meta: {
-          hidden: false,
-        },
-        component: () =>
-          import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/draught.vue"),
-      },
-      {
-        id: 44,
-        name: "机型信息",
-        path: "milltype",
-        meta: {
-          hidden: false,
-        },
-        component: () =>
-          import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/milltype.vue"),
-      },
-      {
-        id: 45,
-        name: "测风塔信息",
-        path: "anemometer",
-        meta: {
-          hidden: false,
-        },
-        component: () =>
-          import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/anemometer.vue"),
-      },
-    ],
-  },
+  // {
+  //   name: "台账管理",
+  //   iconName: "Ledger",
+  //   path: "Ledger",
+  //   meta: {
+  //     hidden: false,
+  //   },
+  //   id: "4",
+  //   component: () =>
+  //     import(/*webpackChunkName:'system'*/ "@/views/system/index.vue"),
+  //   children: [
+  //     {
+  //       id: 41,
+  //       name: "企业信息",
+  //       path: "enterprise",
+  //       meta: {
+  //         hidden: false,
+  //       },
+  //       component: () =>
+  //         import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/enterprise.vue"),
+  //     },
+  //     {
+  //       id: 42,
+  //       name: "风场信息",
+  //       path: "windsite",
+  //       meta: {
+  //         hidden: false,
+  //       },
+  //       component: () =>
+  //         import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/windsite.vue"),
+  //     },
+  //     {
+  //       id: 43,
+  //       name: "风机信息",
+  //       path: "draught",
+  //       meta: {
+  //         hidden: false,
+  //       },
+  //       component: () =>
+  //         import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/draught.vue"),
+  //     },
+  //     {
+  //       id: 44,
+  //       name: "机型信息",
+  //       path: "milltype",
+  //       meta: {
+  //         hidden: false,
+  //       },
+  //       component: () =>
+  //         import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/milltype.vue"),
+  //     },
+  //     {
+  //       id: 45,
+  //       name: "测风塔信息",
+  //       path: "anemometer",
+  //       meta: {
+  //         hidden: false,
+  //       },
+  //       component: () =>
+  //         import(/*webpackChunkName:'Ledger'*/ "@/views/ledger/anemometer.vue"),
+  //     },
+  //   ],
+  // },
   {
     name: "权限管理",
     iconName: "jurisdiction",

+ 3 - 2
src/views/performance/assetssDetail.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-05-27 09:25:45
- * @LastEditTime: 2024-05-31 16:18:29
+ * @LastEditTime: 2024-06-03 11:19:17
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/assetssDetail.vue
@@ -9,6 +9,7 @@
 <template>
   <div class="global-variable">
     <h2 style="text-align: center">分析历史记录总览</h2>
+    <el-button type="primary" @click="() => $router.go(-1)">返回</el-button>
     <h4>分析时间:2020-04-20 10:10:10</h4>
     <el-card class="box-card analysisType">
       <el-row>
@@ -51,7 +52,7 @@ export default {
       width: 100%;
       height: 100%;
     }
-    img{
+    img {
       width: 100%;
       height: 100%;
     }

+ 122 - 151
src/views/performance/batchMag.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-05-27 09:23:37
- * @LastEditTime: 2024-05-28 14:23:30
+ * @LastEditTime: 2024-06-03 16:25:45
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/batchMag.vue
@@ -16,22 +16,31 @@
         class="demo-form-inline"
         :rules="rules"
       >
-        <el-form-item label="风场名称:" prop="userName">
+        <el-form-item label="风场名称:" prop="fieldName">
           <el-input
             size="small"
-            v-model="formInline.userName"
+            v-model="formInline.fieldName"
             placeholder="请输入风场名称"
           ></el-input>
         </el-form-item>
-        <el-form-item label="状态:" prop="roleAvailable" size="small">
-          <el-select
-            v-model="formInline.roleAvailable"
-            placeholder="请选择状态"
-          >
+        <el-form-item label="状态:" prop="batchState" size="small">
+          <el-select v-model="formInline.batchState" placeholder="请选择状态">
             <el-option label="启用" value="1"></el-option>
             <el-option label="停用" value="0"></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="分析时间">
+          <el-date-picker
+            size="small"
+            v-model="formInline.picker"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            @change="onDateChange"
+          >
+          </el-date-picker>
+        </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="onSubmit" size="small"
             >查询</el-button
@@ -53,35 +62,31 @@
         border
         :cell-style="rowStyle"
       >
+        <el-table-column align="center" label="批次名称" prop="batchName">
+        </el-table-column>
+        <el-table-column align="center" label="批次编号" prop="batchCode">
+        </el-table-column>
+        <el-table-column prop="fieldName" align="center" label="关联风场">
+        </el-table-column>
         <el-table-column
+          prop="batchState"
           align="center"
-          fixed
-          prop="userId"
-          label="员工ID"
+          label="状态"
           width="100"
         >
-        </el-table-column>
-
-        <el-table-column align="center" label="批次编号" prop="userName">
-        </el-table-column>
-
-        <el-table-column prop="loginName" align="center" label="关联风场">
-        </el-table-column>
-
-        <el-table-column prop="state" align="center" label="状态" width="100">
           <template slot-scope="scope">
             <span>
               {{
-                scope.row.state == 0
-                  ? "未启用"
-                  : scope.row.state == 1
+                scope.row.batchState == 0
+                  ? "禁用"
+                  : scope.row.batchState == 1
                   ? "启用"
-                  : "禁用"
+                  : "/"
               }}</span
             >
           </template>
         </el-table-column>
-        <el-table-column prop="roleName" align="center" label="创建时间">
+        <el-table-column prop="createTime" align="center" label="创建时间">
         </el-table-column>
         <el-table-column
           prop="transition"
@@ -95,8 +100,8 @@
               >编辑</el-button
             >
             <el-button
-              v-if="scope.row.state == 0 || scope.row.state == 2"
-              @click="setState(1, scope.row.userId)"
+              v-if="scope.row.batchState == 0"
+              @click="setState(1, scope.row)"
               type="text"
               size="small"
               >启用</el-button
@@ -104,10 +109,10 @@
             <el-button
               v-else
               style="color: #666"
-              @click="setState(2, scope.row.userId)"
+              @click="setState(0, scope.row)"
               type="text"
               size="small"
-              >用</el-button
+              >用</el-button
             >
 
             <el-button
@@ -143,22 +148,23 @@
           label-width="100px"
           class="demo-ruleForm"
         >
-          <el-form-item label="关联风场:" prop="roleId">
+          <el-form-item label="关联风场:" prop="fieldCode">
             <el-select
-              v-model="ruleForm.roleId"
+              :disabled="title === '编辑'"
+              v-model="ruleForm.fieldCode"
               placeholder="请选择关联风场"
               style="width: 100%"
             >
               <el-option
-                :label="item.roleDescription"
-                v-for="item in roleList"
-                :value="item.id + ''"
+                :label="item.fieldName"
+                v-for="item in fieldCodeList"
+                :value="item.codeNumber"
               ></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="批次名称" prop="phone">
+          <el-form-item label="批次名称" prop="batchName">
             <el-input
-              v-model="ruleForm.phone"
+              v-model="ruleForm.batchName"
               placeholder="请输入批次名称"
             ></el-input>
           </el-form-item>
@@ -181,76 +187,48 @@
 
 <script>
 import {
-  getUserTableList,
-  getRoleTableList,
-  enableUser,
-  disableUser,
-  getUserInfoByUserId,
-  addUser,
-  editUser,
-  deleteUserInfo,
-  updatePWD,
-} from "@/api/system.js";
+  getBatchMagList,
+  addFieldBatch,
+  updateFieldBatch,
+  queryCodeNum,
+  onOrOffFieldBatch,
+  deleteFieldBatch,
+} from "@/api/performance.js";
 export default {
   data() {
-    const validateUserName = (rule, value, callback) => {
-      const regex = /^[^\u4e00-\u9fa5\W]+$/;
-      if (!value) {
-        callback(new Error("账号名称不能为空"));
-      } else if (!regex.test(value)) {
-        callback(new Error("账号名称不能包含中文及特殊字符"));
-      } else {
-        callback();
-      }
-    };
-    const validatePhone = (rule, value, callback) => {
-      const phoneRegex = /^[1][3-9][0-9]{9}$/;
-      if (!value) {
-        return callback(new Error("手机号不能为空"));
-      }
-      if (!phoneRegex.test(value)) {
-        return callback(new Error("请输入正确的手机号"));
-      }
-      callback();
-    };
     return {
       loadingView: false,
       loading: false, //数据加载中
       rules: {
-        roleId: { trigger: "change" },
-        userName: { trigger: "blur" },
+        fieldCode: { trigger: "change" },
+        batchState: { trigger: "blur" },
       },
-      roleList: [],
+      startDate: "",
+      endDate: "",
+      fieldCodeList: [],
       formInline: {
-        userName: undefined,
-        roleId: undefined,
+        fieldName: undefined,
+        batchState: undefined,
+        picker: [],
         pageNum: 1,
         pageSize: 10,
-        // sort: "desc",
         totalSize: 0,
       },
       tableData: [],
       // 新增编辑表单
       ruleForm: {
-        phone: null,
-        pwd: null,
-        roleId: null,
-        userName: null,
-        loginName: null,
+        fieldCode: null,
+        batchName: null,
+        batchCode: null,
       },
       addUserRules: {
-        phone: [
-          { required: true, message: "请输入手机号", trigger: "blur" },
-          { validator: validatePhone, trigger: "blur" },
-        ],
-        loginName: [
-          { required: true, message: "请输入账号名称", trigger: "blur" },
-          { validator: validateUserName, trigger: "blur" },
-        ],
-        pwd: { required: true, message: "请输入密码", trigger: "blur" },
-        roleId: { required: true, message: "请选择角色", trigger: "change" },
-        userName: [
-          { required: true, message: "请输入员工姓名", trigger: "blur" },
+        batchCode: {
+          required: true,
+          message: "请选择关联风场",
+          trigger: "change",
+        },
+        batchName: [
+          { required: true, message: "请输入批次名称", trigger: "blur" },
         ],
       },
       //修改密码
@@ -259,59 +237,66 @@ export default {
         newPWD: "",
         userId: "",
       },
+
       nuedialog: false,
       title: "",
     };
   },
   created() {
     this.getTableList();
-    this.getRoleList();
+    this.getQueryCodeNumList();
   },
 
   methods: {
+    onDateChange(date) {
+      if (Array.isArray(date)) {
+        this.startDate = this.$formatDate(date[0]);
+        this.endDate = this.$formatDate(date[1]);
+        if (this.endDate < this.startDate) {
+          this.endDate = this.startDate;
+        }
+      } else {
+        this.startDate = null;
+        this.endDate = null;
+      }
+    },
+    //获取风场列表
+    async getQueryCodeNumList() {
+      const result = await queryCodeNum();
+      console.log(result, "result");
+      this.fieldCodeList = result.data.fieldCodeList;
+    },
     //分页数据切换
     handleCurrentChange(val) {
       this.formInline.pageNum = val;
       this.getTableList();
     },
     //修改状态
-    setState(state, userId) {
-      switch (state) {
-        case 1:
-          //启用接口
-          enableUser({ userId })
-            .then((res) => {
-              this.$message({
-                message: res.msg,
-                type: "success",
-              });
-              this.getTableList();
-            })
-            .catch((error) => {});
-          break;
-        case 2:
-          //禁用接口
-          disableUser({ userId })
-            .then((res) => {
-              this.$message({
-                message: res.msg,
-                type: "success",
-              });
-              this.getTableList();
-            })
-            .catch((error) => {});
-          break;
-        default:
-          return;
-      }
+    setState(state, row) {
+      //启用接口
+      onOrOffFieldBatch({ batchCode: row.batchCode, batchState: state })
+        .then((res) => {
+          console.log(res, "res");
+          this.$message({
+            message: res.msg,
+            type: "success",
+          });
+          this.getTableList();
+        })
+        .catch((error) => {});
     },
     async getTableList() {
       try {
         this.loading = true;
-        const result = await getUserTableList({
+        console.log(this.startDate, this.endDate, "formInline");
+        const result = await getBatchMagList({
           ...this.formInline,
+          picker: undefined,
+          startTime: this.startDate || undefined,
+          endTime: this.endDate || undefined,
           totalSize: undefined,
         });
+        console.log(result.data, "res.data");
         this.tableData = result.data.list;
         this.formInline.totalSize = result.data.totalSize;
         this.loading = false;
@@ -322,17 +307,7 @@ export default {
         });
       }
     },
-    async getRoleList() {
-      try {
-        const result = await getRoleTableList({ pageNum: 1, pageSize: 100000 });
-        this.roleList = result.data.list;
-      } catch (error) {
-        this.$message({
-          type: "error",
-          message: "请检查是否连接网络",
-        });
-      }
-    },
+
     rowStyle() {
       return "text-align:center";
     },
@@ -342,6 +317,9 @@ export default {
     },
     // 重置
     reset(formName) {
+      this.formInline.picker = [];
+      this.startDate = undefined;
+      this.endDate = undefined;
       this.$refs[formName].resetFields();
       this.getTableList();
     },
@@ -351,9 +329,10 @@ export default {
       this.$refs[formName].validate((valid) => {
         if (valid) {
           this.loadingView = true;
+          console.log(this.ruleForm, "this.ruleForm");
           switch (this.title) {
             case "新增":
-              addUser({ ...this.ruleForm, userId: undefined })
+              addFieldBatch({ ...this.ruleForm, batchCode: undefined })
                 .then((res) => {
                   this.$message({
                     type: "success",
@@ -369,7 +348,7 @@ export default {
 
               break;
             case "编辑":
-              editUser({ ...this.ruleForm })
+              updateFieldBatch({ ...this.ruleForm, fieldCode: undefined })
                 .then((res) => {
                   this.$message({
                     type: "success",
@@ -395,12 +374,9 @@ export default {
     cancel(formName) {
       this.$refs[formName] && this.$refs[formName].resetFields();
       this.ruleForm = {
-        phone: null,
-        pwd: null,
-        roleId: null,
-        userName: null,
-        userId: null,
-        loginName: null,
+        fieldCode: null,
+        batchCode: null,
+        batchName: null,
       };
       this.nuedialog = false;
       this.loadingView = false;
@@ -408,16 +384,11 @@ export default {
     // 编辑 回显数据
     async compile(row) {
       try {
-        const result = await getUserInfoByUserId({ userId: row.userId });
-        const userInfo = result.data;
         // 直接替换整个对象,以确保 Vue 的响应式系统能够检测到变化
         this.ruleForm = {
-          phone: userInfo.userPhone,
-          pwd: undefined, // 如果需要重置密码字段
-          roleId: userInfo.roleId.toString(),
-          userName: userInfo.userName,
-          userId: userInfo.userId, // 如果需要用户ID
-          loginName: userInfo.loginName,
+          fieldCode: row.fieldCode,
+          batchCode: row.batchCode,
+          batchName: row.batchName,
         };
         this.nuedialog = true;
         this.title = "编辑";
@@ -433,7 +404,7 @@ export default {
         type: "warning",
       })
         .then(() => {
-          deleteUserInfo({ userId: row.userId })
+          deleteFieldBatch({ batchCode: row.batchCode })
             .then((res) => {
               this.$message({
                 type: "success",
@@ -454,9 +425,9 @@ export default {
     newnuedialog() {
       this.cancel("addUserForm");
       this.ruleForm = {
-        loginName: "",
-        pwd: "",
-        userName: "",
+        batchCode: "",
+        batchName: "",
+        fieldCode: "",
       };
       this.nuedialog = true;
       this.title = "新增";

+ 1 - 1
src/views/performance/components/EditAnalysis.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2024-05-29 09:14:23
- * @LastEditTime: 2024-05-31 16:24:14
+ * @LastEditTime: 2024-06-03 09:38:23
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/performance/components/EditAnalysis.vue

+ 1 - 1
src/views/performance/components/analysisEvent.vue

@@ -558,7 +558,7 @@ export default {
     .right {
       height: 450px;
       width: 100%;
-      iframe{
+      iframe {
         width: 100%;
         height: 100%;
       }

+ 163 - 41
src/views/system/userMag/index.vue

@@ -1,9 +1,19 @@
 <template>
   <div class="global-variable">
     <div class="condition">
-      <el-form :inline="true" ref="ruleForm" :model="formInline" class="demo-form-inline" :rules="rules">
+      <el-form
+        :inline="true"
+        ref="ruleForm"
+        :model="formInline"
+        class="demo-form-inline"
+        :rules="rules"
+      >
         <el-form-item label="用户名称:" prop="userName">
-          <el-input size="small" v-model="formInline.userName" placeholder="请输入用户名称"></el-input>
+          <el-input
+            size="small"
+            v-model="formInline.userName"
+            placeholder="请输入用户名称"
+          ></el-input>
         </el-form-item>
         <el-form-item label="角色名称:" prop="roleId">
           <el-select
@@ -20,17 +30,33 @@
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button type="primary" @click="onSubmit" size="small">查询</el-button>
+          <el-button type="primary" @click="onSubmit" size="small"
+            >查询</el-button
+          >
           <el-button @click="reset('ruleForm')" 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>
+        <el-button type="primary" @click="newnuedialog" size="small"
+          >新增</el-button
+        >
       </div>
-      <el-table v-loading="loading" class="center-align-table" :data="tableData" border :cell-style="rowStyle">
-        <el-table-column align="center" fixed prop="userId" label="员工ID" width="100">
+      <el-table
+        v-loading="loading"
+        class="center-align-table"
+        :data="tableData"
+        border
+        :cell-style="rowStyle"
+      >
+        <el-table-column
+          align="center"
+          fixed
+          prop="userId"
+          label="员工ID"
+          width="100"
+        >
         </el-table-column>
 
         <el-table-column align="center" label="员工名称" prop="userName">
@@ -50,27 +76,64 @@
                 scope.row.state == 0
                   ? "未启用"
                   : scope.row.state == 1
-                    ? "启用"
-                    : "禁用"
-              }}</span>
+                  ? "启用"
+                  : "禁用"
+              }}</span
+            >
           </template>
         </el-table-column>
 
-        <el-table-column prop="transition" align="center" fixed="right" label="操作" width="200">
+        <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.state == 0 || scope.row.state == 2" @click="setState(1, scope.row.userId)"
-              type="text" size="small">启用</el-button>
-            <el-button v-else style="color: #666" @click="setState(2, scope.row.userId)" type="text"
-              size="small">停用</el-button>
-            <el-button style="color: #f90" @click="editPwd(scope.row)" type="text" size="small">修改密码</el-button>
-            <el-button style="color: #f00" @click="deleted(scope.row)" type="text" size="small">删除</el-button>
+            <el-button @click="compile(scope.row)" type="text" size="small"
+              >编辑</el-button
+            >
+            <el-button
+              v-if="scope.row.state == 0 || scope.row.state == 2"
+              @click="setState(1, scope.row.userId)"
+              type="text"
+              size="small"
+              >启用</el-button
+            >
+            <el-button
+              v-else
+              style="color: #666"
+              @click="setState(2, scope.row.userId)"
+              type="text"
+              size="small"
+              >停用</el-button
+            >
+            <el-button
+              style="color: #f90"
+              @click="editPwd(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 @current-change="handleCurrentChange" :current-page.sync="formInline.pageNum"
-          layout="total, prev, pager, next" :page-size="formInline.pageSize" :total="formInline.totalSize">
+        <el-pagination
+          @current-change="handleCurrentChange"
+          :current-page.sync="formInline.pageNum"
+          layout="total, prev, pager, next"
+          :page-size="formInline.pageSize"
+          :total="formInline.totalSize"
+        >
         </el-pagination>
       </div>
     </div>
@@ -79,18 +142,39 @@
     <!-- 新增 /编辑-->
     <el-dialog :title="title" :visible.sync="nuedialog" width="500px">
       <div v-loading="loadingView" class="views">
-        <el-form :model="ruleForm" :rules="addUserRules" ref="addUserForm" label-width="100px" class="demo-ruleForm">
+        <el-form
+          :model="ruleForm"
+          :rules="addUserRules"
+          ref="addUserForm"
+          label-width="100px"
+          class="demo-ruleForm"
+        >
           <el-form-item label="员工名称" prop="userName">
-            <el-input v-model="ruleForm.userName" placeholder="请输入员工名称"></el-input>
+            <el-input
+              v-model="ruleForm.userName"
+              placeholder="请输入员工名称"
+            ></el-input>
           </el-form-item>
           <el-form-item label="电话号码" prop="phone">
-            <el-input v-model="ruleForm.phone" placeholder="请输入电话号码"></el-input>
+            <el-input
+              v-model="ruleForm.phone"
+              placeholder="请输入电话号码"
+            ></el-input>
           </el-form-item>
           <el-form-item label="账号名称" prop="loginName">
-            <el-input v-model="ruleForm.loginName" placeholder="请输入账号名称" autocomplete="off"></el-input>
+            <el-input
+              v-model="ruleForm.loginName"
+              placeholder="请输入账号名称"
+              autocomplete="off"
+            ></el-input>
           </el-form-item>
           <el-form-item label="密码" prop="pwd" v-if="title === '新增'">
-            <el-input v-model="ruleForm.pwd" autocomplete="new-password" show-password placeholder="请输入密码"></el-input>
+            <el-input
+              v-model="ruleForm.pwd"
+              autocomplete="new-password"
+              show-password
+              placeholder="请输入密码"
+            ></el-input>
           </el-form-item>
           <el-form-item label="角色名称:" prop="roleId">
             <el-select
@@ -108,30 +192,68 @@
           </el-form-item>
         </el-form>
         <span slot="footer" class="dialog-footer">
-          <el-button @click="cancel('addUserForm')" size="small">取 消</el-button>
-          <el-button type="primary" @click="submitForm('addUserForm')" size="small">确 定</el-button>
+          <el-button @click="cancel('addUserForm')" size="small"
+            >取 消</el-button
+          >
+          <el-button
+            type="primary"
+            @click="submitForm('addUserForm')"
+            size="small"
+            >确 定</el-button
+          >
         </span>
       </div>
     </el-dialog>
     <!-- 风场详情 -->
     <el-dialog title="修改密码" :visible.sync="unusualdialog" width="500px">
       <div v-loading="loadingView" class="views">
-        <el-form :model="editUserPassword" ref="editUserPassword" label-width="100px" class="demo-ruleForm">
-          <el-form-item label="旧密码" prop="oldPWD" :rules="[{ required: true, message: '旧密码不能为空' }]">
-            <el-input v-model.number="editUserPassword.oldPWD" autocomplete="off" show-password></el-input>
+        <el-form
+          :model="editUserPassword"
+          ref="editUserPassword"
+          label-width="100px"
+          class="demo-ruleForm"
+        >
+          <el-form-item
+            label="旧密码"
+            prop="oldPWD"
+            :rules="[{ required: true, message: '旧密码不能为空' }]"
+          >
+            <el-input
+              v-model.number="editUserPassword.oldPWD"
+              autocomplete="off"
+              show-password
+            ></el-input>
           </el-form-item>
-          <el-form-item label="新密码" prop="newPWD" :rules="[{ required: true, message: '新密码不能为空' }]">
-            <el-input v-model.number="editUserPassword.newPWD" autocomplete="off" show-password></el-input>
+          <el-form-item
+            label="新密码"
+            prop="newPWD"
+            :rules="[{ required: true, message: '新密码不能为空' }]"
+          >
+            <el-input
+              v-model.number="editUserPassword.newPWD"
+              autocomplete="off"
+              show-password
+            ></el-input>
           </el-form-item>
         </el-form>
         <span slot="footer" class="dialog-footer">
-          <el-button @click="() => {
-              this.$refs['editUserPassword'].resetFields();
-              this.unusualdialog = false;
-              this.loadingView = false;
-            }
-            " size="small">取 消</el-button>
-          <el-button type="primary" @click="editUserPwd('editUserPassword')" size="small">确 定</el-button>
+          <el-button
+            @click="
+              () => {
+                this.$refs['editUserPassword'].resetFields();
+                this.unusualdialog = false;
+                this.loadingView = false;
+              }
+            "
+            size="small"
+            >取 消</el-button
+          >
+          <el-button
+            type="primary"
+            @click="editUserPwd('editUserPassword')"
+            size="small"
+            >确 定</el-button
+          >
         </span>
       </div>
     </el-dialog>
@@ -270,7 +392,7 @@ export default {
               });
               this.getTableList();
             })
-            .catch((error) => { });
+            .catch((error) => {});
           break;
         case 2:
           //禁用接口
@@ -282,7 +404,7 @@ export default {
               });
               this.getTableList();
             })
-            .catch((error) => { });
+            .catch((error) => {});
           break;
         default:
           return;
@@ -429,7 +551,7 @@ export default {
               });
               this.getTableList();
             })
-            .catch(() => { });
+            .catch(() => {});
         })
         .catch(() => {
           this.$message({

+ 9 - 1
vue.config.js

@@ -65,13 +65,21 @@ module.exports = {
     proxy: {
       "/api": {
         // target: "http://192.168.5.4:16200", // 石月
-        target: "http://192.168.50.235:16200", //内网
+        // target: "http://192.168.50.235:16200", //内网
+        target: "http://192.168.5.15:16200",
         // target: "http://106.120.102.238:16600", //外网
         changeOrigin: true,
         pathRewrite: {
           "^/api": "", // 需要rewrite重写的,
         },
       },
+      "/downLoadApi": {
+        target: "http://192.168.50.241:8080", //http://192.168.50.241:8080/
+        changeOrigin: true,
+        pathRewrite: {
+          "^/downLoadApi": "", // 需要rewrite重写的,
+        },
+      },
     },
   },