소스 검색

工作区域修改

pm 1 년 전
부모
커밋
b862d67683

+ 1 - 1
src/api/mes/wa/workarea.js

@@ -19,7 +19,7 @@ export function getIsWorkareaList(query) {
 // 获取工作区域详细信息
 export function getWorkareaInfo(repairId) {
   return request({
-    url: '/iscs/workarea/selectIsWorkareaById/?workareaId=' + repairId,
+    url: '/iscs/workarea/selectIsWorkareaById?workareaId=' + repairId,
     method: 'get'
   })
 }

+ 3 - 3
src/views/index_v1.vue

@@ -40,9 +40,9 @@
     <el-row :gutter="20">
       <el-col :sm="24" :lg="12" style="padding-left: 20px">
         <h2>国软后台管理框架</h2>
-        <p>
-          一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了国软管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
-        </p>
+<!--        <p>-->
+<!--          一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了国软管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。-->
+<!--        </p>-->
         <p>
           <b>当前版本:</b> <span>v{{ version }}</span>
         </p>

+ 186 - 92
src/views/mes/md/segregationpoint/index.vue

@@ -1,4 +1,4 @@
-<template>
+    <template>
   <div class="app-container">
     <el-form
       :model="queryParams"
@@ -45,6 +45,7 @@
       </el-form-item>
       <el-form-item label="危险能量类型" prop="powerType">
         <el-select
+          style="width: 300px"
           v-model="queryParams.powerType"
           placeholder="请选择危险能量类型"
         >
@@ -232,14 +233,14 @@
     />
 
     <!-- 添加或修改班组对话框 -->
-    <el-dialog :visible.sync="open" width="660px" append-to-body>
+    <el-dialog :visible.sync="open" width="960px" append-to-body>
       <div slot="title" class="dialog-title">
         <i></i>
         <span class="title">{{ title }}</span>
       </div>
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
         <el-row>
-          <el-col :span="13">
+          <el-col :span="8">
             <el-form-item label="隔离点编码" prop="pointCode">
               <el-input
                 v-model="form.pointCode"
@@ -247,7 +248,7 @@
               />
             </el-form-item>
           </el-col>
-          <el-col :span="6">
+          <el-col :span="4">
             <el-form-item label-width="80">
               <el-switch
                 v-model="autoGenFlag"
@@ -259,93 +260,153 @@
               </el-switch>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label-width="80" label="锁具名称" prop="lockName">
+              <el-input
+                style="width: 300px"
+                v-model="form.lockName"
+                placeholder="请输入锁具名称"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
-        <el-form-item label="隔离点名称" prop="pointName">
-          <el-input
-            style="width: 318px"
-            v-model="form.pointName"
-            placeholder="请输入隔离点名称"
-          />
-        </el-form-item>
-        <el-form-item label="所属车间" prop="workshopId">
-          <el-select
-            style="width: 318px"
-            v-model="form.workshopId"
-            placeholder="请选择所属车间"
-            @change="workShopChange"
-          >
-            <el-option
-              v-for="item in this.workshopList"
-              :key="item.key"
-              :label="item.label"
-              :value="item.value"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="所属区域" prop="workareaId">
-          <el-select
-            style="width: 318px"
-            v-model="form.workareaId"
-            placeholder="请选择所属区域"
-          >
-            <el-option
-              v-for="dict in this.workareaList"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="隔离点类型" prop="pointType">
-          <el-select
-            style="width: 318px"
-            v-model="form.pointType"
-            placeholder="请选择隔离点类型"
-          >
-            <el-option
-              v-for="dict in dict.type.point_type"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="危险能量类型" prop="powerType">
-          <el-select
-            style="width: 318px"
-            v-model="form.powerType"
-            placeholder="请选择危险能量类型"
-          >
-            <el-option
-              v-for="dict in dict.type.power_type"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="隔离点图标" prop="pointIcon">
-          <ImageUpload
-            :limit="1"
-            :value="form.pointIcon"
-            :fileSize="5"
-            @onUploaded="handleIconUplaoded"
-            @onRemoved="handleIconRemoved"
-          ></ImageUpload>
-        </el-form-item>
-        <el-form-item label="隔离点图片" prop="pointPicture">
-          <ImageUpload
-            :limit="1"
-            :value="form.pointPicture"
-            :fileSize="5"
-            @onUploaded="handleImgUplaoded"
-            @onRemoved="handleImgRemoved"
-          ></ImageUpload>
-        </el-form-item>
-        <!-- <el-form-item label="隔离点状态" prop="calendarType">
-          <el-radio v-model="radio" label="1">启用</el-radio>
-          <el-radio v-model="radio" label="2">停用</el-radio>
-        </el-form-item> -->
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="隔离点名称" prop="pointName">
+              <el-input
+                style="width: 300px"
+                v-model="form.pointName"
+                placeholder="请输入隔离点名称"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label-width="80" label="锁具类型" prop="lockType">
+              <el-select
+                style="width: 300px"
+                v-model="form.lockType"
+                placeholder="请选择锁具类型"
+              >
+                <el-option
+                  v-for="dict in dict.type.lock_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="11">
+            <el-form-item label="隔离点类型" prop="pointType">
+              <el-select
+                style="width: 300px"
+                v-model="form.pointType"
+                placeholder="请选择隔离点类型"
+              >
+                <el-option
+                  v-for="dict in dict.type.point_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+
+
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="危险能量类型" prop="powerType">
+              <el-select
+                style="width: 300px"
+                v-model="form.powerType"
+                placeholder="请选择危险能量类型"
+              >
+                <el-option
+                  v-for="dict in dict.type.power_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="作业区域" prop="workareaId">
+<!--              <el-select-->
+<!--                style="width: 300px"-->
+<!--                v-model="form.workareaId"-->
+<!--                placeholder="请选择工作区域"-->
+<!--              >-->
+<!--                <el-option-->
+<!--                  v-for="dict in this.workareaList"-->
+<!--                  :key="dict.value"-->
+<!--                  :label="dict.label"-->
+<!--                  :value="dict.value"-->
+<!--                />-->
+<!--              </el-select>-->
+
+                <treeselect style="width: 300px" v-model="form.workareaId" :options="deptOptions" :normalizer="normalizer"
+                            placeholder="选择作业区域"
+                />
+              </el-form-item>
+
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="7">
+            <el-form-item label="隔离点图标" prop="pointIcon">
+              <ImageUpload
+                :limit="1"
+                :value="form.pointIcon"
+                :fileSize="5"
+                @onUploaded="handleIconUplaoded"
+                @onRemoved="handleIconRemoved"
+              ></ImageUpload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="7">
+            <el-form-item label="隔离点图片" prop="pointPicture">
+              <ImageUpload
+                :limit="1"
+                :value="form.pointPicture"
+                :fileSize="5"
+                @onUploaded="handleImgUplaoded"
+                @onRemoved="handleImgRemoved"
+              ></ImageUpload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="7">
+              <el-form-item label="锁具图片" prop="lockImg">
+                <ImageUpload
+                  :limit="1"
+                  :value="form.lockImg"
+                  :fileSize="5"
+                  @onUploaded="handleIconUplaoded1"
+                  @onRemoved="handleIconRemoved1"
+                ></ImageUpload>
+              </el-form-item>
+          </el-col>
+        </el-row>
+<!--        <el-form-item label="所属车间" prop="workshopId">-->
+<!--          <el-select-->
+<!--            style="width: 318px"-->
+<!--            v-model="form.workshopId"-->
+<!--            placeholder="请选择所属车间"-->
+<!--            @change="workShopChange"-->
+<!--          >-->
+<!--            <el-option-->
+<!--              v-for="item in this.workshopList"-->
+<!--              :key="item.key"-->
+<!--              :label="item.label"-->
+<!--              :value="item.value"-->
+<!--            />-->
+<!--          </el-select>-->
+<!--        </el-form-item>-->
+
       </el-form>
 
       <div slot="footer" class="dialog-footer">
@@ -367,10 +428,15 @@ import {
   deleteIsIsolationPointByPointIds,
 } from "@/api/mes/spm/segregationPoint";
 import { genCode } from "@/api/system/autocode/rule";
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import { listWorkarea } from '@/api/mes/wa/workarea'
+
 
 export default {
   name: "Team",
-  dicts: ["power_type", "point_type"],
+  components: { Treeselect },
+  dicts: ["power_type", "point_type",'lock_type'],
   data() {
     return {
       //自动生成编码
@@ -385,6 +451,8 @@ export default {
       single: true,
       // 非多个禁用
       multiple: true,
+      // 部门树选项
+      deptOptions: [],
       // 显示搜索条件
       showSearch: true,
       // 总条数
@@ -459,8 +527,11 @@ export default {
           { required: true, message: "所属车间不能为空", trigger: "blur" },
         ],
         workareaId: [
-          { required: true, message: "所属区域不能为空", trigger: "blur" },
+          { required: true, message: "工作区域不能为空", trigger: "blur" },
         ],
+        pointType:[
+          { required: true, message: "隔离点类型不能为空", trigger: "blur" },
+        ]
       },
     };
   },
@@ -495,6 +566,21 @@ export default {
         this.total = response.data.total;
         this.loading = false;
       });
+      // 获取工作区域数据
+      listWorkarea().then(response => {
+        this.deptOptions = this.handleTree(response.data.records, 'workareaId', 'parentId', 'children')
+      })
+    },
+    /** 转换部门数据结构 */
+    normalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children
+      }
+      return {
+        id: node.workareaId,
+        label: node.workareaName,
+        children: node.children
+      }
     },
     //图片上传成功
     handleImgUplaoded(imgUrl) {
@@ -508,10 +594,17 @@ export default {
     handleIconUplaoded(imgUrl) {
       this.form.pointIcon = imgUrl[0].url;
     },
+    handleIconUplaoded1(imgUrl){
+      this.form.lockImg = imgUrl[0].url;
+    },
     // 图标移除
     handleIconRemoved(imgUrl) {
       this.form.pointIcon = null;
     },
+    // 图标移除
+    handleIconRemoved1(imgUrl) {
+      this.form.lockImg = null;
+    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -558,6 +651,7 @@ export default {
       this.title = "添加隔离点";
       this.optType = "add";
       this.pointId = null;
+      this.form.workshopId=0;
       this.getworkShop();
     },
     // 查询明细按钮操作

+ 266 - 312
src/views/mes/md/workarea/index.vue

@@ -1,13 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      size="small"
-      :inline="true"
-      v-show="showSearch"
-      label-width="100px"
-    >
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
       <el-form-item label="工作区域编码" prop="workareaCode">
         <el-input
           v-model="queryParams.workareaCode"
@@ -19,33 +12,27 @@
       <el-form-item label="工作区域名称" prop="workareaName">
         <el-input
           v-model="queryParams.workareaName"
-          placeholder="请输入隔离点名称"
+          placeholder="请输入工作区域名称"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="工作区域类型" prop="workareaType">
-        <el-input
-          v-model="queryParams.workareaType"
-          placeholder="请输入工作区域类型"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="工作区域状态" clearable>
+          <el-option
+            v-for="dict in dict.type.sys_normal_disable"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button
-          type="primary"
-          icon="el-icon-search"
-          size="mini"
-          @click="handleQuery"
-          >搜索</el-button
-        >
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-          >重置</el-button
-        >
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
-
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -54,110 +41,47 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-          v-hasPermi="['mes:md:waa:add']"
-          >新增
+          v-hasPermi="['system:dept:add']"
+        >新增
         </el-button>
       </el-col>
-      <!--            <el-col :span="1.5">-->
-      <!--              <el-button-->
-      <!--                type="success"-->
-      <!--                plain-->
-      <!--                icon="el-icon-edit"-->
-      <!--                size="mini"-->
-      <!--                :disabled="single"-->
-      <!--                @click="handleUpdate"-->
-      <!--                v-hasPermi="['mes:cal:team:edit']"-->
-      <!--              >修改</el-button>-->
-      <!--            </el-col>-->
       <el-col :span="1.5">
         <el-button
-          type="danger"
+          type="info"
           plain
-          icon="el-icon-delete"
+          icon="el-icon-sort"
           size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['mes:md:waa:batchremove']"
-          >批量删除
+          @click="toggleExpandAll"
+        >展开/折叠
         </el-button>
       </el-col>
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="warning"-->
-      <!--          plain-->
-      <!--          icon="el-icon-download"-->
-      <!--          size="mini"-->
-      <!--          @click="handleExport"-->
-      <!--          v-hasPermi="['mes:cal:team:export']"-->
-      <!--        >导出</el-button>-->
-      <!--      </el-col>-->
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <el-table
+      v-if="refreshTable"
       v-loading="loading"
-      :data="workareaList"
-      @selection-change="handleSelectionChange"
+      :data="deptList"
+      row-key="workareaId"
+      :default-expand-all="isExpandAll"
+      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
     >
-      <el-table-column type="selection" width="55" align="center" />
-      <!-- <el-table-column label="工作区域Id" align="center" prop="workareaId">
+      <el-table-column prop="workareaCode" label="作业区域编码" width="260"></el-table-column>
+      <el-table-column prop="workareaName" label="作业区域名称" width="260"></el-table-column>
+      <el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
+      <el-table-column prop="status" label="状态" width="100">
         <template slot-scope="scope">
-          <el-button
-            type="text"
-            @click="handleView(scope.row)"
-            v-hasPermi="['mes:md:waa:query']"
-            >{{ scope.row.workareaId }}
-          </el-button>
-        </template>
-      </el-table-column> -->
-      <el-table-column label="工作区域编码" align="center" prop="workareaCode">
-        <template slot-scope="scope">
-          <el-button
-            type="text"
-            @click="handleView(scope.row)"
-            v-hasPermi="['mes:md:waa:query']"
-            >{{ scope.row.workareaCode }}
-          </el-button>
+          <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
         </template>
       </el-table-column>
-      <el-table-column
-        label="工作区域名称"
-        align="center"
-        prop="workareaName"
-      />
-      <el-table-column
-        label="工作区域类型"
-        align="center"
-        prop="workareaType"
-      />
-      <el-table-column label="所属车间" align="center" prop="workshopName" />
-
-      <!--      <el-table-column label="状态" align="center" prop="calendarType">-->
-      <!--        <template slot-scope="scope">-->
-      <!--          <dict-tag :options="dict.type.mes_calendar_type" :value="scope.row.calendarType"/>-->
-      <!--        </template>-->
-      <!--      </el-table-column>-->
-      <el-table-column label="地图" align="center" prop="map">
-        <!-- <template slot-scope="scope">
-          {{ scope.row.map }}
-        </template> -->
+      <el-table-column label="作业区域地图" align="center" prop="create" width="200">
         <template slot-scope="scope">
           <el-button size="mini" type="text" @click="look(scope.row)"
-            >预览
+          >预览
           </el-button>
         </template>
       </el-table-column>
-      <!--      <el-table-column label="备注" align="center" prop="remark">-->
-      <!--      </el-table-column>-->
-
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -165,101 +89,125 @@
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['mes:md:waa:edit']"
-            >编辑
+          >修改
           </el-button>
           <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-plus"
+            @click="handleAdd(scope.row)"
+            v-hasPermi="['mes:md:waa:add']"
+          >新增
+          </el-button>
+
+          <el-button
+            v-if="scope.row.parentId != 0"
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['mes:md:waa:remove']"
-            >删除
+          >删除
           </el-button>
         </template>
       </el-table-column>
     </el-table>
 
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.current"
-      :limit.sync="queryParams.size"
-      @pagination="getList"
-    />
-    <!-- 添加或修改班组对话框 -->
-    <el-dialog :visible.sync="open" width="660px" append-to-body>
-      <div slot="title" class="dialog-title">
-        <i></i>
-        <span class="title">{{ title }}</span>
-      </div>
-      <el-form ref="form" :model="form" :rules="rules" label-width="110px">
-        <el-form-item label="区域名称" prop="workareaName">
-          <el-input
-            style="width: 318px"
-            v-model="form.workareaName"
-            placeholder="请输入区域名称"
-          />
-        </el-form-item>
+    <!-- 添加或修改部门对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-row>
+          <el-col :span="18">
+            <el-form-item label="上级作业区域" prop="parentId">
+              <treeselect style="width: 318px" v-model="form.parentId" :options="deptOptions" :normalizer="normalizer"
+                          placeholder="选择上级作业区域"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="18">
+            <el-form-item label="作业区域名称" prop="workareaName">
+              <el-input
+                style="width: 318px"
+                v-model="form.workareaName"
+                placeholder="请输入区域名称"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="18">
+            <el-form-item label="显示排序" prop="orderNum">
+              <el-input-number style="width: 318px" v-model="form.orderNum" controls-position="right" :min="0"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
         <el-row>
-          <el-col :span="13">
+          <el-col :span="19">
             <el-form-item label="区域编码" prop="workareaCode">
               <el-input
+                style="width: 318px"
                 v-model="form.workareaCode"
                 placeholder="请输入区域编码"
               />
             </el-form-item>
           </el-col>
-          <el-col :span="5">
+          <el-col :span="3">
             <el-form-item label-width="80">
               <el-switch
+                style="width: 170px"
                 v-model="autoGenFlag"
                 active-color="#13ce66"
                 active-text="自动生成"
                 @change="handleAutoGenChange(autoGenFlag)"
-                v-if="optType != 'view'"
               >
               </el-switch>
             </el-form-item>
           </el-col>
         </el-row>
-        <el-form-item label="区域类型" prop="workareaType">
-          <el-input
-            style="width: 318px"
-            v-model="form.workareaType"
-            placeholder="请输入区域类型"
-          />
-        </el-form-item>
-        <el-form-item label="所属车间" prop="workshopId">
-          <el-select
-            style="width: 318px"
-            v-model="form.workshopId"
-            placeholder="请选择所属车间"
-          >
-            <el-option
-              v-for="dict in this.WorkShopListOptions"
-              :key="dict.key"
-              :label="dict.label"
-              :value="dict.value"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="地图" prop="map">
-          <el-input
-            style="width: 318px"
-            v-model="form.map"
-            placeholder="请输入地图"
-          />
-          <!--          <ImageUpload :limit="1" :value="form.map" :fileSize="5" @onUploaded="handleImgUplaoded" @onRemoved="handleImgRemoved" ></ImageUpload>-->
+        <el-form-item label="区域状态">
+          <el-radio-group v-model="form.status">
+            <el-radio :label="'0'">启用</el-radio>
+            <el-radio :label="'1'">禁用</el-radio>
+          </el-radio-group>
         </el-form-item>
-        <!--        <el-form-item label="备注" prop="remark">-->
-        <!--          <el-input style="width: 318px" type="textarea"  v-model="form.remark" placeholder="请输入备注" />-->
-        <!--        </el-form-item>-->
+        <el-row>
+          <el-col :span="18">
+            <el-form-item label="区域地图" prop="map">
+              <ImageUpload :limit="1" :value="form.map" :fileSize="5" @onUploaded="handleImgUplaoded"
+                           @onRemoved="handleImgRemoved"
+              ></ImageUpload>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="10">
+            <el-form-item label="地图json" prop="map">
+              <el-input
+                style="width: 318px"
+                v-model="form.map"
+                placeholder="请输入地图json"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="10">
+            <el-form-item label="备注" prop="remark">
+              <el-input
+                type="textarea"
+                style="width: 318px"
+                v-model="form.remark"
+                placeholder="请输入备注"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="cancel" v-if="optType == 'view'"
-          >返回</el-button
-        >
-        <el-button type="primary" @click="submitForm" v-else>确 定</el-button>
+        <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
@@ -273,16 +221,16 @@ import {
   addWorkarea,
   updateWorkarea,
   delWorkarea,
-  listAllWorkshop,
-} from "@/api/mes/wa/workarea";
-
-import { genCode } from "@/api/system/autocode/rule";
-import { mapActions, mapState } from "vuex";
+  listAllWorkshop
+} from '@/api/mes/wa/workarea'
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import { genCode } from '@/api/system/autocode/rule'
 
 export default {
-  name: "index",
-  dicts: ["mes_calendar_type"],
-
+  name: 'Dept',
+  dicts: ['sys_normal_disable'],
+  components: { Treeselect },
   data() {
     return {
       //自动生成编码
@@ -297,180 +245,208 @@ export default {
       single: true,
       // 非多个禁用
       multiple: true,
-      // 显示搜索条件
-      showSearch: true,
       // 地图预览弹框
       dialogVisibleMap: false,
-      // 总条数
-      total: 0,
-      // 班组表格数据
-      workareaList: [],
+      // 显示搜索条件
+      showSearch: true,
+      // 表格树数据
+      deptList: [],
+      // 部门树选项
+      deptOptions: [],
       // 弹出层标题
-      title: "",
+      title: '',
       // 是否显示弹出层
       open: false,
+      // 是否展开,默认全部展开
+      isExpandAll: true,
+      // 重新渲染表格状态
+      refreshTable: true,
       // 查询参数
       queryParams: {
         current: 1,
-        size: 10,
+        size: -1,
         workareaCode: null,
         workareaName: null,
-        workareaType: null,
+        workareaType: null
       },
+      // 总条数
+      total: 0,
       // 表单参数
-      form: {},
+      form: {
+        workshopId:0,
+        parentId:0,
+      },
       WorkShopListOptions: null, //所属车间下拉数据
       EditId: null, //判断是否是编辑弹框的值
       // 表单校验
       rules: {
+        // parentId: [
+        //   { required: true, message: '父级不能为空', trigger: 'blur' }
+        // ],
+        orderNum: [
+          { required: true, message: '显示排序不能为空', trigger: 'blur' }
+        ],
         workareaCode: [
-          { required: true, message: "区域编号不能为空", trigger: "blur" },
+          { required: true, message: '区域编号不能为空', trigger: 'blur' }
         ],
         workareaName: [
-          { required: true, message: "区域名称不能为空", trigger: "blur" },
+          { required: true, message: '区域名称不能为空', trigger: 'blur' }
         ],
         workareaType: [
-          { required: true, message: "清选择区域类型", trigger: "blur" },
-        ],
-      },
-    };
+          { required: true, message: '清选择区域类型', trigger: 'blur' }
+        ]
+      }
+    }
   },
   created() {
-    this.getList();
+    this.getList()
   },
   methods: {
-    /** 查询班组列表 */
+    /** 查询部门列表 */
     getList() {
-      this.loading = true;
-      listWorkarea(this.queryParams).then((response) => {
-        console.log(response, "获取工作取区域allList ");
-        this.workareaList = response.data.records;
-        this.total = response.data.total;
-        this.loading = false;
-      });
-      // 获取所有车间信息
-      listAllWorkshop().then((response) => {
-        console.log(response, "车间信息");
-        this.WorkShopListOptions = response.data.map((item) => {
-          return {
-            label: item.workshopName,
-            value: item.workshopId,
-            key: item.workshopCode,
-          };
-        });
-      });
+      this.loading = true
+      listWorkarea(this.queryParams).then(response => {
+        debugger;
+        var depts = this.handleTree(response.data.records, 'workareaId')
+        this.deptList = depts
+        this.loading = false
+      })
+    },
+    /** 转换部门数据结构 */
+    normalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children
+      }
+      return {
+        id: node.workareaId,
+        label: node.workareaName,
+        children: node.children
+      }
     },
-
     // 取消按钮
     cancel() {
-      this.open = false;
-      this.reset();
+      this.open = false
+      this.reset()
     },
     // 表单重置
     reset() {
       this.form = {
+        parentId: undefined,
+        orderNum: undefined,
         remark: null,
         map: null,
         workareaCode: null,
         workareaId: null,
         workareaName: null,
         workareaType: null,
-        workshopId: null,
-      };
-      this.autoGenFlag = false;
-      this.resetForm("form");
+        workshopId: null
+      }
+      this.autoGenFlag = false
+      this.resetForm('form')
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.current = 1;
-      this.getList();
+      this.queryParams.current = 1
+      this.getList()
     },
     /** 重置按钮操作 */
     resetQuery() {
       this.queryParams = {
         current: 1,
-        size: 10,
+        size: -1,
         workareaCode: null,
         workareaName: null,
-        workareaType: null,
-      };
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.workareaId);
-      this.codes = selection.map((item) => item.workareaCode);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
+        workareaType: null
+      }
+      this.resetForm('queryForm')
+      this.handleQuery()
     },
     /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加工作区域";
-      this.optType = "add";
-      this.EditId = null;
+    handleAdd(row) {
+      this.reset()
+      if (row != undefined) {
+        this.form.workshopId=0
+        this.form.parentId = row.workareaId;
+      }else{
+        this.form.workshopId=0
+        this.form.parentId = 0;
+      }
+      this.open = true
+      this.title = '添加工作区域'
+      listWorkarea().then(response => {
+        this.deptOptions = this.handleTree(response.data.records, 'workareaId', 'parentId', 'children')
+      })
     },
-    // 查询明细按钮操作
-    handleView(row) {
-      this.reset();
-      this.EditId = row.workareaId || this.ids;
-      getWorkareaInfo(this.EditId).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "查看工作区域";
-        this.optType = "view";
-      });
+    /** 展开/折叠操作 */
+    toggleExpandAll() {
+      this.refreshTable = false
+      this.isExpandAll = !this.isExpandAll
+      this.$nextTick(() => {
+        this.refreshTable = true
+      })
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
-      this.reset();
-      this.EditId = row.workareaId || this.ids;
-      console.log(row, "row");
-      getWorkareaInfo(this.EditId).then((response) => {
-        console.log(response, "获取单条工作区域数据");
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改工作区域信息";
-        this.optType = "edit";
-      });
+      this.reset()
+      this.EditId = row.workareaId || this.ids
+      getWorkareaInfo(row.workareaId).then(response => {
+        this.form = response.data
+        this.open = true
+        this.title = '修改工作区域'
+
+      })
+      listWorkarea().then(response => {
+        this.deptOptions = this.handleTree(response.data.records, 'workareaId', 'parentId', 'children')
+      })
+    },
+    //图片上传成功
+    handleImgUplaoded(imgUrl) {
+      this.form.map = imgUrl
+    },
+    //图片移除
+    handleImgRemoved(imgUrl) {
+      this.form.map = null
     },
     /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate((valid) => {
+    submitForm: function() {
+      this.$refs['form'].validate(valid => {
         if (valid) {
           if (this.EditId != null) {
-            updateWorkarea(this.form).then((response) => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
+            updateWorkarea(this.form).then(response => {
+              this.$modal.msgSuccess('修改成功')
+              this.open = false
+              this.getList()
+            })
           } else {
-            addWorkarea(this.form).then((response) => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.EditId = null;
-              this.getList();
-            });
+            console.log(this.form,'新增工作区域参数')
+            addWorkarea(this.form).then(response => {
+              this.$modal.msgSuccess('新增成功')
+              this.open = false
+              this.getList()
+            })
           }
         }
-      });
+      })
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const teamIds = row.workareaId || this.ids;
-      const workareaCodes = row.workareaCode || this.codes;
-      this.$modal
-        .confirm('是否确认删除工作区域编码为"' + workareaCodes + '"的数据项?')
-        .then(function () {
-          return delWorkarea(teamIds);
-        })
-        .then(() => {
-          this.getList();
-          this.$modal.msgSuccess("删除成功");
+      this.$modal.confirm('是否确认删除名称为"' + row.workareaCode + '"的数据项?').then(function() {
+        return delWorkarea(row.workareaId)
+      }).then(() => {
+        this.getList()
+        this.$modal.msgSuccess('删除成功')
+      }).catch(() => {
+      })
+    },
+    //自动生成编码
+    handleAutoGenChange(autoGenFlag) {
+      if (autoGenFlag) {
+        genCode('WORKAREA_CODE').then((response) => {
+          this.form.workareaCode = response
         })
-        .catch(() => {});
+      } else {
+        this.form.workareaCode = null
+      }
     },
     // 地图预览
     look(row) {
@@ -481,30 +457,8 @@ export default {
       this.$router.push(`/mes/md/workarea/index/MapData?workareaId=${data}`);
       // this.dialogVisibleMap = true; // 显示地图预览弹框
     },
-    updateMapData(selectedPoints) {
-      // Sync mapData with the selected points in MapData
-      this.mapData = selectedPoints;
-    },
 
-    // 地图弹框关闭按钮
-    handleClose() {
-      this.dialogVisibleMap = false;
-    },
-    //自动生成编码
-    handleAutoGenChange(autoGenFlag) {
-      if (autoGenFlag) {
-        genCode("WORKAREA_CODE").then((response) => {
-          this.form.workareaCode = response;
-        });
-      } else {
-        this.form.workareaCode = null;
-      }
-    },
-  },
-};
-</script>
-<style lang="scss" src="@/assets/styles/dialog-title.scss" scoped>
-.el-input-width {
-  width: 380px !important;
+  }
+
 }
-</style>
+</script>

+ 510 - 0
src/views/mes/md/workarea/index1.vue

@@ -0,0 +1,510 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="100px"
+    >
+      <el-form-item label="工作区域编码" prop="workareaCode">
+        <el-input
+          v-model="queryParams.workareaCode"
+          placeholder="请输入工作区域编码"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="工作区域名称" prop="workareaName">
+        <el-input
+          v-model="queryParams.workareaName"
+          placeholder="请输入隔离点名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="工作区域类型" prop="workareaType">
+        <el-input
+          v-model="queryParams.workareaType"
+          placeholder="请输入工作区域类型"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['mes:md:waa:add']"
+          >新增
+        </el-button>
+      </el-col>
+      <!--            <el-col :span="1.5">-->
+      <!--              <el-button-->
+      <!--                type="success"-->
+      <!--                plain-->
+      <!--                icon="el-icon-edit"-->
+      <!--                size="mini"-->
+      <!--                :disabled="single"-->
+      <!--                @click="handleUpdate"-->
+      <!--                v-hasPermi="['mes:cal:team:edit']"-->
+      <!--              >修改</el-button>-->
+      <!--            </el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['mes:md:waa:batchremove']"
+          >批量删除
+        </el-button>
+      </el-col>
+      <!--      <el-col :span="1.5">-->
+      <!--        <el-button-->
+      <!--          type="warning"-->
+      <!--          plain-->
+      <!--          icon="el-icon-download"-->
+      <!--          size="mini"-->
+      <!--          @click="handleExport"-->
+      <!--          v-hasPermi="['mes:cal:team:export']"-->
+      <!--        >导出</el-button>-->
+      <!--      </el-col>-->
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+
+    <el-table
+      v-loading="loading"
+      :data="workareaList"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55" align="center" />
+      <!-- <el-table-column label="工作区域Id" align="center" prop="workareaId">
+        <template slot-scope="scope">
+          <el-button
+            type="text"
+            @click="handleView(scope.row)"
+            v-hasPermi="['mes:md:waa:query']"
+            >{{ scope.row.workareaId }}
+          </el-button>
+        </template>
+      </el-table-column> -->
+      <el-table-column label="工作区域编码" align="center" prop="workareaCode">
+        <template slot-scope="scope">
+          <el-button
+            type="text"
+            @click="handleView(scope.row)"
+            v-hasPermi="['mes:md:waa:query']"
+            >{{ scope.row.workareaCode }}
+          </el-button>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="工作区域名称"
+        align="center"
+        prop="workareaName"
+      />
+      <el-table-column
+        label="工作区域类型"
+        align="center"
+        prop="workareaType"
+      />
+      <el-table-column label="所属车间" align="center" prop="workshopName" />
+
+      <!--      <el-table-column label="状态" align="center" prop="calendarType">-->
+      <!--        <template slot-scope="scope">-->
+      <!--          <dict-tag :options="dict.type.mes_calendar_type" :value="scope.row.calendarType"/>-->
+      <!--        </template>-->
+      <!--      </el-table-column>-->
+      <el-table-column label="地图" align="center" prop="map">
+        <!-- <template slot-scope="scope">
+          {{ scope.row.map }}
+        </template> -->
+        <template slot-scope="scope">
+          <el-button size="mini" type="text" @click="look(scope.row)"
+            >预览
+          </el-button>
+        </template>
+      </el-table-column>
+      <!--      <el-table-column label="备注" align="center" prop="remark">-->
+      <!--      </el-table-column>-->
+
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['mes:md:waa:edit']"
+            >编辑
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['mes:md:waa:remove']"
+            >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.current"
+      :limit.sync="queryParams.size"
+      @pagination="getList"
+    />
+    <!-- 添加或修改班组对话框 -->
+    <el-dialog :visible.sync="open" width="660px" append-to-body>
+      <div slot="title" class="dialog-title">
+        <i></i>
+        <span class="title">{{ title }}</span>
+      </div>
+      <el-form ref="form" :model="form" :rules="rules" label-width="110px">
+        <el-form-item label="区域名称" prop="workareaName">
+          <el-input
+            style="width: 318px"
+            v-model="form.workareaName"
+            placeholder="请输入区域名称"
+          />
+        </el-form-item>
+        <el-row>
+          <el-col :span="13">
+            <el-form-item label="区域编码" prop="workareaCode">
+              <el-input
+                v-model="form.workareaCode"
+                placeholder="请输入区域编码"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label-width="80">
+              <el-switch
+                v-model="autoGenFlag"
+                active-color="#13ce66"
+                active-text="自动生成"
+                @change="handleAutoGenChange(autoGenFlag)"
+                v-if="optType != 'view'"
+              >
+              </el-switch>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="区域类型" prop="workareaType">
+          <el-input
+            style="width: 318px"
+            v-model="form.workareaType"
+            placeholder="请输入区域类型"
+          />
+        </el-form-item>
+        <el-form-item label="所属车间" prop="workshopId">
+          <el-select
+            style="width: 318px"
+            v-model="form.workshopId"
+            placeholder="请选择所属车间"
+          >
+            <el-option
+              v-for="dict in this.WorkShopListOptions"
+              :key="dict.key"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="地图" prop="map">
+          <el-input
+            style="width: 318px"
+            v-model="form.map"
+            placeholder="请输入地图"
+          />
+          <!--          <ImageUpload :limit="1" :value="form.map" :fileSize="5" @onUploaded="handleImgUplaoded" @onRemoved="handleImgRemoved" ></ImageUpload>-->
+        </el-form-item>
+        <!--        <el-form-item label="备注" prop="remark">-->
+        <!--          <el-input style="width: 318px" type="textarea"  v-model="form.remark" placeholder="请输入备注" />-->
+        <!--        </el-form-item>-->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="cancel" v-if="optType == 'view'"
+          >返回</el-button
+        >
+        <el-button type="primary" @click="submitForm" v-else>确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  listWorkarea,
+  getWorkareaInfo,
+  addWorkarea,
+  updateWorkarea,
+  delWorkarea,
+  listAllWorkshop,
+} from "@/api/mes/wa/workarea";
+
+import { genCode } from "@/api/system/autocode/rule";
+import { mapActions, mapState } from "vuex";
+
+export default {
+  name: "index",
+  dicts: ["mes_calendar_type"],
+
+  data() {
+    return {
+      //自动生成编码
+      autoGenFlag: false,
+      optType: undefined,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      codes: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 地图预览弹框
+      dialogVisibleMap: false,
+      // 总条数
+      total: 0,
+      // 班组表格数据
+      workareaList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        current: 1,
+        size: 10,
+        workareaCode: null,
+        workareaName: null,
+        workareaType: null,
+      },
+      // 表单参数
+      form: {},
+      WorkShopListOptions: null, //所属车间下拉数据
+      EditId: null, //判断是否是编辑弹框的值
+      // 表单校验
+      rules: {
+        workareaCode: [
+          { required: true, message: "区域编号不能为空", trigger: "blur" },
+        ],
+        workareaName: [
+          { required: true, message: "区域名称不能为空", trigger: "blur" },
+        ],
+        workareaType: [
+          { required: true, message: "清选择区域类型", trigger: "blur" },
+        ],
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询班组列表 */
+    getList() {
+      this.loading = true;
+      listWorkarea(this.queryParams).then((response) => {
+        console.log(response, "获取工作取区域allList ");
+        this.workareaList = response.data.records;
+        this.total = response.data.total;
+        this.loading = false;
+      });
+      // 获取所有车间信息
+      listAllWorkshop().then((response) => {
+        console.log(response, "车间信息");
+        this.WorkShopListOptions = response.data.map((item) => {
+          return {
+            label: item.workshopName,
+            value: item.workshopId,
+            key: item.workshopCode,
+          };
+        });
+      });
+    },
+
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        remark: null,
+        map: null,
+        workareaCode: null,
+        workareaId: null,
+        workareaName: null,
+        workareaType: null,
+        workshopId: null,
+      };
+      this.autoGenFlag = false;
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.current = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.queryParams = {
+        current: 1,
+        size: 10,
+        workareaCode: null,
+        workareaName: null,
+        workareaType: null,
+      };
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.workareaId);
+      this.codes = selection.map((item) => item.workareaCode);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加工作区域";
+      this.optType = "add";
+      this.EditId = null;
+    },
+    // 查询明细按钮操作
+    handleView(row) {
+      this.reset();
+      this.EditId = row.workareaId || this.ids;
+      getWorkareaInfo(this.EditId).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "查看工作区域";
+        this.optType = "view";
+      });
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      this.EditId = row.workareaId || this.ids;
+      console.log(row, "row");
+      getWorkareaInfo(this.EditId).then((response) => {
+        console.log(response, "获取单条工作区域数据");
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改工作区域信息";
+        this.optType = "edit";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.EditId != null) {
+            updateWorkarea(this.form).then((response) => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addWorkarea(this.form).then((response) => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.EditId = null;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const teamIds = row.workareaId || this.ids;
+      const workareaCodes = row.workareaCode || this.codes;
+      this.$modal
+        .confirm('是否确认删除工作区域编码为"' + workareaCodes + '"的数据项?')
+        .then(function () {
+          return delWorkarea(teamIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    // 地图预览
+    look(row) {
+      console.log(row, "row预览");
+
+      const data = row.workareaId;
+
+      this.$router.push(`/mes/md/workarea/index/MapData?workareaId=${data}`);
+      // this.dialogVisibleMap = true; // 显示地图预览弹框
+    },
+    updateMapData(selectedPoints) {
+      // Sync mapData with the selected points in MapData
+      this.mapData = selectedPoints;
+    },
+
+    // 地图弹框关闭按钮
+    handleClose() {
+      this.dialogVisibleMap = false;
+    },
+    //自动生成编码
+    handleAutoGenChange(autoGenFlag) {
+      if (autoGenFlag) {
+        genCode("WORKAREA_CODE").then((response) => {
+          this.form.workareaCode = response;
+        });
+      } else {
+        this.form.workareaCode = null;
+      }
+    },
+  },
+};
+</script>
+<style lang="scss" src="@/assets/styles/dialog-title.scss" scoped>
+.el-input-width {
+  width: 380px !important;
+}
+</style>

+ 1 - 1
src/views/system/dept/index.vue

@@ -24,7 +24,6 @@
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
-
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -315,6 +314,7 @@ export default {
               this.getList();
             });
           } else {
+
             addDept(this.form).then(response => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;

+ 1 - 1
vue.config.js

@@ -36,7 +36,7 @@ module.exports = {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
         // http://36.133.174.236:9090  http://192.168.1.127:9090 http://192.168.31.110:9090(动感光波)
-        target: `http://36.133.174.236:9090`,
+        target: `http://192.168.58.11:9090`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''