Forráskód Böngészése

新增领取管理,归还提醒,过期提醒

pm 11 hónapja
szülő
commit
64ab443878

+ 44 - 0
src/api/mes/expire/expire.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询过期提醒--分页
+export function listExpiredReminder(query) {
+  return request({
+    url: '/iscs/loan/getExpiredReminderPage',
+    method: 'get',
+    params: query
+  })
+}
+
+// 新增过期提醒信息 /dev-api/iscs/type/insertIsMaterialsType
+export function addExpiredReminder(data) {
+  return request({
+    url: '/iscs/type/insertIsMaterialsType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改过期提醒信息 /dev-api/iscs/type/updateIsMaterialsType
+export function updateExpiredReminder(data) {
+  return request({
+    url: '/iscs/type/updateIsMaterialsType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除过期提醒信息 /dev-api/iscs/type/deleteIsMaterialsTypeByMaterialsTypeIds
+export function deleteExpiredReminder(data) {
+  return request({
+    url: '/iscs/type/deleteIsMaterialsTypeByMaterialsTypeIds?materialsTypeIds=' + data,
+    method: 'post',
+  })
+}
+
+// 获取物资详细信息/dev-api/iscs/type/selectIsMaterialsTypeById
+export function selectExpiredReminderById(query) {
+  return request({
+    url: '/iscs/type/selectIsMaterialsTypeById?materialsTypeId=' + query,
+    method: 'get',
+  })
+}

+ 44 - 0
src/api/mes/loan/loan.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询归还提醒--分页
+export function listLoan(query) {
+  return request({
+    url: '/iscs/loan/getIsMaterialsLoanPage',
+    method: 'get',
+    params: query
+  })
+}
+
+// 新增归还提醒信息 /dev-api/iscs/type/insertIsMaterialsType
+export function addReturnReminder(data) {
+  return request({
+    url: '/iscs/type/insertIsMaterialsType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改归还提醒信息 /dev-api/iscs/type/updateIsMaterialsType
+export function updateReturnReminder(data) {
+  return request({
+    url: '/iscs/type/updateIsMaterialsType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除归还提醒信息 /dev-api/iscs/type/deleteIsMaterialsTypeByMaterialsTypeIds
+export function deleteLoan(data) {
+  return request({
+    url: '/iscs/loan/deleteIsMaterialsLoanByMaterialsLoanIds?materialsLoanIds=' + data,
+    method: 'post',
+  })
+}
+
+// 获取物资详细信息/dev-api/iscs/type/selectIsMaterialsTypeById
+export function selectReturnReminderById(query) {
+  return request({
+    url: '/iscs/type/selectIsMaterialsTypeById?materialsTypeId=' + query,
+    method: 'get',
+  })
+}

+ 46 - 0
src/api/mes/locktype/locktype.js

@@ -0,0 +1,46 @@
+import request from '@/utils/request'
+
+
+// 查询锁具类型-列表
+export function listLockType(query) {
+  return request({
+    url: '/iscs/lockType/getIsLockTypePage',
+    method: 'get',
+    params: query
+  })
+}
+
+// 获取锁具类型详细信息
+export function getLockTypeInfo(repairId) {
+  return request({
+    url: '/dev-api/iscs/lockType/selectIsLockTypeById?id=' + repairId,
+    method: 'get'
+  })
+}
+
+//新增锁具类型
+export function addLockType(query) {
+  return request({
+    url: '/iscs/lockType/insertIsLockType',
+    method: 'post',
+    data: query
+  })
+}
+
+// 修改设备维修单
+export function updateLockType(data) {
+  return request({
+    url: '/iscs/lockType/updateIsLockType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除设备维修单
+export function delLockType(repairId) {
+  return request({
+    url: '/iscs/lockType/deleteIsLockTypeByLockTypeIds?ids='+ repairId,
+    method: 'post'
+
+  })
+}

+ 44 - 0
src/api/mes/notifymessage/notifymessage.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询站内信--分页
+export function listNotify(query) {
+  return request({
+    url: '/system/notify-message/my-page',
+    method: 'get',
+    params: query
+  })
+}
+
+// 新增站内信信息 /dev-api/iscs/type/insertIsMaterialsType
+export function addMaterialsType(data) {
+  return request({
+    url: '/iscs/type/insertIsMaterialsType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改站内信信息 /dev-api/iscs/type/updateIsMaterialsType
+export function updateMaterialsType(data) {
+  return request({
+    url: '/iscs/type/updateIsMaterialsType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除站内信信息 /dev-api/iscs/type/deleteIsMaterialsTypeByMaterialsTypeIds
+export function deleteMaterialsType(data) {
+  return request({
+    url: '/iscs/type/deleteIsMaterialsTypeByMaterialsTypeIds?materialsTypeIds=' + data,
+    method: 'post',
+  })
+}
+
+// 获取物资详细信息/dev-api/iscs/type/selectIsMaterialsTypeById
+export function selectMaterialsTypeById(query) {
+  return request({
+    url: '/iscs/type/selectIsMaterialsTypeById?materialsTypeId=' + query,
+    method: 'get',
+  })
+}

+ 44 - 0
src/api/mes/return/return.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询归还提醒--分页
+export function listReturnReminder(query) {
+  return request({
+    url: '/iscs/reminder/getIsMaterialsReminderPage',
+    method: 'get',
+    params: query
+  })
+}
+
+// 新增归还提醒信息 /dev-api/iscs/type/insertIsMaterialsType
+export function addReturnReminder(data) {
+  return request({
+    url: '/iscs/type/insertIsMaterialsType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改归还提醒信息 /dev-api/iscs/type/updateIsMaterialsType
+export function updateReturnReminder(data) {
+  return request({
+    url: '/iscs/type/updateIsMaterialsType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除归还提醒信息 /dev-api/iscs/type/deleteIsMaterialsTypeByMaterialsTypeIds
+export function deleteReturnReminder(data) {
+  return request({
+    url: '/iscs/type/deleteIsMaterialsTypeByMaterialsTypeIds?materialsTypeIds=' + data,
+    method: 'post',
+  })
+}
+
+// 获取物资详细信息/dev-api/iscs/type/selectIsMaterialsTypeById
+export function selectReturnReminderById(query) {
+  return request({
+    url: '/iscs/type/selectIsMaterialsTypeById?materialsTypeId=' + query,
+    method: 'get',
+  })
+}

+ 1 - 2
src/components/separationPoint/index.vue

@@ -147,13 +147,12 @@ export default {
 
       // const positions = JSON.parse(this.points.map);
 
-      let positions=this.getMapData
+
 
       // 检查 this.getSelectSopPoints 是否有内容
       const isLocked = this.getSelectSopPoints.length > 0
 
       // 添加或移除全局点击事件监听器 this.getSopEdit这是vuex里判断是否可以选择隔离点的操作
-
       if (isLocked && this.getSopEdit == true) {
         this.layer.on('click', (e) => {
           e.cancelBubble = true // 阻止事件冒泡

+ 70 - 71
src/views/mes/material/collectionmanagement/index.vue

@@ -1,4 +1,4 @@
-<template>
+  <template>
   <div class="app-container">
     <el-form
       :model="queryParams"
@@ -8,37 +8,37 @@
       v-show="showSearch"
       label-width="100px"
     >
-      <el-form-item label="物资编码" prop="teamCode">
+      <el-form-item label="物资编码" prop="materialsCode">
         <el-input
-          v-model="queryParams.teamCode"
+          v-model="queryParams.materialsCode"
           placeholder="请输入物资编码"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="物资名称" prop="teamCode">
+      <el-form-item label="物资名称" prop="materialsName">
         <el-input
-          v-model="queryParams.teamCode"
+          v-model="queryParams.materialsName"
           placeholder="请输入物资名称"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="领取人" prop="teamCode">
+      <el-form-item label="领取人" prop="loanUserName">
         <el-input
-          v-model="queryParams.teamCode"
+          v-model="queryParams.loanUserName"
           placeholder="请输入领取人"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="是否需要归还" prop="teamCode">
+      <el-form-item label="是否需要归还" prop="restitutionRequired">
         <el-select
-          v-model="queryParams.calendarType"
+          v-model="queryParams.restitutionRequired"
           placeholder="是否需要归还"
         >
-          <el-option>需要归还</el-option>
-          <el-option>不需要归还</el-option>
+          <el-option value="1">需要归还</el-option>
+          <el-option value="2">不需要归还</el-option>
           <!--          <el-option-->
           <!--            v-for="dict in dict.type.mes_calendar_type"-->
           <!--            :key="dict.value"-->
@@ -47,26 +47,22 @@
           <!--          />-->
         </el-select>
       </el-form-item>
-      <el-form-item label="领取柜" prop="teamCode">
-        <el-select v-model="queryParams.calendarType" placeholder="领取柜子">
-          <el-option
-            v-for="dict in dict.type.mes_calendar_type"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
+      <el-form-item label="领取柜" prop="loanFormName">
+        <el-input
+          v-model="queryParams.loanFormName"
+          placeholder="请输入领取柜"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
 
-      <el-form-item label="归还柜" prop="teamCode">
-        <el-select v-model="queryParams.calendarType" placeholder="归还柜">
-          <el-option
-            v-for="dict in dict.type.mes_calendar_type"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
+      <el-form-item label="归还柜" prop="restitutionToName">
+        <el-input
+          v-model="queryParams.restitutionToName"
+          placeholder="请输入归还柜"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
 
       <el-form-item>
@@ -140,26 +136,28 @@
       @selection-change="handleSelectionChange"
     >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="物资编码" align="center" prop="teamCode">
+      <el-table-column label="物资编码" align="center" prop="materialsCode">
         <template slot-scope="scope">
           <el-button
             type="text"
             @click="handleView(scope.row)"
             v-hasPermi="['mes:mat:coll:query']"
-            >{{ scope.row.teamCode }}
+            >{{ scope.row.materialsCode }}
           </el-button>
         </template>
       </el-table-column>
-      <el-table-column label="物资名称" align="center" prop="teamName" />
-      <el-table-column label="操作" align="center" prop="remark">
-      </el-table-column>
-      <el-table-column label="领取柜" align="center" prop="remark">
+      <el-table-column label="物资名称" align="center" prop="materialsName" />
+      <el-table-column label="领取柜" align="center" prop="loanFromName">
       </el-table-column>
-      <el-table-column label="是否需要归还" align="center" prop="remark">
+      <el-table-column label="是否需要归还" align="center" prop="restitutionRequired">
+        <template slot-scope="scope">
+          <el-tag type="primary" v-if="scope.row.restitutionRequired==1">是</el-tag>
+          <el-tag type="danger" v-else>否</el-tag>
+        </template>
       </el-table-column>
-      <el-table-column label="领取人" align="center" prop="remark">
+      <el-table-column label="领取人" align="center" prop="loanUserName">
       </el-table-column>
-      <el-table-column label="创建时间" align="center" prop="remark">
+      <el-table-column label="创建时间" align="center" prop="createTime">
       </el-table-column>
       <el-table-column
         label="操作"
@@ -190,8 +188,8 @@
     <pagination
       v-show="total > 0"
       :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
+      :page.sync="queryParams.current"
+      :limit.sync="queryParams.size"
       @pagination="getList"
     />
 
@@ -204,10 +202,10 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
         <el-row>
           <el-col :span="12">
-            <el-form-item label="物资类型编码" prop="teamCode">
+            <el-form-item label="物资编码" prop="materialsCode">
               <el-input
-                v-model="form.teamCode"
-                placeholder="请输入物资类型编码"
+                v-model="form.materialsCode"
+                placeholder="请输入物资编码"
               />
             </el-form-item>
           </el-col>
@@ -216,7 +214,7 @@
               <el-select
                 style="width: 348px"
                 v-model="form.calendarType"
-                placeholder="请选择隔离点类型"
+                placeholder="请选择物资类型"
               >
                 <el-option
                   v-for="dict in dict.type.mes_calendar_type"
@@ -230,8 +228,8 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="物资名称" prop="teamCode">
-              <el-input v-model="form.teamCode" placeholder="请输入物资名称" />
+            <el-form-item label="物资名称" prop="materialsName">
+              <el-input v-model="form.materialsName" placeholder="请输入物资名称" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -288,9 +286,9 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <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 label="是否需要归还" prop="restitutionRequired">
+              <el-radio v-model="form.restitutionRequired" label="1">需要归还</el-radio>
+              <el-radio v-model="form.restitutionRequired" label="2">不需要归还</el-radio>
             </el-form-item>
           </el-col>
         </el-row>
@@ -308,20 +306,14 @@
 </template>
 
 <script>
-import {
-  listTeam,
-  getTeam,
-  delTeam,
-  addTeam,
-  updateTeam,
-} from "@/api/mes/cal/team";
+import { deleteLoan, listLoan } from '@/api/mes/loan/loan'
 
 import { genCode } from "@/api/system/autocode/rule";
 
 export default {
   name: "Team",
 
-  dicts: ["mes_calendar_type"],
+  dicts: ["sys_yes_no"],
   data() {
     return {
       //自动生成编码
@@ -347,11 +339,15 @@ export default {
       open: false,
       // 查询参数
       queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        teamCode: null,
-        teamName: null,
-        calendarType: null,
+        current: 1,
+        size: 10,
+        materialsName: null,
+        materialsCode: null,
+        loanUserName: null,
+        restitutionRequired:null,//是否需要归还
+        restitutionUserName:null,
+        restitutionToName:null,//归还柜
+        loanFormName:null,//领取柜
       },
       pickerOptions: {
         shortcuts: [
@@ -410,9 +406,10 @@ export default {
     /** 查询班组列表 */
     getList() {
       this.loading = true;
-      listTeam(this.queryParams).then((response) => {
-        this.teamList = response.rows;
-        this.total = response.total;
+      listLoan(this.queryParams).then((response) => {
+        console.log(response,'领取管理列表')
+        this.teamList = response.data.records;
+        this.total = response.data.total;
         this.loading = false;
       });
     },
@@ -450,7 +447,7 @@ export default {
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
+      this.queryParams.current = 1;
       this.getList();
     },
     /** 重置按钮操作 */
@@ -460,7 +457,7 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.teamId);
+      this.ids = selection.map((item) => item.materialsLoanId);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
     },
@@ -474,7 +471,7 @@ export default {
     // 查询明细按钮操作
     handleView(row) {
       this.reset();
-      const teamId = row.teamId || this.ids;
+      const teamId = row.materialsLoanId || this.ids;
       getTeam(teamId).then((response) => {
         this.form = response.data;
         this.open = true;
@@ -485,7 +482,7 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const teamId = row.teamId || this.ids;
+      const teamId = row.materialsLoanId || this.ids;
       getTeam(teamId).then((response) => {
         this.form = response.data;
         this.open = true;
@@ -515,11 +512,13 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const teamIds = row.teamId || this.ids;
+
+      const teamIds = row.materialsLoanId || this.ids;
+      console.log(teamIds,'teamIds')
       this.$modal
         .confirm('是否确认删除班组编号为"' + teamIds + '"的数据项?')
         .then(function () {
-          return delTeam(teamIds);
+          return deleteLoan(teamIds);
         })
         .then(() => {
           this.getList();

+ 222 - 243
src/views/mes/material/expireremind/index.vue

@@ -1,44 +1,33 @@
 <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="teamCode">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
+      <el-form-item label="物资编码" prop="materialsCode">
         <el-input
-          v-model="queryParams.teamCode"
+          v-model="queryParams.materialsCode"
           placeholder="请输入物资编码"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="物资名称" prop="teamCode">
+      <el-form-item label="物资名称" prop="materialsName">
         <el-input
-          v-model="queryParams.teamCode"
+          v-model="queryParams.materialsName"
           placeholder="请输入物资名称"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="状态" prop="teamCode">
-        <el-select v-model="queryParams.calendarType" placeholder="状态">
-          <el-option>已读</el-option>
-          <el-option>未读</el-option>
-          <!--          <el-option-->
-          <!--            v-for="dict in dict.type.mes_calendar_type"-->
-          <!--            :key="dict.value"-->
-          <!--            :label="dict.label"-->
-          <!--            :value="dict.value"-->
-          <!--          />-->
-        </el-select>
+      <el-form-item label="领取人" prop="loanUserName">
+        <el-input
+          v-model="queryParams.loanUserName"
+          placeholder="请输入领取人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
-      <el-form-item label="过期时间">
+      <el-form-item label="领取时间">
         <el-date-picker
-          v-model="value2"
+          v-model="form.startTime"
           type="datetime"
           placeholder="选择日期时间"
           align="right"
@@ -46,21 +35,17 @@
         >
         </el-date-picker>
       </el-form-item>
-      <el-form-item label="所属柜" prop="calendarType">
-        <el-select v-model="queryParams.calendarType" placeholder="领取柜">
-          <!--          <el-option>柜中</el-option>-->
-          <!--          <el-option>柜外</el-option>-->
-          <el-option
-            v-for="dict in dict.type.mes_calendar_type"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
+      <el-form-item label="领取柜" prop="loanFromName">
+        <el-input
+          v-model="queryParams.loanFromName"
+          placeholder="请输入领取人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
       <el-form-item label="物资报废时间">
         <el-date-picker
-          v-model="value3"
+          v-model="form.endTime"
           type="datetime"
           placeholder="选择日期时间"
           align="right"
@@ -68,17 +53,21 @@
         >
         </el-date-picker>
       </el-form-item>
+      <el-form-item label="状态" prop="teamCode">
+        <el-select v-model="queryParams.calendarType" placeholder="状态">
+          <el-option>已读</el-option>
+          <el-option>未读</el-option>
+          <!--          <el-option-->
+          <!--            v-for="dict in dict.type.mes_calendar_type"-->
+          <!--            :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>
 
@@ -90,8 +79,8 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-          v-hasPermi="['mes:mat:exp:add']"
-          >新增
+          v-hasPermi="['mes:mat:ret:add']"
+        >新增
         </el-button>
       </el-col>
       <!--      <el-col :span="1.5">-->
@@ -113,8 +102,8 @@
           size="mini"
           :disabled="multiple"
           @click="handleDelete"
-          v-hasPermi="['mes:mat:exp:batchremove']"
-          >批量删除
+          v-hasPermi="['mes:mat:ret:batchremove']"
+        >批量删除
         </el-button>
       </el-col>
       <!--      <el-col :span="1.5">-->
@@ -127,68 +116,65 @@
       <!--          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-loading="loading"
-      :data="teamList"
-      @selection-change="handleSelectionChange"
-    >
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="物资编码" align="center" prop="teamCode">
+    <el-table v-loading="loading" :data="teamList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="物资编码" align="center" prop="materialsCode">
         <template slot-scope="scope">
           <el-button
             type="text"
             @click="handleView(scope.row)"
-            v-hasPermi="['mes:mat:exp:query']"
-            >{{ scope.row.teamCode }}
+            v-hasPermi="['mes:mat:ret:query']"
+          >{{ scope.row.materialsCode }}
           </el-button>
         </template>
       </el-table-column>
-      <el-table-column label="物资名称" align="center" prop="teamName" />
-      <el-table-column label="通知人" align="center" prop="remark">
-      </el-table-column>
-      <el-table-column label="所属柜" align="center" prop="remark">
+      <el-table-column label="物资名称" align="center" prop="materialsName"/>
+      <el-table-column label="通知人" align="center" prop="loanUserName">
+
       </el-table-column>
-      <el-table-column label="过期时间" align="center" prop="remark">
+      <el-table-column label="所属柜" align="center" prop="loanFromName">
+
       </el-table-column>
-      <el-table-column label="状态" align="center" prop="remark">
+      <el-table-column label="过期时间" align="center" prop="loanTime">
       </el-table-column>
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
+
+      <el-table-column label="状态" align="center" prop="readFlag">
         <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['mes:mat:exp:edit']"
-            >编辑
-          </el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['mes:mat:exp:remove']"
-            >删除
-          </el-button>
+          <el-tag type="primary" v-if="scope.row.readFlag==0">已读</el-tag>
+          <el-tag type="danger" v-if="scope.row.readFlag==1">未读</el-tag>
         </template>
+
       </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:mat:ret:edit']"-->
+      <!--          >编辑-->
+      <!--          </el-button>-->
+      <!--          <el-button-->
+      <!--            size="mini"-->
+      <!--            type="text"-->
+      <!--            icon="el-icon-delete"-->
+      <!--            @click="handleDelete(scope.row)"-->
+      <!--            v-hasPermi="['mes:mat:ret:remove']"-->
+      <!--          >删除-->
+      <!--          </el-button>-->
+      <!--        </template>-->
+      <!--      </el-table-column>-->
     </el-table>
 
     <pagination
-      v-show="total > 0"
+      v-show="total>0"
       :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
+      :page.sync="queryParams.current"
+      :limit.sync="queryParams.size"
       @pagination="getList"
     />
 
@@ -200,14 +186,10 @@
       </div>
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
         <el-form-item label="物资编码" prop="teamCode">
-          <el-input v-model="form.teamCode" placeholder="请输入物资编码" />
+          <el-input v-model="form.teamCode" placeholder="请输入物资编码"/>
         </el-form-item>
         <el-form-item label="物资名称" prop="calendarType">
-          <el-select
-            style="width: 310px"
-            v-model="form.calendarType"
-            placeholder="请选择物资名称"
-          >
+          <el-select style="width: 310px" v-model="form.calendarType" placeholder="请选择物资名称">
             <el-option
               v-for="dict in dict.type.mes_calendar_type"
               :key="dict.value"
@@ -217,11 +199,12 @@
           </el-select>
         </el-form-item>
 
-        <el-form-item label="通知人" prop="teamCode">
-          <el-input v-model="form.teamCode" placeholder="请输入通知人" />
+
+        <el-form-item label="提醒人" prop="teamCode">
+          <el-input v-model="form.teamCode" placeholder="请输入提醒人"/>
         </el-form-item>
 
-        <el-form-item label="过期时间" prop="teamCode">
+        <el-form-item label="领取时间" prop="teamCode">
           <el-date-picker
             style="width: 310px"
             v-model="value2"
@@ -233,12 +216,8 @@
           </el-date-picker>
         </el-form-item>
 
-        <el-form-item label="所属柜" prop="calendarType">
-          <el-select
-            style="width: 310px"
-            v-model="form.calendarType"
-            placeholder="请选择所属柜"
-          >
+        <el-form-item label="领取柜子" prop="calendarType">
+          <el-select style="width: 310px" v-model="form.calendarType" placeholder="请选择领取柜子">
             <el-option
               v-for="dict in dict.type.mes_calendar_type"
               :key="dict.value"
@@ -247,12 +226,21 @@
             />
           </el-select>
         </el-form-item>
+        <el-form-item label="到期时间" prop="teamCode">
+          <el-date-picker
+            style="width: 310px"
+            v-model="value2"
+            type="datetime"
+            placeholder="选择到期时间"
+            align="right"
+            :picker-options="pickerOptions"
+          >
+          </el-date-picker>
+        </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="cancel" v-if="optType =='view'">返回</el-button>
         <el-button type="primary" @click="submitForm" v-else>确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
@@ -261,20 +249,14 @@
 </template>
 
 <script>
-import {
-  listTeam,
-  getTeam,
-  delTeam,
-  addTeam,
-  updateTeam,
-} from "@/api/mes/cal/team";
+import {listReturnReminder} from "@/api/mes/return/return"
 
-import { genCode } from "@/api/system/autocode/rule";
+import { genCode } from '@/api/system/autocode/rule'
 
 export default {
-  name: "Team",
+  name: 'Team',
 
-  dicts: ["mes_calendar_type"],
+  dicts: ['mes_calendar_type'],
   data() {
     return {
       //自动生成编码
@@ -295,93 +277,97 @@ export default {
       // 班组表格数据
       teamList: [],
       // 弹出层标题
-      title: "",
+      title: '',
       // 是否显示弹出层
       open: false,
       // 查询参数
       queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        teamCode: null,
-        teamName: null,
-        calendarType: null,
+        current: 1,
+        size: 10,
+        reminderType:1,//这个必须传递
+        materialsName: null,
+        materialsCode: null,
+        loanUserName: null,
+        restitutionRequired:null,//是否需要过期
+        restitutionUserName:null,
+        restitutionToName:null,//过期柜
+        loanFormName:null,//领取柜
+        startTime:null,
+        endTime:null
       },
       pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-        ],
+        shortcuts: [{
+          text: '最近一周',
+          onClick(picker) {
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
+            picker.$emit('pick', [start, end])
+          }
+        }, {
+          text: '最近一个月',
+          onClick(picker) {
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
+            picker.$emit('pick', [start, end])
+          }
+        }, {
+          text: '最近三个月',
+          onClick(picker) {
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+            picker.$emit('pick', [start, end])
+          }
+        }]
       },
 
-      value2: "",
-      value3: "",
+      value2: '',
+      value3: '',
 
       // 表单参数
       form: {},
       // 表单校验
       rules: {
         teamCode: [
-          { required: true, message: "班组编号不能为空", trigger: "blur" },
+          { required: true, message: '班组编号不能为空', trigger: 'blur' }
         ],
         teamName: [
-          { required: true, message: "班组名称不能为空", trigger: "blur" },
+          { required: true, message: '班组名称不能为空', trigger: 'blur' }
         ],
         calendarType: [
-          { required: true, message: "清选择班组类型", trigger: "blur" },
-        ],
-      },
-    };
+          { required: true, message: '清选择班组类型', trigger: 'blur' }
+        ]
+      }
+    }
   },
   created() {
-    this.getList();
+    this.getList()
   },
   methods: {
     /** 查询班组列表 */
     getList() {
-      this.loading = true;
-      listTeam(this.queryParams).then((response) => {
-        this.teamList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
+      this.loading = true
+      listReturnReminder(this.queryParams).then(response => {
+        console.log(response,'过期提醒')
+        this.teamList = response.data.records
+        this.total = response.data.total
+        this.loading = false
+      })
     },
     //图片上传成功
     handleImgUplaoded(imgUrl) {
-      this.form.sipUrl = imgUrl;
+      this.form.sipUrl = imgUrl
     },
     //图片移除
     handleImgRemoved(imgUrl) {
-      this.form.sipUrl = null;
+      this.form.sipUrl = null
     },
     // 取消按钮
     cancel() {
-      this.open = false;
-      this.reset();
+      this.open = false
+      this.reset()
     },
     // 表单重置
     reset() {
@@ -398,111 +384,104 @@ export default {
         createBy: null,
         createTime: null,
         updateBy: null,
-        updateTime: null,
-      };
-      this.resetForm("form");
+        updateTime: null
+      }
+      this.resetForm('form')
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
+      this.queryParams.current = 1
+      this.getList()
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
+      this.resetForm('queryForm')
+      this.handleQuery()
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.teamId);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
+      this.ids = selection.map(item => item.teamId)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
     },
     /** 新增按钮操作 */
     handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "新增提醒";
-      this.optType = "add";
+      this.reset()
+      this.open = true
+      this.title = '新增提醒'
+      this.optType = 'add'
     },
     // 查询明细按钮操作
     handleView(row) {
-      this.reset();
-      const teamId = row.teamId || this.ids;
-      getTeam(teamId).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "查看班组";
-        this.optType = "view";
-      });
+      this.reset()
+      const teamId = row.teamId || this.ids
+      getTeam(teamId).then(response => {
+        this.form = response.data
+        this.open = true
+        this.title = '查看班组'
+        this.optType = 'view'
+      })
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
-      this.reset();
-      const teamId = row.teamId || this.ids;
-      getTeam(teamId).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "编辑提醒";
-        this.optType = "edit";
-      });
+      this.reset()
+      const teamId = row.teamId || this.ids
+      getTeam(teamId).then(response => {
+        this.form = response.data
+        this.open = true
+        this.title = '编辑提醒'
+        this.optType = 'edit'
+      })
     },
     /** 提交按钮 */
     submitForm() {
-      this.$refs["form"].validate((valid) => {
+      this.$refs['form'].validate(valid => {
         if (valid) {
           if (this.form.teamId != null) {
-            updateTeam(this.form).then((response) => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
+            updateTeam(this.form).then(response => {
+              this.$modal.msgSuccess('修改成功')
+              this.open = false
+              this.getList()
+            })
           } else {
-            addTeam(this.form).then((response) => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
+            addTeam(this.form).then(response => {
+              this.$modal.msgSuccess('新增成功')
+              this.open = false
+              this.getList()
+            })
           }
         }
-      });
+      })
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const teamIds = row.teamId || this.ids;
-      this.$modal
-        .confirm('是否确认删除班组编号为"' + teamIds + '"的数据项?')
-        .then(function () {
-          return delTeam(teamIds);
-        })
-        .then(() => {
-          this.getList();
-          this.$modal.msgSuccess("删除成功");
-        })
-        .catch(() => {});
+      const teamIds = row.teamId || this.ids
+      this.$modal.confirm('是否确认删除班组编号为"' + teamIds + '"的数据项?').then(function() {
+        return delTeam(teamIds)
+      }).then(() => {
+        this.getList()
+        this.$modal.msgSuccess('删除成功')
+      }).catch(() => {
+      })
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download(
-        "cal/team/export",
-        {
-          ...this.queryParams,
-        },
-        `team_${new Date().getTime()}.xlsx`
-      );
+      this.download('cal/team/export', {
+        ...this.queryParams
+      }, `team_${new Date().getTime()}.xlsx`)
     },
     //自动生成编码
     handleAutoGenChange(autoGenFlag) {
       if (autoGenFlag) {
-        genCode("CAL_TEAM_CODE").then((response) => {
-          this.form.teamCode = response;
-        });
+        genCode('CAL_TEAM_CODE').then(response => {
+          this.form.teamCode = response
+        })
       } else {
-        this.form.teamCode = null;
+        this.form.teamCode = null
       }
-    },
-  },
-};
+    }
+  }
+}
 </script>
 <style lang="scss" src="@/assets/styles/dialog-title.scss" scoped>
 .el-input-width {

+ 68 - 63
src/views/mes/material/returnremind/index.vue

@@ -1,25 +1,25 @@
 <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="teamCode">
+      <el-form-item label="物资编码" prop="materialsCode">
         <el-input
-          v-model="queryParams.teamCode"
+          v-model="queryParams.materialsCode"
           placeholder="请输入物资编码"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="物资名称" prop="teamCode">
+      <el-form-item label="物资名称" prop="materialsName">
         <el-input
-          v-model="queryParams.teamCode"
+          v-model="queryParams.materialsName"
           placeholder="请输入物资名称"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="领取人" prop="teamCode">
+      <el-form-item label="领取人" prop="loanUserName">
         <el-input
-          v-model="queryParams.teamCode"
+          v-model="queryParams.loanUserName"
           placeholder="请输入领取人"
           clearable
           @keyup.enter.native="handleQuery"
@@ -27,7 +27,7 @@
       </el-form-item>
       <el-form-item label="领取时间">
         <el-date-picker
-          v-model="value2"
+          v-model="form.startTime"
           type="datetime"
           placeholder="选择日期时间"
           align="right"
@@ -35,21 +35,17 @@
         >
         </el-date-picker>
       </el-form-item>
-      <el-form-item label="领取柜" prop="calendarType">
-        <el-select v-model="queryParams.calendarType" placeholder="领取柜">
-          <!--          <el-option>柜中</el-option>-->
-          <!--          <el-option>柜外</el-option>-->
-          <el-option
-            v-for="dict in dict.type.mes_calendar_type"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
+      <el-form-item label="领取柜" prop="loanFromName">
+        <el-input
+          v-model="queryParams.loanFromName"
+          placeholder="请输入领取人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
       <el-form-item label="物资报废时间">
         <el-date-picker
-          v-model="value3"
+          v-model="form.endTime"
           type="datetime"
           placeholder="选择日期时间"
           align="right"
@@ -125,60 +121,61 @@
 
     <el-table v-loading="loading" :data="teamList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center"/>
-      <el-table-column label="物资编码" align="center" prop="teamCode">
+      <el-table-column label="物资编码" align="center" prop="materialsCode">
         <template slot-scope="scope">
           <el-button
             type="text"
             @click="handleView(scope.row)"
             v-hasPermi="['mes:mat:ret:query']"
-          >{{ scope.row.teamCode }}
+          >{{ scope.row.materialsCode }}
           </el-button>
         </template>
       </el-table-column>
-      <el-table-column label="物资名称" align="center" prop="teamName"/>
-      <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="remark">
-        <template slot-scope="scope">
-          <img src="" alt="">
-        </template>
+      <el-table-column label="物资名称" align="center" prop="materialsName"/>
+      <el-table-column label="提醒人" align="center" prop="loanUserName">
+
       </el-table-column>
-      <el-table-column label="领取时间" align="center" prop="remark">
+      <el-table-column label="领取柜" align="center" prop="loanFromName">
+
       </el-table-column>
-      <el-table-column label="到期时间" align="center" prop="remark">
+      <el-table-column label="领取时间" align="center" prop="loanTime">
       </el-table-column>
-      <el-table-column label="状态" align="center" prop="remark">
+      <el-table-column label="到期时间" align="center" prop="restitutionTime">
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="状态" align="center" prop="readFlag">
         <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['mes:mat:ret:edit']"
-          >编辑
-          </el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['mes:mat:ret:remove']"
-          >删除
-          </el-button>
+          <el-tag type="primary" v-if="scope.row.readFlag==0">已读</el-tag>
+          <el-tag type="danger" v-if="scope.row.readFlag==1">未读</el-tag>
         </template>
+
       </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:mat:ret:edit']"-->
+<!--          >编辑-->
+<!--          </el-button>-->
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-delete"-->
+<!--            @click="handleDelete(scope.row)"-->
+<!--            v-hasPermi="['mes:mat:ret:remove']"-->
+<!--          >删除-->
+<!--          </el-button>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
     </el-table>
 
     <pagination
       v-show="total>0"
       :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
+      :page.sync="queryParams.current"
+      :limit.sync="queryParams.size"
       @pagination="getList"
     />
 
@@ -253,7 +250,7 @@
 </template>
 
 <script>
-import { listTeam, getTeam, delTeam, addTeam, updateTeam } from '@/api/mes/cal/team'
+import {listReturnReminder} from "@/api/mes/return/return"
 
 import { genCode } from '@/api/system/autocode/rule'
 
@@ -286,11 +283,18 @@ export default {
       open: false,
       // 查询参数
       queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        teamCode: null,
-        teamName: null,
-        calendarType: null
+        current: 1,
+        size: 10,
+        reminderType:0,
+        materialsName: null,
+        materialsCode: null,
+        loanUserName: null,
+        restitutionRequired:null,//是否需要归还
+        restitutionUserName:null,
+        restitutionToName:null,//归还柜
+        loanFormName:null,//领取柜
+        startTime:null,
+        endTime:null
       },
       pickerOptions: {
         shortcuts: [{
@@ -346,9 +350,10 @@ export default {
     /** 查询班组列表 */
     getList() {
       this.loading = true
-      listTeam(this.queryParams).then(response => {
-        this.teamList = response.rows
-        this.total = response.total
+      listReturnReminder(this.queryParams).then(response => {
+        console.log(response,'归还提醒')
+        this.teamList = response.data.records
+        this.total = response.data.total
         this.loading = false
       })
     },
@@ -386,7 +391,7 @@ export default {
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1
+      this.queryParams.current = 1
       this.getList()
     },
     /** 重置按钮操作 */

+ 455 - 0
src/views/mes/md/locktype/index.vue

@@ -0,0 +1,455 @@
+<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="hardwareTypeCode">
+        <el-input
+          v-model="queryParams.hardwareTypeCode"
+          placeholder="请输入硬件编号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="类型名称" prop="hardwareTypeName">
+        <el-input
+          v-model="queryParams.hardwareTypeName"
+          placeholder="请输入类型名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="状态" prop="enableFlag">
+        <el-select
+          v-model="queryParams.enableFlag"
+          placeholder="请选择状态"
+          clearable
+        >
+          <el-option label="启用" value="y"></el-option>
+          <el-option label="禁用" value="n"></el-option>
+
+          <!--          <el-option-->
+          <!--            v-for="dict in dict.type.mes_order_status"-->
+          <!--            :key="dict.value"-->
+          <!--            :label="dict.label"-->
+          <!--            :value="dict.value"-->
+          <!--          />-->
+        </el-select>
+      </el-form-item>
+      <el-form-item style="margin-left: 50px">
+        <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-table
+      v-loading="loading"
+      :data="machinerytypeList"
+      row-key="id"
+      default-expand-all
+      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
+    >
+      <el-table-column
+        label="硬件编号"
+        width="170px"
+        align="center"
+        prop="hardwareTypeCode"
+      />
+      <el-table-column
+        label="类型名称"
+        width="150px"
+        align="center"
+        prop="hardwareTypeName"
+        :show-overflow-tooltip="true"
+      />
+      <el-table-column label="状态" align="center" prop="enableFlag">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.enableFlag == 'y'">启用</el-tag>
+          <el-tag v-else type="danger">禁用</el-tag>
+
+          <!--          <dict-tag-->
+          <!--            :options="dict.type.mes_order_status"-->
+          <!--            :value="scope.row.enableFlag"-->
+          <!--          />-->
+        </template>
+      </el-table-column>
+      <!--      <el-table-column label="硬件层级" align="center" prop="level">-->
+      <!--        <template slot-scope="scope">-->
+      <!--          {{-->
+      <!--            scope.row.level == "1"-->
+      <!--              ? "一"-->
+      <!--              : scope.row.level == "2"-->
+      <!--                ? "二"-->
+      <!--                : scope.row.level == "3"-->
+      <!--                  ? "三"-->
+      <!--                  : scope.row.level-->
+      <!--          }}级-->
+      <!--        </template>-->
+      <!--      </el-table-column>-->
+      <el-table-column label="备注" align="center" prop="remark" />
+      <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:hw:type:edit']"
+          >编辑</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-plus"
+            @click="handleAdd(scope.row)"
+            v-hasPermi="['mes:hw:type:add']"
+          >新增</el-button
+          >
+          <el-button
+            v-if="scope.row.parentTypeId != 0"
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['mes:hw:type:remove']"
+          >删除</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!-- 添加或修改设备类型对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-row>
+          <el-col :span="24" v-if="form.parentTypeId !== 0">
+            <el-form-item label="父类型" prop="parentTypeId">
+              <treeselect
+                v-model="form.parentTypeId"
+                :options="machinerytypeOptions"
+                :normalizer="normalizer"
+                placeholder="请选择父类型"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="18">
+            <el-form-item label="锁具编号" prop="lockTypeCode">
+              <el-input
+                v-model="form.lockTypeCode"
+                placeholder="请输入锁具编号"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label-width="30">
+              <el-switch
+                v-model="autoGenFlag"
+                active-color="#13ce66"
+                active-text="自动生成"
+                @change="handleAutoGenChange(autoGenFlag)"
+
+              >
+              </el-switch>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="锁具类型名称" prop="lockTypeName">
+              <el-input
+                v-model="form.lockTypeName"
+                placeholder="请输入锁具类型名称"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="状态" prop="enableFlag">
+              <el-radio v-model="form.enableFlag" label="y">启用</el-radio>
+              <el-radio v-model="form.enableFlag" label="n">禁用</el-radio>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="锁具类型图标" prop="lockTypeIcon">
+              <ImageUpload
+                :limit="1"
+                :value="form.lockTypeIcon"
+                :fileSize="5"
+                @onUploaded="handleIconUplaoded('lockTypeIcon')"
+                @onRemoved="handleIconRemoved('lockTypeIcon')"
+              ></ImageUpload>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="锁具类型图片" prop="lockTypeImg">
+              <ImageUpload
+                :limit="1"
+                :value="form.lockTypeImg"
+                :fileSize="5"
+                @onUploaded="handleIconUplaoded('lockTypeImg')"
+                @onRemoved="handleIconRemoved('lockTypeImg')"
+              ></ImageUpload>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remark">
+              <el-input
+                v-model="form.remark"
+                type="textarea"
+                placeholder="请输入内容"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  listLockType,
+  addLockType,
+  getLockTypeInfo,
+  updateLockType,
+  delLockType
+} from "@/api/mes/locktype/locktype"
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { genCode } from "@/api/system/autocode/rule";
+export default {
+  name: "hardwareType",
+  dicts: ["sys_yes_no"],
+  components: {
+    Treeselect,
+  },
+  data() {
+    return {
+      //自动生成编码
+      autoGenFlag: false,
+      optType: undefined,
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 设备类型表格数据
+      machinerytypeList: [],
+      // 设备类型树选项
+      machinerytypeOptions: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 总条数
+      total: 0,
+      // 查询参数
+      queryParams: {
+        parentTypeId: null,
+        ancestors: null,
+        current: 1,
+        size: 10,
+        hardwareTypeCode: "",
+        hardwareTypeName: "",
+        enableFlag: "",
+      },
+      // 表单参数
+      form: {
+        parentTypeId: 0,
+      },
+      EditId: null, //编辑传递id
+      // 表单校验
+      rules: {
+        hardwareTypeCode: [
+          { required: true, message: "硬件编号不能为空", trigger: "blur" },
+        ],
+        hardwareTypeName: [
+          { required: true, message: "硬件名称不能为空", trigger: "blur" },
+        ],
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询设备类型列表 */
+    getList() {
+      this.loading = true;
+      listLockType(this.queryParams).then((response) => {
+        this.machinerytypeList = this.handleTree(
+          response.data.records,
+          "id",
+          "parentTypeId"
+        );
+        this.loading = false;
+        console.log(this.machinerytypeList, "machinerytypeList");
+      });
+    },
+    /** 转换设备类型数据结构 */
+    normalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.id,
+        label: node.hardwareTypeName,
+        children: node.children,
+      };
+    },
+    /** 查询设备类型下拉树结构 */
+    getTreeselect() {
+      listLockType().then((response) => {
+        debugger;
+        this.machinerytypeOptions = [];
+        const data = this.handleTree(
+          response.data.records,
+          "id",
+          "parentTypeId"
+        )[0];
+        console.log(data, "父类型回显");
+        this.machinerytypeOptions.push(data);
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        level: "",
+        parentTypeId: 1,
+        ancestors: null,
+        enableFlag: "",
+        remark: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        hardwareTypeCode: "",
+        hardwareTypeName: "",
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 层级计数器函数
+    handleChange(value) {
+      console.log(value);
+    },
+    /** 新增按钮操作 */
+    handleAdd(row) {
+      this.reset();
+      this.getTreeselect();
+      if (row != null && row.id) {
+        this.form.parentTypeId = row.id;
+      } else {
+        this.form.parentTypeId = 0;
+      }
+      this.open = true;
+      this.title = "新增硬件类型";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      this.getTreeselect();
+      if (row != null) {
+        this.form.parentTypeId = row.id;
+      }
+      getLockTypeInfo(row.id).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "编辑硬件类型";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateLockType(this.form).then((response) => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addLockType(this.form).then((response) => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    //自动生成编码
+    handleAutoGenChange(autoGenFlag) {
+      if (autoGenFlag) {
+        genCode("HARDWARE_TYPE_CODE").then((response) => {
+          this.form.hardwareTypeCode = response;
+        });
+      } else {
+        this.form.hardwareTypeCode = null;
+      }
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const repairIds = row.id || this.ids;
+      const repairCodes = row.hardwareTypeCode;
+      this.$modal
+        .confirm('是否删除硬件编号为"' + repairCodes + '"的硬件类型?')
+        .then(function () {
+          return delHardwareType(repairIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    //图标上传成功
+    handleIconUplaoded(fieldName, imgUrl) {
+      this.form[fieldName] = imgUrl[0].url;
+    },
+    // 图标移除
+    handleIconRemoved(fieldName) {
+      this.form[fieldName] = null;
+    },
+  },
+};
+</script>

+ 35 - 30
src/views/mes/md/segregationpoint/index.vue

@@ -191,19 +191,26 @@
         </template>
       </el-table-column>
 
-       <el-table-column label="锁具名称" align="center" prop="lockName">
+       <el-table-column label="锁具名称" align="center" prop="lockTypeName">
       </el-table-column>
-      <el-table-column label="锁具类型" align="center" prop="lockType">
+      <el-table-column label="锁具类型" align="center" prop="lockTypeId">
         <template slot-scope="scope">
           <dict-tag
             :options="dict.type.lock_type"
-            :value="scope.row.lockType"
+            :value="scope.row.lockTypeId"
           />
+
         </template>
       </el-table-column>
-      <el-table-column label="锁具图片" align="center" prop="lockImg" width="90">
+      <el-table-column label="锁具图标" align="center" prop="lockTypeIcon" width="90">
         <template slot-scope="scope">
-          <img :src="scope.row.lockImg" alt="" style="width: 50px; height: 50px" v-if="scope.row.lockImg"/>
+          <img :src="scope.row.lockTypeIcon" alt="" style="width: 50px; height: 50px" v-if="scope.row.lockTypeIcon"/>
+          <span v-else>-</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="锁具图片" align="center" prop="lockTypeImg" width="90">
+        <template slot-scope="scope">
+          <img :src="scope.row.lockTypeImg" alt="" style="width: 50px; height: 50px" v-if="scope.row.lockTypeImg"/>
           <span v-else>-</span>
         </template>
       </el-table-column>
@@ -280,10 +287,10 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label-width="80" label="锁具名称" prop="lockName">
+            <el-form-item label-width="80" label="锁具名称" prop="lockTypeName">
               <el-input
                 style="width: 300px"
-                v-model="form.lockName"
+                v-model="form.lockTypeName"
                 placeholder="请输入锁具名称"
               />
             </el-form-item>
@@ -300,10 +307,10 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label-width="80" label="锁具类型" prop="lockType">
+            <el-form-item label-width="80" label="锁具类型" prop="lockTypeCode">
               <el-select
                 style="width: 300px"
-                v-model="form.lockType"
+                v-model="form.lockTypeCode"
                 placeholder="请选择锁具类型"
               >
                 <el-option
@@ -332,8 +339,6 @@
                 />
               </el-select>
             </el-form-item>
-
-
           </el-col>
           <el-col :span="11">
             <el-form-item label="危险能量类型" prop="powerType">
@@ -376,7 +381,7 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="7">
+          <el-col :span="8">
             <el-form-item label="隔离点图标" prop="pointIcon">
               <ImageUpload
                 :limit="1"
@@ -387,7 +392,7 @@
               ></ImageUpload>
             </el-form-item>
           </el-col>
-          <el-col :span="7">
+          <el-col :span="8">
             <el-form-item label="隔离点图片" prop="pointPicture">
               <ImageUpload
                 :limit="1"
@@ -398,18 +403,9 @@
               ></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"-->
@@ -605,24 +601,32 @@ export default {
     handleImgUplaoded(imgUrl) {
       this.form.pointPicture = imgUrl[0].url;
     },
-    //图片移除
-    handleImgRemoved(imgUrl) {
-      this.form.pointPicture = null;
-    },
     //图标上传成功
     handleIconUplaoded(imgUrl) {
       this.form.pointIcon = imgUrl[0].url;
     },
     handleIconUplaoded1(imgUrl){
-      this.form.lockImg = imgUrl[0].url;
+      this.form.lockTypeImg = imgUrl[0].url;
+    },
+    //图标上传成功
+    handleIconUplaoded2(imgUrl) {
+      this.form.lockTypeIcon = imgUrl[0].url;
     },
+
     // 图标移除
     handleIconRemoved(imgUrl) {
       this.form.pointIcon = null;
     },
     // 图标移除
     handleIconRemoved1(imgUrl) {
-      this.form.lockImg = null;
+      this.form.lockTypeImg = null;
+    },
+    handleIconRemoved2(imgUrl){
+      this.form.lockTypeIcon = ''
+    },
+    //图片移除
+    handleImgRemoved(imgUrl) {
+      this.form.pointPicture = null;
     },
     // 取消按钮
     cancel() {
@@ -701,6 +705,7 @@ export default {
         if (valid) {
           console.log(this.pointId, "this.pointId");
           if (this.pointId != null) {
+            console.log(this.form,'隔离点编辑form')
             updateIsIsolationPoint(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;

+ 8 - 7
src/views/mes/md/workarea/index.vue

@@ -175,8 +175,8 @@
         </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"
+            <el-form-item label="区域地图" prop="mapImg">
+              <ImageUpload :limit="1" :value="form.mapImg" :fileSize="5" @onUploaded="handleImgUplaoded"
                            @onRemoved="handleImgRemoved"
               ></ImageUpload>
             </el-form-item>
@@ -390,6 +390,8 @@ export default {
       this.reset()
       this.EditId = row.workareaId || this.ids
       getWorkareaInfo(row.workareaId).then(response => {
+
+
         this.form = response.data
         this.open = true
         this.title = '修改工作区域'
@@ -401,17 +403,18 @@ export default {
     },
     //图片上传成功
     handleImgUplaoded(imgUrl) {
-      this.form.map = imgUrl
+      console.log(imgUrl,'编辑拿到的图片')
+      this.form.mapImg = imgUrl[0].url
     },
     //图片移除
     handleImgRemoved(imgUrl) {
-      this.form.map = null
+      this.form.mapImg = null
     },
     /** 提交按钮 */
     submitForm: function() {
       this.$refs['form'].validate(valid => {
         if (valid) {
-          if (this.EditId != null) {
+          if (this.form.workareaId != undefined) {
             updateWorkarea(this.form).then(response => {
               this.$modal.msgSuccess('修改成功')
               this.open = false
@@ -451,9 +454,7 @@ export default {
     // 地图预览
     look(row) {
       console.log(row, "row预览");
-
       const data = row.workareaId;
-
       this.$router.push(`/mes/md/workarea/index/MapData?workareaId=${data}`);
       // this.dialogVisibleMap = true; // 显示地图预览弹框
     },

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

@@ -486,6 +486,7 @@ export default {
       this.mapData = selectedPoints;
     },
 
+
     // 地图弹框关闭按钮
     handleClose() {
       this.dialogVisibleMap = false;

+ 129 - 0
src/views/mes/md/workshop/index-hasyaer.vue

@@ -0,0 +1,129 @@
+<template>
+  <div class="time-picker">
+    <div class="time-unit" v-for="(unit, index) in timeUnits" :key="index">
+      <label :for="unit.name">{{ unit.label }}</label>
+      <select v-model="timeValues[unit.name]" :id="unit.name">
+        <option v-for="option in unit.options" :key="option" :value="option">
+          {{ option }}
+        </option>
+      </select>
+    </div>
+    <button @click="submitTime">设置提醒</button>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      timeValues: {
+        years: new Date().getFullYear(),
+        months: 1,
+        days: 0,
+        hours: 0,
+        minutes: 0,
+        seconds: 0,
+      },
+      timeUnits: [
+        {
+          name: "years",
+          label: "年",
+          options: Array.from(
+            { length: 50 },
+            (_, i) => new Date().getFullYear() + i
+          ),
+        },
+        {
+          name: "months",
+          label: "月",
+          options: Array.from({ length: 12 }, (_, i) => i + 1),
+        },
+        {
+          name: "days",
+          label: "天",
+          options: Array.from({ length: 31 }, (_, i) => i + 1),
+        },
+        {
+          name: "hours",
+          label: "小时",
+          options: Array.from({ length: 24 }, (_, i) => i),
+        },
+        {
+          name: "minutes",
+          label: "分钟",
+          options: Array.from({ length: 60 }, (_, i) => i),
+        },
+        {
+          name: "seconds",
+          label: "秒",
+          options: Array.from({ length: 60 }, (_, i) => i),
+        },
+      ],
+    };
+  },
+  methods: {
+    submitTime() {
+      const { years, months, days, hours, minutes, seconds } = this.timeValues;
+      // Calculate the time difference in milliseconds (excluding leap years/variances for simplicity)
+      const totalMilliseconds =
+        (((((years * 12 + (months - 1)) * 30 + (days - 1)) * 24 + hours) * 60 +
+          minutes) *
+          60 +
+          seconds) *
+        1000;
+      alert(`提醒时间设置为 ${totalMilliseconds} 毫秒`);
+    },
+  },
+};
+</script>
+
+<style scoped>
+.time-picker {
+  display: flex;
+  gap: 15px;
+  align-items: center;
+  padding: 20px;
+  border-radius: 8px;
+  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
+  background-color: #f9f9f9;
+}
+
+.time-unit {
+  display: flex;
+  flex-direction: column;
+}
+
+label {
+  font-size: 14px;
+  color: #333;
+  margin-bottom: 4px;
+}
+
+select {
+  padding: 8px;
+  font-size: 14px;
+  border: 1px solid #ddd;
+  border-radius: 4px;
+  transition: border-color 0.3s ease;
+}
+
+select:focus {
+  border-color: #007bff;
+  outline: none;
+}
+
+button {
+  padding: 10px 20px;
+  font-size: 16px;
+  color: #fff;
+  background-color: #007bff;
+  border: none;
+  border-radius: 4px;
+  cursor: pointer;
+  transition: background-color 0.3s ease;
+}
+
+button:hover {
+  background-color: #0056b3;
+}
+</style>

+ 496 - 113
src/views/mes/md/workshop/index.vue

@@ -1,129 +1,512 @@
 <template>
-  <div class="time-picker">
-    <div class="time-unit" v-for="(unit, index) in timeUnits" :key="index">
-      <label :for="unit.name">{{ unit.label }}</label>
-      <select v-model="timeValues[unit.name]" :id="unit.name">
-        <option v-for="option in unit.options" :key="option" :value="option">
-          {{ option }}
-        </option>
-      </select>
-    </div>
-    <button @click="submitTime">设置提醒</button>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item label="车间名称" prop="workshopName">
+        <el-input
+          v-model="queryParams.workshopName"
+          placeholder="请输入车间名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="车间编码" prop="workshopCode">
+        <el-input
+          v-model="queryParams.workshopCode"
+          placeholder="请输入车间编码"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item label="状态" prop="calendarType">
+        <el-select v-model="queryParams.calendarType" placeholder="状态">
+          <el-option>正常</el-option>
+          <el-option>异常</el-option>
+          <!--          <el-option-->
+          <!--            v-for="dict in dict.type.mes_calendar_type"-->
+          <!--            :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-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:workshop:add']"
+          >新增</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-refresh-left"
+          size="mini"
+          @click="handlerefresh"
+          v-hasPermi="['mes:cal:workshop:refresh']"
+          >刷新
+        </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:md:workshop: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:workshop:remove']"-->
+      <!--        >删除</el-button>-->
+      <!--      </el-col>-->
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+
+    <el-table
+      v-loading="loading"
+      :data="workshopList"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="车间编码" align="center" prop="workshopCode">
+        <template slot-scope="scope">
+          <el-button
+            type="text"
+            @click="handleView(scope.row)"
+            v-hasPermi="['mes:md:workshop:query']"
+            >{{ scope.row.workshopCode }}</el-button
+          >
+        </template>
+      </el-table-column>
+      <el-table-column label="车间名称" align="center" prop="workshopName" />
+      <el-table-column label="面积" align="center" prop="area" />
+      <!--      <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="charge" />
+      <el-table-column label="是否启用" align="center" prop="enableFlag">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.sys_yes_no"
+            :value="scope.row.enableFlag"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column label="车间地图" align="center" prop="attr1">
+        <template slot-scope="scope">
+          <img
+            v-if="scope.row.attr1"
+            style="width: 50px; height: 50px"
+            :src="scope.row.attr1"
+            alt=""
+          />
+          <span v-else>-</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="备注"
+        align="center"
+        prop="remark"
+        :show-overflow-tooltip="true"
+      />
+      <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:workshop:edit']"
+            >修改</el-button
+          >
+          <el-button
+            type="text"
+            plain
+            icon="el-icon-plus"
+            size="mini"
+            @click="handleAdd"
+            v-hasPermi="['mes:cal:team:add']"
+            >新增
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['mes:md:workshop:remove']"
+            >删除</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改车间对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="660px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="车间名称" prop="workshopName">
+          <el-input
+            style="width: 318px"
+            v-model="form.workshopName"
+            placeholder="请输入车间名称"
+          />
+        </el-form-item>
+        <el-form-item label="车间编码" prop="workshopCode">
+          <el-input
+            style="width: 318px"
+            v-model="form.workshopCode"
+            placeholder="请输入车间编码"
+          />
+        </el-form-item>
+
+        <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-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-form-item label="车间地图" prop="attr1">
+          <ImageUpload
+            :limit="1"
+            :value="form.attr1"
+            :fileSize="5"
+            @onUploaded="handleImgUplaoded"
+            @onRemoved="handleImgRemoved"
+          ></ImageUpload>
+        </el-form-item>
+
+        <el-form-item label="面积" prop="area">
+          <el-input-number
+            :min="0"
+            :percision="2"
+            :step="1"
+            v-model="form.area"
+            placeholder="请输入面积"
+          />
+        </el-form-item>
+
+        <el-form-item label="负责人" prop="charge">
+          <el-input v-model="form.charge" placeholder="请输入负责人" />
+        </el-form-item>
+
+        <el-form-item label="是否启用" prop="enableFlag">
+          <el-radio-group
+            v-model="form.enableFlag"
+            disabled
+            v-if="optType == 'view'"
+          >
+            <el-radio
+              v-for="dict in dict.type.sys_yes_no"
+              :key="dict.value"
+              :label="dict.value"
+              >{{ dict.label }}</el-radio
+            >
+          </el-radio-group>
+          <el-radio-group v-model="form.enableFlag" v-else>
+            <el-radio
+              v-for="dict in dict.type.sys_yes_no"
+              :key="dict.value"
+              :label="dict.value"
+              >{{ dict.label }}</el-radio
+            >
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="备注" prop="remark">
+          <el-input
+            v-model="form.remark"
+            type="textarea"
+            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 {
+  listWorkshop,
+  getWorkshop,
+  delWorkshop,
+  addWorkshop,
+  updateWorkshop,
+} from "@/api/mes/md/workshop";
+import { genCode } from "@/api/system/autocode/rule";
 export default {
+  name: "Workshop",
+  dicts: ["sys_yes_no"],
   data() {
     return {
-      timeValues: {
-        years: new Date().getFullYear(),
-        months: 1,
-        days: 0,
-        hours: 0,
-        minutes: 0,
-        seconds: 0,
+      autoGenFlag: false,
+      optType: undefined,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      codes: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 车间表格数据
+      workshopList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        workshopCode: null,
+        workshopName: null,
+        area: null,
+        charge: null,
+        enableFlag: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        workshopCode: [
+          { required: true, message: "车间编码不能为空", trigger: "blur" },
+        ],
+        workshopName: [
+          { required: true, message: "车间名称不能为空", trigger: "blur" },
+        ],
+        enableFlag: [
+          { required: true, message: "是否启用不能为空", trigger: "blur" },
+        ],
       },
-      timeUnits: [
-        {
-          name: "years",
-          label: "年",
-          options: Array.from(
-            { length: 50 },
-            (_, i) => new Date().getFullYear() + i
-          ),
-        },
-        {
-          name: "months",
-          label: "月",
-          options: Array.from({ length: 12 }, (_, i) => i + 1),
-        },
-        {
-          name: "days",
-          label: "天",
-          options: Array.from({ length: 31 }, (_, i) => i + 1),
-        },
-        {
-          name: "hours",
-          label: "小时",
-          options: Array.from({ length: 24 }, (_, i) => i),
-        },
-        {
-          name: "minutes",
-          label: "分钟",
-          options: Array.from({ length: 60 }, (_, i) => i),
-        },
-        {
-          name: "seconds",
-          label: "秒",
-          options: Array.from({ length: 60 }, (_, i) => i),
-        },
-      ],
     };
   },
+  created() {
+    this.getList();
+  },
   methods: {
-    submitTime() {
-      const { years, months, days, hours, minutes, seconds } = this.timeValues;
-      // Calculate the time difference in milliseconds (excluding leap years/variances for simplicity)
-      const totalMilliseconds =
-        (((((years * 12 + (months - 1)) * 30 + (days - 1)) * 24 + hours) * 60 +
-          minutes) *
-          60 +
-          seconds) *
-        1000;
-      alert(`提醒时间设置为 ${totalMilliseconds} 毫秒`);
+    /** 查询车间列表 */
+    getList() {
+      this.loading = true;
+      listWorkshop(this.queryParams).then((response) => {
+        this.workshopList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    handlerefresh() {
+      this.getList();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        workshopId: null,
+        workshopCode: null,
+        workshopName: null,
+        area: null,
+        charge: null,
+        enableFlag: "Y",
+        remark: null,
+        attr1: null,
+        attr2: null,
+        attr3: null,
+        attr4: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+      };
+      this.autoGenFlag = false;
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.workshopId);
+      this.codes = selection.map((item) => item.workshopCode);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+    //图片上传成功
+    handleImgUplaoded(imgUrl) {
+      this.form.attr1 = imgUrl;
+    },
+    //图片移除
+    handleImgRemoved(imgUrl) {
+      this.form.attr1 = null;
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加车间";
+      this.optType = "add";
+    },
+    // 查询明细按钮操作
+    handleView(row) {
+      this.reset();
+      const workshopId = row.workshopId || this.ids;
+      getWorkshop(workshopId).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "查看车间";
+        this.optType = "view";
+      });
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const workshopId = row.workshopId || this.ids;
+      getWorkshop(workshopId).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改车间";
+        this.optType = "edit";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.workshopId != null) {
+            updateWorkshop(this.form).then((response) => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addWorkshop(this.form).then((response) => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const workshopIds = row.workshopId || this.ids;
+      const workshopCodes = row.workshopCode || this.codes;
+      this.$modal
+        .confirm('是否确认删除车间编码为"' + workshopCodes + '"的数据项?')
+        .then(function () {
+          return delWorkshop(workshopIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download(
+        "md/workshop/export",
+        {
+          ...this.queryParams,
+        },
+        `workshop_${new Date().getTime()}.xlsx`
+      );
+    },
+    //自动生成物料编码
+    handleAutoGenChange(autoGenFlag) {
+      debugger;
+      if (autoGenFlag) {
+        genCode("WORKSHOP_CODE").then((response) => {
+          this.form.workshopCode = response;
+        });
+      } else {
+        this.form.workshopCode = null;
+      }
     },
   },
 };
 </script>
-
-<style scoped>
-.time-picker {
-  display: flex;
-  gap: 15px;
-  align-items: center;
-  padding: 20px;
-  border-radius: 8px;
-  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
-  background-color: #f9f9f9;
-}
-
-.time-unit {
-  display: flex;
-  flex-direction: column;
-}
-
-label {
-  font-size: 14px;
-  color: #333;
-  margin-bottom: 4px;
-}
-
-select {
-  padding: 8px;
-  font-size: 14px;
-  border: 1px solid #ddd;
-  border-radius: 4px;
-  transition: border-color 0.3s ease;
-}
-
-select:focus {
-  border-color: #007bff;
-  outline: none;
-}
-
-button {
-  padding: 10px 20px;
-  font-size: 16px;
-  color: #fff;
-  background-color: #007bff;
-  border: none;
-  border-radius: 4px;
-  cursor: pointer;
-  transition: background-color 0.3s ease;
-}
-
-button:hover {
-  background-color: #0056b3;
-}
-</style>

+ 0 - 512
src/views/mes/md/workshop/index1.vue

@@ -1,512 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      size="small"
-      :inline="true"
-      v-show="showSearch"
-      label-width="68px"
-    >
-      <el-form-item label="车间名称" prop="workshopName">
-        <el-input
-          v-model="queryParams.workshopName"
-          placeholder="请输入车间名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="车间编码" prop="workshopCode">
-        <el-input
-          v-model="queryParams.workshopCode"
-          placeholder="请输入车间编码"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-
-      <el-form-item label="状态" prop="calendarType">
-        <el-select v-model="queryParams.calendarType" placeholder="状态">
-          <el-option>正常</el-option>
-          <el-option>异常</el-option>
-          <!--          <el-option-->
-          <!--            v-for="dict in dict.type.mes_calendar_type"-->
-          <!--            :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-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:workshop:add']"
-          >新增</el-button
-        >
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-refresh-left"
-          size="mini"
-          @click="handlerefresh"
-          v-hasPermi="['mes:cal:workshop:refresh']"
-          >刷新
-        </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:md:workshop: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:workshop:remove']"-->
-      <!--        >删除</el-button>-->
-      <!--      </el-col>-->
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
-    </el-row>
-
-    <el-table
-      v-loading="loading"
-      :data="workshopList"
-      @selection-change="handleSelectionChange"
-    >
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="车间编码" align="center" prop="workshopCode">
-        <template slot-scope="scope">
-          <el-button
-            type="text"
-            @click="handleView(scope.row)"
-            v-hasPermi="['mes:md:workshop:query']"
-            >{{ scope.row.workshopCode }}</el-button
-          >
-        </template>
-      </el-table-column>
-      <el-table-column label="车间名称" align="center" prop="workshopName" />
-      <el-table-column label="面积" align="center" prop="area" />
-      <!--      <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="charge" />
-      <el-table-column label="是否启用" align="center" prop="enableFlag">
-        <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.sys_yes_no"
-            :value="scope.row.enableFlag"
-          />
-        </template>
-      </el-table-column>
-      <el-table-column label="车间地图" align="center" prop="attr1">
-        <template slot-scope="scope">
-          <img
-            v-if="scope.row.attr1"
-            style="width: 50px; height: 50px"
-            :src="scope.row.attr1"
-            alt=""
-          />
-          <span v-else>-</span>
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="备注"
-        align="center"
-        prop="remark"
-        :show-overflow-tooltip="true"
-      />
-      <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:workshop:edit']"
-            >修改</el-button
-          >
-          <el-button
-            type="text"
-            plain
-            icon="el-icon-plus"
-            size="mini"
-            @click="handleAdd"
-            v-hasPermi="['mes:cal:team:add']"
-            >新增
-          </el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['mes:md:workshop:remove']"
-            >删除</el-button
-          >
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-
-    <!-- 添加或修改车间对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="660px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="车间名称" prop="workshopName">
-          <el-input
-            style="width: 318px"
-            v-model="form.workshopName"
-            placeholder="请输入车间名称"
-          />
-        </el-form-item>
-        <el-form-item label="车间编码" prop="workshopCode">
-          <el-input
-            style="width: 318px"
-            v-model="form.workshopCode"
-            placeholder="请输入车间编码"
-          />
-        </el-form-item>
-
-        <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-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-form-item label="车间地图" prop="attr1">
-          <ImageUpload
-            :limit="1"
-            :value="form.attr1"
-            :fileSize="5"
-            @onUploaded="handleImgUplaoded"
-            @onRemoved="handleImgRemoved"
-          ></ImageUpload>
-        </el-form-item>
-
-        <el-form-item label="面积" prop="area">
-          <el-input-number
-            :min="0"
-            :percision="2"
-            :step="1"
-            v-model="form.area"
-            placeholder="请输入面积"
-          />
-        </el-form-item>
-
-        <el-form-item label="负责人" prop="charge">
-          <el-input v-model="form.charge" placeholder="请输入负责人" />
-        </el-form-item>
-
-        <el-form-item label="是否启用" prop="enableFlag">
-          <el-radio-group
-            v-model="form.enableFlag"
-            disabled
-            v-if="optType == 'view'"
-          >
-            <el-radio
-              v-for="dict in dict.type.sys_yes_no"
-              :key="dict.value"
-              :label="dict.value"
-              >{{ dict.label }}</el-radio
-            >
-          </el-radio-group>
-          <el-radio-group v-model="form.enableFlag" v-else>
-            <el-radio
-              v-for="dict in dict.type.sys_yes_no"
-              :key="dict.value"
-              :label="dict.value"
-              >{{ dict.label }}</el-radio
-            >
-          </el-radio-group>
-        </el-form-item>
-
-        <el-form-item label="备注" prop="remark">
-          <el-input
-            v-model="form.remark"
-            type="textarea"
-            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 {
-  listWorkshop,
-  getWorkshop,
-  delWorkshop,
-  addWorkshop,
-  updateWorkshop,
-} from "@/api/mes/md/workshop";
-import { genCode } from "@/api/system/autocode/rule";
-export default {
-  name: "Workshop",
-  dicts: ["sys_yes_no"],
-  data() {
-    return {
-      autoGenFlag: false,
-      optType: undefined,
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      codes: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 车间表格数据
-      workshopList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        workshopCode: null,
-        workshopName: null,
-        area: null,
-        charge: null,
-        enableFlag: null,
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-        workshopCode: [
-          { required: true, message: "车间编码不能为空", trigger: "blur" },
-        ],
-        workshopName: [
-          { required: true, message: "车间名称不能为空", trigger: "blur" },
-        ],
-        enableFlag: [
-          { required: true, message: "是否启用不能为空", trigger: "blur" },
-        ],
-      },
-    };
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    /** 查询车间列表 */
-    getList() {
-      this.loading = true;
-      listWorkshop(this.queryParams).then((response) => {
-        this.workshopList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    handlerefresh() {
-      this.getList();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-        workshopId: null,
-        workshopCode: null,
-        workshopName: null,
-        area: null,
-        charge: null,
-        enableFlag: "Y",
-        remark: null,
-        attr1: null,
-        attr2: null,
-        attr3: null,
-        attr4: null,
-        createBy: null,
-        createTime: null,
-        updateBy: null,
-        updateTime: null,
-      };
-      this.autoGenFlag = false;
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.workshopId);
-      this.codes = selection.map((item) => item.workshopCode);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
-    },
-    //图片上传成功
-    handleImgUplaoded(imgUrl) {
-      this.form.attr1 = imgUrl;
-    },
-    //图片移除
-    handleImgRemoved(imgUrl) {
-      this.form.attr1 = null;
-    },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加车间";
-      this.optType = "add";
-    },
-    // 查询明细按钮操作
-    handleView(row) {
-      this.reset();
-      const workshopId = row.workshopId || this.ids;
-      getWorkshop(workshopId).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "查看车间";
-        this.optType = "view";
-      });
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const workshopId = row.workshopId || this.ids;
-      getWorkshop(workshopId).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改车间";
-        this.optType = "edit";
-      });
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate((valid) => {
-        if (valid) {
-          if (this.form.workshopId != null) {
-            updateWorkshop(this.form).then((response) => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addWorkshop(this.form).then((response) => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const workshopIds = row.workshopId || this.ids;
-      const workshopCodes = row.workshopCode || this.codes;
-      this.$modal
-        .confirm('是否确认删除车间编码为"' + workshopCodes + '"的数据项?')
-        .then(function () {
-          return delWorkshop(workshopIds);
-        })
-        .then(() => {
-          this.getList();
-          this.$modal.msgSuccess("删除成功");
-        })
-        .catch(() => {});
-    },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download(
-        "md/workshop/export",
-        {
-          ...this.queryParams,
-        },
-        `workshop_${new Date().getTime()}.xlsx`
-      );
-    },
-    //自动生成物料编码
-    handleAutoGenChange(autoGenFlag) {
-      debugger;
-      if (autoGenFlag) {
-        genCode("WORKSHOP_CODE").then((response) => {
-          this.form.workshopCode = response;
-        });
-      } else {
-        this.form.workshopCode = null;
-      }
-    },
-  },
-};
-</script>