Bläddra i källkod

fix: 上飞定制的组件和功能

wyf 1 år sedan
förälder
incheckning
c2b265dc78

+ 2 - 2
src/api/workShopData/index.ts

@@ -3,7 +3,7 @@ import { http } from '@/utils/http/axios';
 // 查询车间列表
 export function getWorkshopInfoList() {
   return http.request({
-    url: '/scene/getWorkshopInfoList',
+    url: '/admin/workshop/queryWorkshopPullDownList',
     method: 'get',
   });
 }
@@ -11,7 +11,7 @@ export function getWorkshopInfoList() {
 // 查询工位列表
 export function getWorkSpaceInfoList(params) {
   return http.request({
-    url: '/scene/getWorkSpaceInfoList',
+    url: '/admin/workshop/queryWorkspacePullDownList',
     method: 'get',
     params,
   });

+ 2 - 0
src/types/scene/type.ts

@@ -406,6 +406,7 @@ export interface UseWorkshopType<T> {
   // createdAt: string;
   // createdBy: number;
   id: number;
+  code?: string; //上飞定制需要
   // isDeleted: number;
   isDisabled: number;
   name: string;
@@ -426,6 +427,7 @@ export interface UseWorkspaceType {
   // createdAt: string;
   // createdBy: number;
   id: number;
+  code?: string; //上飞定制需要
   isDeleted: number;
   isDisabled: number;
   name: string;

+ 21 - 17
src/views/system-config/scene-manage/SceneManage.vue

@@ -44,26 +44,26 @@
     <div v-if="disableDepartmentEdit">
       <!-- 上飞定制的抽屉表单 -->
       <!-- 公司 -->
-      <!-- <CompanyDrawer_shangfei
+      <CompanyDrawer_shangfei
         v-if="showDrawer === DrawerType.company"
         :detail="detail"
-        @on-ok="subCompany"
         @on-close="handleUpdateTableCom"
-      /> -->
+        @on-ok="subCompany"
+      />
       <!-- 车间 -->
-      <!-- <WorkshopDrawer_shangfei
+      <WorkshopDrawer_shangfei
         v-if="showDrawer === DrawerType.workshop"
         :detail="detail"
         @on-close="handleUpdataWorkshopTab"
         @on-ok="subWorkshop"
-      /> -->
+      />
       <!-- 工位 -->
-      <!-- <WorkspaceDrawer_shangfei
+      <WorkspaceDrawer_shangfei
         v-if="showDrawer === DrawerType.workspace"
         :detail="detail"
         @on-close="handleUpdataWorkspaceTab"
         @on-ok="subWorkspace"
-      /> -->
+      />
     </div>
     <div v-else>
       <!-- 其他项目的抽屉表单 -->
@@ -99,11 +99,11 @@
   import { BasicTable, BasicColumn } from '@/components/Table';
   import ActionColomn from './components/ActionColomns.vue';
   import CompanyDrawer from './components/CompanyDrawer.vue';
-  // import CompanyDrawer_shangfei from './components/CompanyDrawer-shangfei.vue';
+  import CompanyDrawer_shangfei from './components/CompanyDrawer-shangfei.vue';
   import WorkshopDrawer from './components/WorkshopDrawer.vue';
-  // import WorkshopDrawer_shangfei from './components/WorkshopDrawer-shangfei.vue';
+  import WorkshopDrawer_shangfei from './components/WorkshopDrawer-shangfei.vue';
   import WorkspaceDrawer from './components/WorkspaceDrawer.vue';
-  // import WorkspaceDrawer_shangfei from './components/WorkspaceDrawer-shangfei.vue';
+  import WorkspaceDrawer_shangfei from './components/WorkspaceDrawer-shangfei.vue';
   import { DrawerType, IS_DISABLED } from '@/types/scene/constant.ts';
   import SceneDialog from './components/SceneDialog.vue';
   import {
@@ -140,7 +140,7 @@
 
   // 此处获取了全局变量,关系到用不用sf定制的组件
   const globSetting = useGlobSetting();
-  const disableDepartmentEdit = globSetting.disableDepartmentEdit;
+  const disableDepartmentEdit = !globSetting.disableDepartmentEdit;
 
   // 公司车间工位数据
   const comTree = useComTree();
@@ -270,11 +270,12 @@
       detail.value = {
         // 工位表单需提交:工位名称,所属车间,负责人,状态
         name: '',
+        code: '', // 上飞定制需要
         seniorScene: editedItem.value?.name,
-        principal: '',
+        principalName: '',
         isDisabled: IS_DISABLED.FALSE,
         workshopId: editedItem.value?.id,
-        // orderNum: editedItem.value?.children?.length,
+        workshopCode: editedItem.value?.code, // 上飞定制需要
       };
     }
   };
@@ -302,15 +303,18 @@
         isDisabled: editedItem.value.isDisabled,
       };
     } else if (editedItem.value?.nodeType === DrawerType.workspace) {
+      const curWorkshop = comTreeData.value
+        .find((it) => it.id === editedItem.value?.companyId)!
+        .children!.find((it) => it.id === editedItem.value?.workshopId);
       // 工位表单初始值
       detail.value = {
         id: editedItem.value.id,
         name: editedItem.value.name,
-        seniorScene: comTreeData.value
-          .find((it) => it.id === editedItem.value?.companyId)!
-          .children!.find((it) => it.id === editedItem.value?.workshopId)!.name,
-        principal: editedItem.value.principalName,
+        code: editedItem.value.code, // 上飞定制需要
+        seniorScene: curWorkshop?.name,
+        principalName: editedItem.value.principalName,
         isDisabled: editedItem.value.isDisabled,
+        workshopCode: curWorkshop?.code, // 上飞定制需要
       };
     }
   };

+ 32 - 230
src/views/system-config/scene-manage/components/CompanyDrawer-shangfei.vue

@@ -28,57 +28,6 @@
             placeholder="上海飞机制造有限公司"
           />
         </el-form-item>
-        <el-form-item label="上级场景" prop="seniorScene">
-          <el-input v-model="ruleForm.seniorScene" style="width: 200px" disabled />
-        </el-form-item>
-        <!-- <el-form-item v-if="!props.comEdit" label="公司代码" prop="code">
-          <el-input v-model="ruleForm.code" style="width: 200px" />
-        </el-form-item> -->
-        <el-form-item label="标签&模板" required>
-          <div style="display: flex; flex-direction: column; align-items: flex-start">
-            <div
-              v-for="(item, index) in ruleForm.selectItems"
-              :key="index"
-              style="margin-bottom: 16px; display: flex"
-            >
-              <el-select v-model="item.tag" placeholder="请选择标签" style="width: 126px">
-                <el-option
-                  v-for="item1 in props.sceneList"
-                  :key="item1.id"
-                  :label="item1.name"
-                  :value="item1.id"
-                />
-              </el-select>
-              <img
-                src="@/assets/icons/link.png"
-                alt=""
-                style="width: 16px; margin-left: 2px; margin-right: 2px" />
-              <el-select v-model="item.template" placeholder="请选择模板" style="width: 126px">
-                <el-option
-                  v-for="item2 in props.templateList"
-                  :key="item2.id"
-                  :label="item2.name"
-                  :value="item2.id"
-                />
-              </el-select>
-              <img
-                src="@/assets/icons/close.png"
-                @click="deleScene(index)"
-                alt=""
-                style="
-                  width: 13px;
-                  height: 13px;
-                  margin-top: 10px;
-                  margin-left: 3px;
-                  cursor: pointer;
-                "
-            /></div>
-            <div style="width: 200px">
-              <el-icon size="28px" @click="addChange" style="cursor: pointer"
-                ><CirclePlus /></el-icon
-            ></div>
-          </div>
-        </el-form-item>
         <el-form-item label="所在省市" prop="regionCode" required>
           <el-select v-model="ruleForm.regionCode" placeholder="请选择省市" style="width: 200px">
             <el-option
@@ -100,72 +49,52 @@
         </el-form-item>
         <el-form-item label="状态">
           <el-switch
-            v-model="ruleForm.addEnable"
-            :active-value="IS_DISABLED.TRUE"
-            :inactive-value="IS_DISABLED.FALSE"
+            v-model="ruleForm.isDisabled"
+            :active-value="IS_DISABLED.FALSE"
+            :inactive-value="IS_DISABLED.TRUE"
             class="switchUse"
           />
         </el-form-item>
       </el-form>
       <div style="position: absolute; left: 108px; bottom: 67px">
-        <el-button v-if="!props.comEdit" @click="resetDrawCom">重置</el-button>
-        <el-button type="primary" v-if="!props.comEdit" @click="newCompanyAdd"> 提交 </el-button>
-        <el-button type="primary" v-if="props.comEdit" @click="editedSub(ruleFormRef)">
+        <el-button v-if="!props.detail.id" @click="resetDrawCom">重置</el-button>
+        <el-button type="primary" v-if="!props.detail.id" @click="newCompanyAdd"> 提交 </el-button>
+        <el-button type="primary" v-if="props.detail.id" @click="editedSub(ruleFormRef)">
           提交
         </el-button>
       </div>
-    </el-drawer></div
-  >
+    </el-drawer>
+  </div>
 </template>
 
 <script setup lang="ts">
   import { computed, reactive, ref, defineProps, defineEmits, watch } from 'vue';
-
-  import {
-    addCompanyModuleLabel,
-    editCompanyModuleLabel,
-    addCompany,
-    editCompany,
-  } from '@/api/scene/scene.ts';
-  import { SceneLabelType, TemplateType } from '@/types/scene/type.ts';
-
+  import { addCompany, editCompany } from '@/api/scene/scene.ts';
   import { IS_DISABLED } from '@/types/scene/constant.ts';
   import type { FormInstance, FormRules } from 'element-plus';
-  import { ElMessage, ElMessageBox } from 'element-plus';
-  import { CirclePlus } from '@element-plus/icons-vue';
   import { getProvinceList } from '@/api/system/region';
   import { useRequest } from 'vue-hooks-plus';
 
-  interface SelectItemType {
-    tag: string;
-    template: string;
-  }
-
   const props = defineProps<{
-    sceneList: SceneLabelType[];
-    templateList: TemplateType[];
-    // allCodes: string[];
-    comEdit: boolean;
     detail: {
-      id?: number;
+      id?: number; // 传不传id关系到是不是修改
       name?: string;
-      code?: string;
-      seniorScene?: string;
-      addEnable?: IS_DISABLED;
-      selectItems?: SelectItemType[];
+      isDisabled?: IS_DISABLED;
       remark?: string;
       longitude?: number; //经度
       latitude?: number; //纬度
       regionCode?: string;
+      companyId?: number;
     };
   }>();
 
   const title = computed(() => {
-    if (props.comEdit) {
+    if (props.detail.id) {
       return '编辑公司';
     }
     return '添加公司';
   });
+
   const emit = defineEmits<{
     (e: 'onOk'): unknown;
     (e: 'onClose'): unknown;
@@ -178,35 +107,19 @@
 
   interface RuleForm {
     name: string; //名称
-    seniorScene: string; //上级场景
-    code: string; //代码
-    sceneCode: string; //场景代码
-    tagCom?: string[]; //公司场景标签 可选多个
-    templateCom?: string[]; //公司场景模板 可选多个
-    tagWorkshop?: number; //场景标签  车间
-    templateWorkshop?: number; //车间模板
-    selectItems?: SelectItemType[];
-    addEnable?: IS_DISABLED;
-    remark?: string; //备注,可用于添加经纬度,非必要
+    regionCode?: string; //省市
+    remark?: string; //备注
     longitude?: number; //经度
     latitude?: number; //纬度
-    regionCode?: string;
+    isDisabled?: IS_DISABLED;
   }
 
   const ruleForm = reactive<RuleForm>({
     name: '上海飞机制造有限公司',
-    seniorScene: '顶级场景',
-    code: '',
-    sceneCode: '',
-    tagCom: [],
-    templateCom: [],
-    tagWorkshop: undefined,
-    templateWorkshop: undefined,
-    selectItems: [{ tag: '', template: '' }],
-    addEnable: IS_DISABLED.TRUE,
+    isDisabled: IS_DISABLED.FALSE,
     remark: '',
-    longitude: undefined, //经度
-    latitude: undefined, //纬度
+    longitude: undefined,
+    latitude: undefined,
     regionCode: '',
   });
   const rules = reactive<FormRules>({
@@ -214,32 +127,17 @@
     //   { required: true, message: '公司名称不能为空', trigger: 'blur' },
     //   { min: 1, max: 100, message: '长度在1-100之间', trigger: 'blur' },
     // ],
-    // code: [
-    //   { required: true, message: '公司代码不能为空', trigger: 'blur' },
-    //   { min: 1, max: 100, message: '长度在1-100之间', trigger: 'blur' },
-    // ],
     regionCode: [{ required: true, message: '省市不能为空', trigger: 'blur' }],
   });
 
   const { data: provinceList } = useRequest(getProvinceList);
 
-  //增加空的场景&模板
-  const addChange = () => {
-    ruleForm.selectItems!.push({
-      tag: '',
-      template: '',
-    });
-  };
-
   //编辑时需要传入子组件的数据
   watch(
     () => props.detail,
     (data) => {
-      ruleForm.name = data.name!;
-      ruleForm.code = data.code!;
-      ruleForm.seniorScene = data.seniorScene!;
-      ruleForm.addEnable = data.addEnable;
-      ruleForm.selectItems = data.selectItems;
+      // ruleForm.name = data.name!; //上飞定制不可变
+      ruleForm.isDisabled = data.isDisabled;
       ruleForm.remark = data.remark;
       ruleForm.latitude = data.latitude;
       ruleForm.longitude = data.longitude;
@@ -248,26 +146,6 @@
     { immediate: true },
   );
 
-  //删除场景&模板
-  const deleScene = (index) => {
-    if (ruleForm.selectItems!.length > 1) {
-      ElMessageBox.confirm('请确认是否关闭该场景?', '状态关闭', {
-        confirmButtonText: '确认',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          ruleForm.selectItems!.splice(index, 1);
-        })
-        .catch(() => {
-          console.log('取消删除物件');
-        });
-    } else {
-      ElMessage.warning({
-        message: '无法删除',
-      });
-    }
-  };
   //添加新公司的提交
   const newCompanyAdd = () => {
     if (!ruleFormRef.value) return;
@@ -276,64 +154,19 @@
         return;
       }
 
-      const selectTags = ruleForm.selectItems?.filter((item) => {
-        return item.tag && item.template;
-      });
-
-      if (!selectTags?.[0]) {
-        ElMessage({
-          message: '请选择标签和模板',
-          type: 'error',
-        });
-        return;
-      }
-
-      // if (props.allCodes.indexOf(ruleForm.code) > -1) {
-      //   ElMessageBox.confirm('场景代码重复,请重新填写', '代码重复', {
-      //     confirmButtonText: '确认',
-      //     cancelButtonText: '取消',
-      //     type: 'error',
-      //   })
-      //     .then(() => {
-      //       // ruleFormCom.code = '';
-      //       console.log('场景代码重复,请重新填写');
-      //     })
-      //     .catch(() => {
-      //       console.log('取消删除物件');
-      //     });
-      // } else {
       const newComData = {
         name: ruleForm.name,
-        // code: ruleForm.code,
-        code: 'shangfei',
-        status: Number(ruleForm.addEnable),
-        isDeleted: 0,
-        parentId: 0,
-        serial: 0,
+        isDisabled: ruleForm.isDisabled,
         remark: ruleForm.remark,
         longitude: ruleForm.longitude,
         latitude: ruleForm.latitude,
         regionCode: ruleForm.regionCode,
       };
+
       //提交数据并重置关闭el-draw
       addCompany(newComData)
-        .then((res) => {
-          //选出不为空字符串的数据
-          ruleForm.selectItems = ruleForm.selectItems!.filter((item) => {
-            return item.tag && item.template;
-          });
-          //将selectItems加工成保存公司-模板的数据类型
-          const newModuleLabel = ruleForm.selectItems!.map((item) => {
-            return {
-              companyId: res,
-              isDeleted: 0,
-              sceneLabelId: Number(item.tag), //item.tag
-              sceneModuleId: Number(item.template), ///item.template
-            };
-          });
-
-          //保存公司-场景标签-场景模板关系
-          return addCompanyModuleLabel(newModuleLabel);
+        .then(() => {
+          console.log('添加成功');
         })
         .catch((err) => {
           console.log(err);
@@ -341,7 +174,6 @@
         .finally(() => {
           emit('onOk');
         });
-      // }
     });
   };
 
@@ -353,32 +185,10 @@
         return;
       }
 
-      // if (props.allCodes.indexOf(ruleForm.code) > -1) {
-      //   if (props.detail.code !== ruleForm.code) {
-      //     ElMessageBox.confirm('场景代码重复,请重新填写', '代码重复', {
-      //       confirmButtonText: '确认',
-      //       cancelButtonText: '取消',
-      //       type: 'error',
-      //     })
-      //       .then(() => {
-      //         console.log('代码重复');
-      //       })
-      //       .catch(() => {
-      //         console.log('取消删除物件');
-      //       });
-      //     return;
-      //   }
-      // }
-
-      ruleForm.selectItems = ruleForm.selectItems!.filter((item) => {
-        return item.tag && item.template;
-      });
-      //新增的数据
       const editNewCom = {
         id: props.detail.id,
         name: ruleForm.name,
-        code: ruleForm.code,
-        status: Number(ruleForm.addEnable),
+        isDisabled: ruleForm.isDisabled,
         remark: ruleForm.remark,
         longitude: ruleForm.longitude,
         latitude: ruleForm.latitude,
@@ -387,16 +197,7 @@
       // 编辑上传
       editCompany(editNewCom)
         .then(() => {
-          //保存公司-场景标签-场景模板关系
-          const editModuleLabel = ruleForm.selectItems!.map((item) => {
-            return {
-              companyId: props.detail.id,
-              isDeleted: 0,
-              sceneLabelId: Number(item.tag), //item.tag
-              sceneModuleId: Number(item.template), ///item.template
-            };
-          });
-          return editCompanyModuleLabel(editModuleLabel);
+          console.log('编辑成功');
         })
         .finally(() => {
           emit('onOk');
@@ -407,10 +208,11 @@
   //重置编辑框
   const resetDrawCom = () => {
     ruleForm.name = '';
-    // ruleForm.code = '';
-    ruleForm.addEnable = IS_DISABLED.TRUE;
-    ruleForm.selectItems = [{ tag: '', template: '' }];
+    ruleForm.isDisabled = IS_DISABLED.FALSE;
     ruleForm.regionCode = '';
+    ruleForm.remark = '';
+    ruleForm.latitude = undefined;
+    ruleForm.longitude = undefined;
   };
 </script>
 

+ 29 - 134
src/views/system-config/scene-manage/components/WorkshopDrawer-shangfei.vue

@@ -20,7 +20,6 @@
         status-icon
       >
         <el-form-item label="车间名称" prop="name">
-          <!-- <el-input v-model="ruleForm.name" /> -->
           <el-select v-model="ruleForm.name" placeholder="请选择车间" style="width: 200px">
             <el-option
               v-for="item in workshopList"
@@ -32,58 +31,25 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="上级场景" prop="seniorScene">
+        <el-form-item label="所属公司" prop="seniorScene">
           <el-input v-model="ruleForm.seniorScene" disabled />
         </el-form-item>
-        <!-- <el-form-item label="车间代码" prop="code">
-          <el-input v-model="ruleForm.code" />
-        </el-form-item> -->
-        <el-form-item label="场景标签" prop="tagWorkshop">
-          <el-radio-group
-            v-model="ruleForm.tagWorkshop"
-            size="10px"
-            style="display: flex; justify-content: space-between"
-          >
-            <el-radio-button
-              v-for="item in props.detail.tagList"
-              :key="item.id"
-              :label="item.id!"
-              class="tag-select"
-              style="margin-right: 10px"
-              >{{ item.name }}</el-radio-button
-            >
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="车间模板" prop="templateWorkshop">
-          <el-radio-group
-            v-model="ruleForm.templateWorkshop"
-            size="10px"
-            style="display: flex; justify-content: space-between"
-          >
-            <el-radio-button
-              v-for="item in props.workshopTemplateList"
-              :key="item.id"
-              :label="item.id!"
-              class="tag-select"
-              >{{ item.name }}</el-radio-button
-            >
-          </el-radio-group>
-        </el-form-item>
+
         <el-form-item label="状态">
           <el-switch
-            v-model="ruleForm.addEnable"
-            :active-value="IS_DISABLED.TRUE"
-            :inactive-value="IS_DISABLED.FALSE"
+            v-model="ruleForm.isDisabled"
+            :active-value="IS_DISABLED.FALSE"
+            :inactive-value="IS_DISABLED.TRUE"
             class="switchUse"
           />
         </el-form-item>
       </el-form>
       <div style="position: absolute; left: 108px; bottom: 67px">
-        <el-button v-if="!props.detail.companyId" @click="resetDraw">重置</el-button>
-        <el-button v-if="!props.detail.companyId" type="primary" @click="addNewType(ruleFormRef)">
+        <el-button v-if="!props.detail.id" @click="resetDraw">重置</el-button>
+        <el-button v-if="!props.detail.id" type="primary" @click="addNewType(ruleFormRef)">
           提交
         </el-button>
-        <el-button v-if="props.detail.companyId" type="primary" @click="editedSub(ruleFormRef)">
+        <el-button v-if="props.detail.id" type="primary" @click="editedSub(ruleFormRef)">
           提交
         </el-button>
       </div>
@@ -95,13 +61,7 @@
   import { computed, reactive, ref, defineProps, defineEmits, watch } from 'vue';
   import { IS_DISABLED } from '@/types/scene/constant.ts';
   import { type FormInstance, type FormRules } from 'element-plus';
-  import {
-    addWorkshop,
-    editWorkshop,
-    addWorkshopModuleLabel,
-    editWorkshopModuleLabel,
-  } from '@/api/scene/scene.ts';
-  import { LabelModuleListType, WorkshopModuleType } from '@/types/scene/type.ts';
+  import { addWorkshop, editWorkshop } from '@/api/scene/scene.ts';
   import { getWorkshopInfoList } from '@/api/workShopData';
 
   type WorkshopListType = {
@@ -115,23 +75,18 @@
     workshopList.value = res;
   });
 
-  const changeWorkShopCode = (code: string, isEnable: boolean) => {
+  const changeWorkShopCode = (workshopCode: string, isEnable: boolean) => {
     if (isEnable === false) return;
-    ruleForm.code = code;
+    ruleForm.code = workshopCode;
   };
 
   const props = defineProps<{
-    // allCodes: string[];
-    workshopTemplateList: WorkshopModuleType[];
     detail: {
       id?: number;
-      name?: string;
       code?: string;
+      name?: string;
       seniorScene?: string;
-      tagWorkshop?: number;
-      templateWorkshop?: number;
-      addEnable?: IS_DISABLED;
-      tagList?: LabelModuleListType[];
+      isDisabled?: IS_DISABLED;
       companyId?: number;
     };
   }>();
@@ -146,7 +101,7 @@
   const ruleFormRef = ref<FormInstance>();
 
   const title = computed(() => {
-    if (props.detail.companyId) {
+    if (props.detail.id) {
       return '编辑车间';
     }
     return '添加车间';
@@ -154,20 +109,15 @@
 
   interface RuleForm {
     name: string; //名称
+    code: string; //车间code
     seniorScene: string; //上级场景
-    code: string; //代码
-    tagWorkshop?: number | null; //场景标签  车间
-    templateWorkshop?: number | null; //车间模板
-    addEnable?: IS_DISABLED; //状态
+    isDisabled?: IS_DISABLED; //状态
   }
   const ruleForm = reactive<RuleForm>({
     name: '',
-    seniorScene: '',
     code: '',
-    tagWorkshop: null,
-    templateWorkshop: null,
-    addEnable: IS_DISABLED.TRUE,
-    // principal: '',
+    seniorScene: '',
+    isDisabled: IS_DISABLED.FALSE,
   });
   const rules = reactive<FormRules>({
     name: [
@@ -178,12 +128,6 @@
       { required: true, message: '', trigger: 'blur' },
       { min: 1, max: 100, message: 'Length should be 1 to 100', trigger: 'blur' },
     ],
-    // code: [
-    //   { required: true, message: '车间代码不能为空', trigger: 'blur' },
-    //   { min: 1, max: 100, message: 'Length should be 1 to 100', trigger: 'blur' },
-    // ],
-    tagWorkshop: [{ required: true, message: '请选择场景标签', trigger: 'blur' }],
-    templateWorkshop: [{ required: true, message: '请选择车间模板', trigger: 'blur' }],
   });
 
   //编辑时需要传入子组件的数据
@@ -192,10 +136,7 @@
     (data) => {
       ruleForm.name = data.name!;
       ruleForm.seniorScene = data.seniorScene!;
-      ruleForm.code = data.code!;
-      ruleForm.tagWorkshop = data.tagWorkshop;
-      ruleForm.templateWorkshop = data.templateWorkshop;
-      ruleForm.addEnable = data.addEnable;
+      ruleForm.isDisabled = data.isDisabled;
     },
     { immediate: true },
   );
@@ -208,36 +149,15 @@
         return;
       }
       const newAddData = {
-        code: ruleForm.code,
-        companyId: props.detail.id,
-        sceneLabelId: ruleForm.tagWorkshop!,
-        isDeleted: 0,
+        companyId: props.detail.companyId,
         name: ruleForm.name,
-        status: Number(ruleForm.addEnable),
-        serial: 0,
+        code: ruleForm.code,
+        isDisabled: ruleForm.isDisabled,
       };
 
-      // if (props.allCodes.includes(ruleForm.code)) {
-      //   ElMessageBox.confirm('场景代码重复,请重新填写', '代码重复', {
-      //     confirmButtonText: '确认',
-      //     cancelButtonText: '取消',
-      //     type: 'error',
-      //   })
-      //     .then(() => {
-      //       console.log('场景代码重复,请重新填写');
-      //     })
-      //     .catch(() => {
-      //       console.log('取消删除物件');
-      //     });
-      // } else {
       addWorkshop(newAddData)
-        .then((res) => {
-          const newWorkshopModule = {
-            workshopId: res,
-            isDeleted: 0,
-            workshopModuleId: ruleForm.templateWorkshop!,
-          };
-          return addWorkshopModuleLabel(newWorkshopModule);
+        .then(() => {
+          console.log('成功添加车间');
         })
         .catch((err) => {
           console.log(err);
@@ -245,7 +165,6 @@
         .finally(() => {
           emit('onOk');
         });
-      // }
     });
   };
 
@@ -256,39 +175,17 @@
       if (!valid) {
         return;
       }
-      // if (props.allCodes.includes(ruleForm.code)) {
-      //   if (props.detail.code !== ruleForm.code) {
-      //     ElMessageBox.confirm('场景代码重复,请重新填写', '代码重复', {
-      //       confirmButtonText: '确认',
-      //       cancelButtonText: '取消',
-      //       type: 'error',
-      //     })
-      //       .then(() => {
-      //         console.log('代码重复');
-      //       })
-      //       .catch(() => {
-      //         console.log('取消删除物件');
-      //       });
-      //     return;
-      //   }
-      // }
 
       const editNewWorkshopData = {
+        id: props.detail.id,
         code: ruleForm.code,
-        sceneLabelId: ruleForm.tagWorkshop!,
         name: ruleForm.name,
-        status: Number(ruleForm.addEnable),
-        id: props.detail.id,
+        isDisabled: ruleForm.isDisabled,
       };
 
       editWorkshop(editNewWorkshopData)
         .then(() => {
-          const editWorkshopModule = {
-            isDeleted: 0,
-            workshopId: props.detail.id,
-            workshopModuleId: ruleForm.templateWorkshop!,
-          };
-          return editWorkshopModuleLabel(editWorkshopModule);
+          console.log('成功修改车间');
         })
         .catch((err) => {
           console.log(err);
@@ -302,10 +199,8 @@
   //重置编辑框
   const resetDraw = () => {
     ruleForm.name = '';
-    // ruleForm.code = '';
-    ruleForm.addEnable = IS_DISABLED.TRUE;
-    ruleForm.templateWorkshop = null;
-    ruleForm.tagWorkshop = null;
+    ruleForm.code = '';
+    ruleForm.isDisabled = IS_DISABLED.FALSE;
   };
 </script>
 

+ 45 - 86
src/views/system-config/scene-manage/components/WorkspaceDrawer-shangfei.vue

@@ -20,7 +20,6 @@
         status-icon
       >
         <el-form-item label="工位名称" prop="name">
-          <!-- <el-input v-model="ruleForm.name" /> -->
           <el-select v-model="ruleForm.name" placeholder="请选择工位" style="width: 200px">
             <el-option
               v-for="item in workSpaceList"
@@ -32,35 +31,32 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="上级场景" prop="seniorScene">
+        <el-form-item label="所属车间" prop="seniorScene">
           <el-input v-model="ruleForm.seniorScene" disabled />
         </el-form-item>
-        <!-- <el-form-item label="工位代码" prop="code">
-          <el-input v-model="ruleForm.code" />
-        </el-form-item> -->
-        <el-form-item label="负责人" prop="principal">
-          <el-input v-model="ruleForm.principal" />
+        <el-form-item label="负责人" prop="principalName">
+          <el-input v-model="ruleForm.principalName" />
         </el-form-item>
         <el-form-item label="状态">
           <el-switch
-            v-model="ruleForm.addEnable"
-            :active-value="IS_DISABLED.TRUE"
-            :inactive-value="IS_DISABLED.FALSE"
+            v-model="ruleForm.isDisabled"
+            :active-value="IS_DISABLED.FALSE"
+            :inactive-value="IS_DISABLED.TRUE"
             class="switchUse"
           />
         </el-form-item>
       </el-form>
       <div style="position: absolute; left: 108px; bottom: 67px">
-        <el-button v-if="!props.detail.principal" @click="resetDraw">重置</el-button>
-        <el-button v-if="!props.detail.principal" type="primary" @click="addNewType(ruleFormRef)">
+        <el-button v-if="!props.detail.id" @click="resetDraw">重置</el-button>
+        <el-button v-if="!props.detail.id" type="primary" @click="addNewType(ruleFormRef)">
           提交
         </el-button>
-        <el-button v-if="props.detail.principal" type="primary" @click="editedSub(ruleFormRef)">
+        <el-button v-if="props.detail.id" type="primary" @click="editedSub(ruleFormRef)">
           提交
         </el-button>
       </div>
-    </el-drawer></div
-  >
+    </el-drawer>
+  </div>
 </template>
 
 <script setup lang="ts">
@@ -71,14 +67,14 @@
   import { getWorkSpaceInfoList } from '@/api/workShopData';
 
   const props = defineProps<{
-    // allCodes: string[];
     detail: {
       id?: number;
       name?: string;
       code?: string;
       seniorScene?: string;
-      principal?: string;
-      addEnable?: IS_DISABLED;
+      principalName?: string;
+      isDisabled?: IS_DISABLED;
+      workshopId?: number;
       workshopCode?: string;
     };
   }>();
@@ -92,22 +88,19 @@
   const workSpaceList = ref<workSpaceListType[]>([]);
   getWorkSpaceInfoList({ workshopCode: props.detail.workshopCode }).then((res) => {
     workSpaceList.value = res;
-
-    // console.log('workSpaceList.value', workSpaceList.value);
   });
-  const changeWorkSpaceCode = (code: string, isEnable: boolean) => {
+  const changeWorkSpaceCode = (workspaceCode: string, isEnable: boolean) => {
     if (isEnable === false) return;
-    ruleForm.code = code;
-
-    console.log('ruleForm', ruleForm);
+    ruleForm.code = workspaceCode;
   };
+
   const emit = defineEmits<{
     (e: 'onOk'): unknown;
     (e: 'onClose'): unknown;
   }>();
 
   const title = computed(() => {
-    if (props.detail.principal) {
+    if (props.detail.principalName) {
       return '编辑工位';
     }
     return '添加工位';
@@ -120,30 +113,26 @@
     name: string; //名称
     seniorScene: string; //上级场景
     code: string; //代码
-    principal?: string; //负责人
-    addEnable?: IS_DISABLED;
+    principalName?: string; //负责人
+    isDisabled?: IS_DISABLED;
   }
   const ruleForm = reactive<RuleForm>({
     name: '',
     seniorScene: '',
     code: '',
-    principal: '',
-    addEnable: IS_DISABLED.TRUE,
+    principalName: '',
+    isDisabled: IS_DISABLED.FALSE,
   });
   const rules = reactive<FormRules>({
     name: [
       { required: true, message: '工位不能为空', trigger: 'blur' },
       { min: 1, max: 100, message: 'Length should be 3 to 5', trigger: 'blur' },
     ],
-    seniorScene: [
-      { required: true, message: '', trigger: 'blur' },
-      { min: 1, max: 100, message: 'Length should be 1 to 100', trigger: 'blur' },
-    ],
-    // code: [
-    //   { required: true, message: '工位代码不能为空', trigger: 'blur' },
+    // seniorScene: [
+    //   { required: true, message: '', trigger: 'blur' },
     //   { min: 1, max: 100, message: 'Length should be 1 to 100', trigger: 'blur' },
     // ],
-    principal: [
+    principalName: [
       { required: true, message: '负责人不能为空', trigger: 'blur' },
       { min: 1, max: 100, message: 'Length should be 1 to 100', trigger: 'blur' },
     ],
@@ -155,13 +144,13 @@
       ruleForm.name = data.name!;
       ruleForm.seniorScene = data.seniorScene!;
       ruleForm.code = data.code!;
-      ruleForm.principal = data.principal;
-      ruleForm.addEnable = data.addEnable;
+      ruleForm.principalName = data.principalName;
+      ruleForm.isDisabled = data.isDisabled;
     },
     { immediate: true },
   );
 
-  //添加新公司的提交
+  //添加的提交
   const addNewType = (formEl: FormInstance | undefined) => {
     if (!formEl) return;
 
@@ -169,31 +158,18 @@
       if (!valid) {
         return;
       }
-      // if (props.allCodes.indexOf(ruleForm.code) > -1) {
-      //   ElMessageBox.confirm('场景代码重复,请重新填写', '代码重复', {
-      //     confirmButtonText: '确认',
-      //     cancelButtonText: '取消',
-      //     type: 'error',
-      //   })
-      //     .then(() => {
-      //       console.log('场景代码重复,请重新填写');
-      //     })
-      //     .catch(() => {
-      //       console.log('取消删除物件');
-      //     });
-      // } else {
+
       const newAddData = {
         code: ruleForm.code,
-        workshopId: props.detail.id,
-        isDeleted: 0,
+        workshopId: props.detail.workshopId,
         name: ruleForm.name,
-        principal: ruleForm.principal,
-        status: Number(ruleForm.addEnable),
-        serial: 0,
+        principalName: ruleForm.principalName,
+        isDisabled: ruleForm.isDisabled,
       };
+
       addWorkspace(newAddData)
-        .catch((err) => {
-          console.log(err);
+        .then(() => {
+          console.log('成功添加车间');
         })
         .catch((err) => {
           console.log(err);
@@ -201,11 +177,10 @@
         .finally(() => {
           emit('onOk');
         });
-      // }
     });
   };
 
-  //编辑公司时的提交
+  //编辑时的提交
   const editedSub = (formEl: FormInstance | undefined) => {
     if (!formEl) return;
 
@@ -213,35 +188,19 @@
       if (!valid) {
         return;
       }
-      // if (props.allCodes.indexOf(ruleForm.code) > -1) {
-      //   if (props.detail.code !== ruleForm.code) {
-      //     ElMessageBox.confirm('场景代码重复,请重新填写', '代码重复', {
-      //       confirmButtonText: '确认',
-      //       cancelButtonText: '取消',
-      //       type: 'error',
-      //     })
-      //       .then(() => {
-      //         console.log('代码重复');
-      //       })
-      //       .catch(() => {
-      //         console.log('取消删除物件');
-      //       });
-      //     return;
-      //   }
-      // }
 
       const editNewWorkspaceData = {
+        id: props.detail.id,
         code: ruleForm.code,
         name: ruleForm.name,
-        status: Number(ruleForm.addEnable),
-        id: props.detail.id,
-        principal: ruleForm.principal,
+        principalName: ruleForm.principalName,
+        isDisabled: ruleForm.isDisabled,
       };
 
-      //编辑车间并上传
+      //编辑并上传
       editWorkspace(editNewWorkspaceData)
-        .catch((err) => {
-          console.log(err);
+        .then(() => {
+          console.log('成功修改车间');
         })
         .catch((err) => {
           console.log(err);
@@ -255,9 +214,9 @@
   //重置编辑框
   const resetDraw = () => {
     ruleForm.name = '';
-    // ruleForm.code = '';
-    ruleForm.addEnable = IS_DISABLED.TRUE;
-    ruleForm.principal = '';
+    ruleForm.code = '';
+    ruleForm.isDisabled = IS_DISABLED.FALSE;
+    ruleForm.principalName = '';
   };
 </script>
 

+ 11 - 11
src/views/system-config/scene-manage/components/WorkspaceDrawer.vue

@@ -25,8 +25,8 @@
         <el-form-item label="所属车间" prop="seniorScene">
           <el-input v-model="ruleForm.seniorScene" disabled />
         </el-form-item>
-        <el-form-item label="负责人" prop="principal">
-          <el-input v-model="ruleForm.principal" />
+        <el-form-item label="负责人" prop="principalName">
+          <el-input v-model="ruleForm.principalName" />
         </el-form-item>
         <el-form-item label="状态">
           <el-switch
@@ -62,7 +62,7 @@
       id?: number;
       name?: string;
       seniorScene?: string;
-      principal?: string;
+      principalName?: string;
       isDisabled?: IS_DISABLED;
       workshopId?: number;
       // orderNum?: number;
@@ -87,13 +87,13 @@
   interface RuleForm {
     name: string; //名称
     seniorScene: string; //所属车间
-    principal?: string; //负责人
+    principalName?: string; //负责人
     isDisabled?: IS_DISABLED;
   }
   const ruleForm = reactive<RuleForm>({
     name: '',
     seniorScene: '',
-    principal: '',
+    principalName: '',
     isDisabled: IS_DISABLED.FALSE,
   });
   const rules = reactive<FormRules>({
@@ -101,7 +101,7 @@
       { required: true, message: '工位名称不能为空', trigger: 'blur' },
       { min: 1, max: 100, message: '最大输入不超过100字', trigger: 'blur' },
     ],
-    principal: [
+    principalName: [
       { required: true, message: '负责人不能为空', trigger: 'blur' },
       { min: 1, max: 100, message: '最大输入不超过100字', trigger: 'blur' },
     ],
@@ -112,7 +112,7 @@
     (data) => {
       ruleForm.name = data.name!;
       ruleForm.seniorScene = data.seniorScene!;
-      ruleForm.principal = data.principal;
+      ruleForm.principalName = data.principalName;
       ruleForm.isDisabled = data.isDisabled;
     },
     { immediate: true },
@@ -129,7 +129,7 @@
 
       const newAddData = {
         name: ruleForm.name,
-        principalName: ruleForm.principal,
+        principalName: ruleForm.principalName,
         isDisabled: ruleForm.isDisabled,
         workshopId: props.detail.workshopId,
         // orderNum: props.detail.orderNum,
@@ -159,8 +159,8 @@
       const editNewWorkspaceData = {
         id: props.detail.id,
         name: ruleForm.name,
-        isDisabled: Number(ruleForm.isDisabled),
-        principalName: ruleForm.principal,
+        isDisabled: ruleForm.isDisabled,
+        principalName: ruleForm.principalName,
       };
 
       //编辑车间并上传
@@ -181,7 +181,7 @@
   const resetDraw = () => {
     ruleForm.name = '';
     ruleForm.isDisabled = IS_DISABLED.FALSE;
-    ruleForm.principal = '';
+    ruleForm.principalName = '';
   };
 </script>