فهرست منبع

领取管理,归还提醒,过期提醒内容修改

wangyani 11 ماه پیش
والد
کامیت
ee79e0785d

+ 97 - 247
src/views/mes/material/collectionmanagement/index.vue

@@ -37,32 +37,33 @@
           v-model="queryParams.restitutionRequired"
           placeholder="是否需要归还"
         >
-          <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"-->
-          <!--            :label="dict.label"-->
-          <!--            :value="dict.value"-->
-          <!--          />-->
+          <el-option value="1" label="是"></el-option>
+          <el-option value="2" label="否"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="领取柜" prop="loanFormName">
-        <el-input
-          v-model="queryParams.loanFormName"
-          placeholder="请输入领取柜"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select v-model="queryParams.loanFromId" placeholder="请选择所属柜">
+          <el-option
+            v-for="dict in cabinets"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
 
       <el-form-item label="归还柜" prop="restitutionToName">
-        <el-input
-          v-model="queryParams.restitutionToName"
-          placeholder="请输入归还柜"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select
+          v-model="queryParams.restitutionToId"
+          placeholder="请选择所属柜"
+        >
+          <el-option
+            v-for="dict in cabinets"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
 
       <el-form-item>
@@ -79,29 +80,7 @@
       </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:mat:info:add']"-->
-      <!--        >新增-->
-      <!--        </el-button>-->
-      <!--      </el-col>-->
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="success"-->
-      <!--          plain-->
-      <!--          icon="el-icon-edit"-->
-      <!--          size="mini"-->
-      <!--          :disabled="single"-->
-      <!--          @click="handleUpdate"-->
-      <!--          v-hasPermi="['mes:cal:team:edit']"-->
-      <!--        >修改</el-button>-->
-      <!--      </el-col>-->
+    <!-- <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
           type="danger"
@@ -114,21 +93,12 @@
           >批量删除
         </el-button>
       </el-col>
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="warning"-->
-      <!--          plain-->
-      <!--          icon="el-icon-download"-->
-      <!--          size="mini"-->
-      <!--          @click="handleExport"-->
-      <!--          v-hasPermi="['mes:cal:team:export']"-->
-      <!--        >导出</el-button>-->
-      <!--      </el-col>-->
+
       <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
       ></right-toolbar>
-    </el-row>
+    </el-row> -->
 
     <el-table
       v-loading="loading"
@@ -149,9 +119,15 @@
       <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="restitutionRequired">
+      <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="primary" v-if="scope.row.restitutionRequired == 1"
+            >是</el-tag
+          >
           <el-tag type="danger" v-else>否</el-tag>
         </template>
       </el-table-column>
@@ -159,20 +135,12 @@
       </el-table-column>
       <el-table-column label="创建时间" align="center" prop="createTime">
       </el-table-column>
-      <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:info:edit']"-->
-          <!--          >编辑-->
-          <!--          </el-button>-->
           <el-button
             size="mini"
             type="text"
@@ -182,7 +150,7 @@
             >删除
           </el-button>
         </template>
-      </el-table-column>
+      </el-table-column> -->
     </el-table>
 
     <pagination
@@ -192,122 +160,12 @@
       :limit.sync="queryParams.size"
       @pagination="getList"
     />
-
-    <!-- 添加或修改班组对话框 -->
-    <el-dialog :visible.sync="open" width="960px" append-to-body>
-      <div slot="title" class="dialog-title">
-        <i></i>
-        <span class="title">{{ title }}</span>
-      </div>
-      <el-form ref="form" :model="form" :rules="rules" label-width="110px">
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="物资编码" prop="materialsCode">
-              <el-input
-                v-model="form.materialsCode"
-                placeholder="请输入物资编码"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="物资类型" prop="calendarType">
-              <el-select
-                style="width: 348px"
-                v-model="form.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>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="物资名称" prop="materialsName">
-              <el-input v-model="form.materialsName" placeholder="请输入物资名称" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="所属柜" prop="teamCode">
-              <el-select
-                style="width: 348px"
-                v-model="form.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>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="启用日期" prop="calendarType">
-              <el-input v-model="form.teamCode" placeholder="" disabled />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="物资使用次数" prop="calendarType">
-              <el-input
-                v-model="form.teamCode"
-                placeholder="请输入物资使用次数"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="可用次数" prop="calendarType">
-              <el-input v-model="form.teamCode" placeholder="" disabled />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="物资寿命" prop="calendarType">
-              <el-input v-model="form.teamCode" placeholder="请输入物资寿命" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="物资报废时间" prop="calendarType">
-              <el-input v-model="form.teamCode" placeholder="" disabled />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <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>
-      </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 { deleteLoan, listLoan } from '@/api/mes/loan/loan'
-
+import { listLoan } from "@/api/mes/loan/loan";
+import { getIsMaterialsCabinets } from "@/api/mes/material/information";
 import { genCode } from "@/api/system/autocode/rule";
 
 export default {
@@ -323,6 +181,7 @@ export default {
       loading: true,
       // 选中数组
       ids: [],
+      codes: [],
       // 非单个禁用
       single: true,
       // 非多个禁用
@@ -338,16 +197,24 @@ export default {
       // 是否显示弹出层
       open: false,
       // 查询参数
+
       queryParams: {
         current: 1,
         size: 10,
         materialsName: null,
         materialsCode: null,
         loanUserName: null,
-        restitutionRequired:null,//是否需要归还
-        restitutionUserName:null,
-        restitutionToName:null,//归还柜
-        loanFormName:null,//领取柜
+        restitutionRequired: null, //是否需要归还
+        restitutionUserName: null,
+        restitutionToName: null, //归还柜
+        restitutionToId: null, //归还柜id
+        loanFormName: null, //领取柜
+        loanFromId: null, //领取柜id
+      },
+      // 查询参数
+      queryParamsCabinets: {
+        current: 1,
+        size: -1,
       },
       pickerOptions: {
         shortcuts: [
@@ -380,40 +247,40 @@ export default {
           },
         ],
       },
-
       value2: "",
-
       // 表单参数
       form: {},
-      // 表单校验
-      rules: {
-        teamCode: [
-          { required: true, message: "班组编号不能为空", trigger: "blur" },
-        ],
-        teamName: [
-          { required: true, message: "班组名称不能为空", trigger: "blur" },
-        ],
-        calendarType: [
-          { required: true, message: "清选择班组类型", trigger: "blur" },
-        ],
-      },
     };
   },
   created() {
     this.getList();
   },
+  mounted() {
+    this.materialsCabinets();
+  },
   methods: {
     /** 查询班组列表 */
     getList() {
       this.loading = true;
       listLoan(this.queryParams).then((response) => {
-        console.log(response,'领取管理列表')
+        // console.log(response, "领取管理列表");
         this.teamList = response.data.records;
         this.total = response.data.total;
         this.loading = false;
       });
     },
-    //图片上传成功
+    // 物资所属柜
+    materialsCabinets() {
+      getIsMaterialsCabinets(this.queryParamsCabinets).then((response) => {
+        if (response?.data?.records) {
+          // 提取 cabinetId 和 cabinetName
+          this.cabinets = response.data.records.map((item) => ({
+            value: item.cabinetId,
+            label: item.cabinetName,
+          }));
+        }
+      });
+    }, //图片上传成功
     handleImgUplaoded(imgUrl) {
       this.form.sipUrl = imgUrl;
     },
@@ -429,19 +296,12 @@ export default {
     // 表单重置
     reset() {
       this.form = {
-        teamId: null,
-        teamCode: null,
-        teamName: null,
-        calendarType: null,
-        remark: null,
-        attr1: null,
-        attr2: null,
-        attr3: null,
-        attr4: null,
-        createBy: null,
+        materialsCode: null,
+        materialsName: null,
+        loanFromName: null,
+        restitutionRequired: null,
+        loanUserName: null,
         createTime: null,
-        updateBy: null,
-        updateTime: null,
       };
       this.resetForm("form");
     },
@@ -452,12 +312,23 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
+      this.queryParams.materialsName = null;
+      this.queryParams.materialsCode = null;
+      this.queryParams.loanUserName = null;
+      this.queryParams.restitutionRequired = null; //是否需要归还
+      this.queryParams.restitutionUserName = null;
+      this.queryParams.restitutionToName = null; //归还柜
+      this.queryParams.restitutionToId = null;//归还柜id
+      this.queryParams.loanFormName = null; //领取柜
+      this.queryParams.loanFromId = null; //领取柜id
       this.resetForm("queryForm");
       this.handleQuery();
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map((item) => item.materialsLoanId);
+      this.codes = selection.map((item) => item.materialsCode);
+
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
     },
@@ -468,28 +339,7 @@ export default {
       this.title = "新增物资类型";
       this.optType = "add";
     },
-    // 查询明细按钮操作
-    handleView(row) {
-      this.reset();
-      const teamId = row.materialsLoanId || 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.materialsLoanId || this.ids;
-      getTeam(teamId).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "编辑物资类型";
-        this.optType = "edit";
-      });
-    },
+
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate((valid) => {
@@ -511,21 +361,21 @@ export default {
       });
     },
     /** 删除按钮操作 */
-    handleDelete(row) {
-
-      const teamIds = row.materialsLoanId || this.ids;
-      console.log(teamIds,'teamIds')
-      this.$modal
-        .confirm('是否确认删除班组编号为"' + teamIds + '"的数据项?')
-        .then(function () {
-          return deleteLoan(teamIds);
-        })
-        .then(() => {
-          this.getList();
-          this.$modal.msgSuccess("删除成功");
-        })
-        .catch(() => {});
-    },
+    // handleDelete(row) {
+    //   const teamIds = row.materialsLoanId || this.ids;
+    //   const materialsCodes = row.materialsCode || this.codes;
+    //   console.log(teamIds, "teamIds");
+    //   this.$modal
+    //     .confirm('是否确认删除物资编码为"' + materialsCodes + '"的数据项?')
+    //     .then(function () {
+    //       return deleteLoan(teamIds);
+    //     })
+    //     .then(() => {
+    //       this.getList();
+    //       this.$modal.msgSuccess("删除成功");
+    //     })
+    //     .catch(() => {});
+    // },
     /** 导出按钮操作 */
     handleExport() {
       this.download(

+ 209 - 293
src/views/mes/material/expireremind/index.vue

@@ -1,6 +1,13 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="100px"
+    >
       <el-form-item label="物资编码" prop="materialsCode">
         <el-input
           v-model="queryParams.materialsCode"
@@ -17,61 +24,54 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <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-date-picker
-          v-model="form.startTime"
-          type="datetime"
-          placeholder="选择日期时间"
-          align="right"
-          :picker-options="pickerOptions"
-        >
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="领取柜" prop="loanFromName">
-        <el-input
-          v-model="queryParams.loanFromName"
-          placeholder="请输入领取人"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="状态" prop="readFlag">
+        <el-select v-model="queryParams.readFlag" placeholder="状态">
+          <el-option
+            v-for="dict in dict.type.reminders_status"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
-      <el-form-item label="物资报废时间">
+      <el-form-item label="过期时间" prop="timeoutAlarm">
         <el-date-picker
-          v-model="form.endTime"
-          type="datetime"
+          v-model="timeoutAlarm"
+          type="datetimerange"
           placeholder="选择日期时间"
           align="right"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
           :picker-options="pickerOptions"
         >
         </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-form-item label="所属柜" prop="loanFromName">
+        <el-select v-model="queryParams.loanFromId" placeholder="请选择所属柜">
+          <el-option
+            v-for="dict in cabinets"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
         </el-select>
       </el-form-item>
+
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
       </el-form-item>
     </el-form>
 
-    <el-row :gutter="10" class="mb8">
+    <!-- <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -80,20 +80,10 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['mes:mat:ret:add']"
-        >新增
+          >新增
         </el-button>
       </el-col>
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="success"-->
-      <!--          plain-->
-      <!--          icon="el-icon-edit"-->
-      <!--          size="mini"-->
-      <!--          :disabled="single"-->
-      <!--          @click="handleUpdate"-->
-      <!--          v-hasPermi="['mes:cal:team:edit']"-->
-      <!--        >修改</el-button>-->
-      <!--      </el-col>-->
+
       <el-col :span="1.5">
         <el-button
           type="danger"
@@ -103,50 +93,44 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['mes:mat:ret:batchremove']"
-        >批量删除
+          >批量删除
         </el-button>
       </el-col>
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="warning"-->
-      <!--          plain-->
-      <!--          icon="el-icon-download"-->
-      <!--          size="mini"-->
-      <!--          @click="handleExport"-->
-      <!--          v-hasPermi="['mes:cal:team:export']"-->
-      <!--        >导出</el-button>-->
-      <!--      </el-col>-->
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
+      <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
+      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:ret:query']"
-          >{{ scope.row.materialsCode }}
+            >{{ scope.row.materialsCode }}
           </el-button>
         </template>
       </el-table-column>
-      <el-table-column label="物资名称" align="center" prop="materialsName"/>
+      <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="loanFromName">
-
       </el-table-column>
-      <el-table-column label="过期时间" align="center" prop="loanTime">
+      <el-table-column label="过期时间" align="center" prop="timeoutAlarm">
       </el-table-column>
 
       <el-table-column label="状态" align="center" prop="readFlag">
         <template slot-scope="scope">
-          <el-tag type="primary" v-if="scope.row.readFlag==0">已读</el-tag>
-          <el-tag type="danger" v-if="scope.row.readFlag==1">未读</el-tag>
+          <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">-->
@@ -171,92 +155,24 @@
     </el-table>
 
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.current"
       :limit.sync="queryParams.size"
       @pagination="getList"
     />
-
-    <!-- 添加或修改班组对话框 -->
-    <el-dialog :visible.sync="open" width="460px" append-to-body>
-      <div slot="title" class="dialog-title">
-        <i></i>
-        <span class="title">{{ title }}</span>
-      </div>
-      <el-form ref="form" :model="form" :rules="rules" label-width="110px">
-        <el-form-item label="物资编码" prop="teamCode">
-          <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-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 label="提醒人" prop="teamCode">
-          <el-input v-model="form.teamCode" placeholder="请输入提醒人"/>
-        </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-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"
-              :label="dict.label"
-              :value="dict.value"
-            />
-          </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="submitForm" v-else>确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
   </div>
 </template>
 
 <script>
-import {listReturnReminder} from "@/api/mes/return/return"
-
-import { genCode } from '@/api/system/autocode/rule'
+import { listReturnReminder } from "@/api/mes/return/return";
+import { getIsMaterialsCabinets } from "@/api/mes/material/information";
+import { genCode } from "@/api/system/autocode/rule";
 
 export default {
-  name: 'Team',
+  name: "Team",
 
-  dicts: ['mes_calendar_type'],
+  dicts: ["reminders_status"],
   data() {
     return {
       //自动生成编码
@@ -266,6 +182,7 @@ export default {
       loading: true,
       // 选中数组
       ids: [],
+      codes: [],
       // 非单个禁用
       single: true,
       // 非多个禁用
@@ -274,100 +191,143 @@ export default {
       showSearch: true,
       // 总条数
       total: 0,
-      // 班组表格数据
+      // 表格数据
       teamList: [],
       // 弹出层标题
-      title: '',
+      title: "",
       // 是否显示弹出层
       open: false,
       // 查询参数
+      timeoutAlarm: "",
       queryParams: {
         current: 1,
         size: 10,
-        reminderType:1,//这个必须传递
+        reminderType: 1, //这个必须传递
         materialsName: null,
         materialsCode: null,
         loanUserName: null,
-        restitutionRequired:null,//是否需要过期
-        restitutionUserName:null,
-        restitutionToName:null,//过期柜
-        loanFormName:null,//领取柜
-        startTime:null,
-        endTime:null
+        restitutionRequired: null, //是否需要过期
+        restitutionUserName: null,
+        restitutionToName: null, //过期柜
+        loanFormName: null, //领取柜
+        loanFromId: null, //领取柜id
+        readFlag: null,
+        startTime: "",
+        endTime: "",
+      },
+      // 查询参数
+      queryParamsCabinets: {
+        current: 1,
+        size: -1,
       },
       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: '',
+      cabinets: [], //物资所属柜
+      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();
+  },
+  mounted() {
+    this.materialsCabinets();
   },
   methods: {
+    // 格式化日期查询数据
+    formatDate(date) {
+      if (date && date instanceof Date && !isNaN(date)) {
+        // 使用本地时间
+        return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(
+          2,
+          "0"
+        )}-${String(date.getDate()).padStart(2, "0")}`;
+      }
+      return null;
+    },
     /** 查询班组列表 */
     getList() {
-      this.loading = true
-      listReturnReminder(this.queryParams).then(response => {
-        console.log(response,'过期提醒')
-        this.teamList = response.data.records
-        this.total = response.data.total
-        this.loading = false
-      })
+      this.loading = true;
+      // 格式化日期并更新 queryParams
+      if (Array.isArray(this.timeoutAlarm) && this.timeoutAlarm.length === 2) {
+        this.queryParams.startTime = this.formatDate(this.timeoutAlarm[0]);
+        this.queryParams.endTime = this.formatDate(this.timeoutAlarm[1]);
+      }
+      listReturnReminder(this.queryParams).then((response) => {
+        console.log(response, "过期提醒");
+        this.teamList = response.data.records;
+        this.total = response.data.total;
+        this.loading = false;
+      });
+    },
+    // 物资所属柜
+    materialsCabinets() {
+      getIsMaterialsCabinets(this.queryParamsCabinets).then((response) => {
+        if (response?.data?.records) {
+          // 提取 cabinetId 和 cabinetName
+          this.cabinets = response.data.records.map((item) => ({
+            value: item.cabinetId,
+            label: item.cabinetName,
+          }));
+        }
+      });
     },
     //图片上传成功
     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() {
@@ -384,104 +344,60 @@ export default {
         createBy: null,
         createTime: null,
         updateBy: null,
-        updateTime: null
-      }
-      this.resetForm('form')
+        updateTime: null,
+      };
+      this.resetForm("form");
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.current = 1
-      this.getList()
+      this.queryParams.current = 1;
+      this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.resetForm('queryForm')
-      this.handleQuery()
+      this.timeoutAlarm = "";
+      this.queryParams.reminderType = 1;
+      this.queryParams.materialsName = null;
+      this.queryParams.materialsCode = null;
+      this.queryParams.loanUserName = null;
+      this.queryParams.restitutionRequired = null; //是否需要过期
+      this.queryParams.restitutionUserName = null;
+      this.queryParams.restitutionToName = null; //过期柜
+      this.queryParams.loanFormName = null; //领取柜
+      this.queryParams.loanFromId = null;
+      this.readFlag = null;
+      this.queryParams.startTime = "";
+      this.queryParams.endTime = "";
+      this.resetForm("queryForm");
+      this.handleQuery();
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      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'
-    },
-    // 查询明细按钮操作
-    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'
-      })
-    },
-    /** 修改按钮操作 */
-    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'
-      })
-    },
-    /** 提交按钮 */
-    submitForm() {
-      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()
-            })
-          } else {
-            addTeam(this.form).then(response => {
-              this.$modal.msgSuccess('新增成功')
-              this.open = false
-              this.getList()
-            })
-          }
-        }
-      })
+      this.ids = selection.map((item) => item.materialsLoanId);
+      this.codes = selection.map((item) => item.materialsCode);
+
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
+
     /** 删除按钮操作 */
-    handleDelete(row) {
-      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`)
-    },
-    //自动生成编码
-    handleAutoGenChange(autoGenFlag) {
-      if (autoGenFlag) {
-        genCode('CAL_TEAM_CODE').then(response => {
-          this.form.teamCode = response
-        })
-      } else {
-        this.form.teamCode = null
-      }
-    }
-  }
-}
+    // handleDelete(row) {
+    //   const teamIds = row.materialsLoanId || this.ids;
+    //   const materialsCodes = row.materialsCode || this.codes;
+
+    //   this.$modal
+    //     .confirm('是否确认删除物资编码为"' + materialsCodes + '"的数据项?')
+    //     .then(function () {
+    //       return delTeam(teamIds);
+    //     })
+    //     .then(() => {
+    //       this.getList();
+    //       this.$modal.msgSuccess("删除成功");
+    //     })
+    //     .catch(() => {});
+    // },
+  },
+};
 </script>
 <style lang="scss" src="@/assets/styles/dialog-title.scss" scoped>
 .el-input-width {

+ 8 - 8
src/views/mes/material/materialinformation/index.vue

@@ -274,13 +274,6 @@
 </template>
 
 <script>
-import {
-  listTeam,
-  getTeam,
-  delTeam,
-  addTeam,
-  updateTeam,
-} from "@/api/mes/cal/team";
 import {
   listMaterials,
   addMaterials,
@@ -493,9 +486,16 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
+      this.createTime = "";
+      this.queryParams.materialsCode = null;
+      this.queryParams.materialsName = null;
+      this.queryParams.loanState = null;
+      this.queryParams.materialsCabinetId = null;
+      this.queryParams.materialsTypeId = null;
+      this.queryParams.startTime = "";
+      this.queryParams.endTime = "";
       this.resetForm("queryForm");
       this.handleQuery();
-      this.createTime = "";
     },
     // 多选框选中数据
     handleSelectionChange(selection) {

+ 225 - 308
src/views/mes/material/returnremind/index.vue

@@ -1,6 +1,13 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="100px"
+    >
       <el-form-item label="物资编码" prop="materialsCode">
         <el-input
           v-model="queryParams.materialsCode"
@@ -25,75 +32,55 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="领取时间">
+      <el-form-item label="领取时间" prop="loanTime">
         <el-date-picker
-          v-model="form.startTime"
-          type="datetime"
+          v-model="loanTime"
+          type="datetimerange"
           placeholder="选择日期时间"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
           align="right"
           :picker-options="pickerOptions"
         >
         </el-date-picker>
       </el-form-item>
-      <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="form.endTime"
-          type="datetime"
-          placeholder="选择日期时间"
-          align="right"
-          :picker-options="pickerOptions"
-        >
-        </el-date-picker>
+      <el-form-item label="领取柜" prop="loanFromId">
+        <el-select v-model="queryParams.loanFromId" placeholder="请选择领取柜">
+          <el-option
+            v-for="dict in cabinets"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </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-form-item label="状态" prop="readFlag">
+        <el-select v-model="queryParams.readFlag" placeholder="状态">
+          <el-option
+            v-for="dict in dict.type.reminders_status"
+            :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"
+          icon="el-icon-search"
           size="mini"
-          @click="handleAdd"
-          v-hasPermi="['mes:mat:ret:add']"
-        >新增
-        </el-button>
-      </el-col>
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="success"-->
-      <!--          plain-->
-      <!--          icon="el-icon-edit"-->
-      <!--          size="mini"-->
-      <!--          :disabled="single"-->
-      <!--          @click="handleUpdate"-->
-      <!--          v-hasPermi="['mes:cal:team:edit']"-->
-      <!--        >修改</el-button>-->
-      <!--      </el-col>-->
+          @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="danger"
@@ -103,40 +90,35 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['mes:mat:ret:batchremove']"
-        >批量删除
+          >批量删除
         </el-button>
       </el-col>
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="warning"-->
-      <!--          plain-->
-      <!--          icon="el-icon-download"-->
-      <!--          size="mini"-->
-      <!--          @click="handleExport"-->
-      <!--          v-hasPermi="['mes:cal:team:export']"-->
-      <!--        >导出</el-button>-->
-      <!--      </el-col>-->
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
+      <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
+      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:ret:query']"
-          >{{ scope.row.materialsCode }}
+            >{{ scope.row.materialsCode }}
           </el-button>
         </template>
       </el-table-column>
-      <el-table-column label="物资名称" align="center" prop="materialsName"/>
+      <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="loanFromName">
-
       </el-table-column>
       <el-table-column label="领取时间" align="center" prop="loanTime">
       </el-table-column>
@@ -144,120 +126,47 @@
       </el-table-column>
       <el-table-column label="状态" align="center" prop="readFlag">
         <template slot-scope="scope">
-          <el-tag type="primary" v-if="scope.row.readFlag==0">已读</el-tag>
-          <el-tag type="danger" v-if="scope.row.readFlag==1">未读</el-tag>
+          <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-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
+        <template slot-scope="scope">
+          <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.current"
       :limit.sync="queryParams.size"
       @pagination="getList"
     />
-
-    <!-- 添加或修改班组对话框 -->
-    <el-dialog :visible.sync="open" width="460px" append-to-body>
-      <div slot="title" class="dialog-title">
-        <i></i>
-        <span class="title">{{ title }}</span>
-      </div>
-      <el-form ref="form" :model="form" :rules="rules" label-width="110px">
-        <el-form-item label="物资编码" prop="teamCode">
-          <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-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 label="提醒人" prop="teamCode">
-          <el-input v-model="form.teamCode" placeholder="请输入提醒人"/>
-        </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-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"
-              :label="dict.label"
-              :value="dict.value"
-            />
-          </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="submitForm" v-else>确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
   </div>
 </template>
 
 <script>
-import {listReturnReminder} from "@/api/mes/return/return"
-
-import { genCode } from '@/api/system/autocode/rule'
+import { listReturnReminder } from "@/api/mes/return/return";
+import { getIsMaterialsCabinets } from "@/api/mes/material/information";
+import { genCode } from "@/api/system/autocode/rule";
 
 export default {
-  name: 'Team',
+  name: "Team",
 
-  dicts: ['mes_calendar_type'],
+  dicts: ["reminders_status"],
   data() {
     return {
       //自动生成编码
@@ -267,6 +176,7 @@ export default {
       loading: true,
       // 选中数组
       ids: [],
+      codes: [],
       // 非单个禁用
       single: true,
       // 非多个禁用
@@ -278,97 +188,142 @@ export default {
       // 班组表格数据
       teamList: [],
       // 弹出层标题
-      title: '',
+      title: "",
       // 是否显示弹出层
       open: false,
+
       // 查询参数
+      loanTime: "",
       queryParams: {
         current: 1,
         size: 10,
-        reminderType:0,
+        reminderType: 0,
         materialsName: null,
         materialsCode: null,
         loanUserName: null,
-        restitutionRequired:null,//是否需要归还
-        restitutionUserName:null,
-        restitutionToName:null,//归还柜
-        loanFormName:null,//领取柜
-        startTime:null,
-        endTime:null
+        restitutionRequired: null, //是否需要归还
+        restitutionUserName: null,
+        restitutionToName: null, //归还柜
+        loanFormName: null, //领取柜
+        loanFromId: null, //领取柜id
+        readFlag: "",
+        startTime: "",
+        endTime: "",
+      },
+      // 查询参数
+      queryParamsCabinets: {
+        current: 1,
+        size: -1,
       },
       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: '',
+      cabinets: [], //物资所属柜
+      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();
+  },
+  mounted() {
+    this.materialsCabinets();
   },
   methods: {
+    // 格式化日期查询数据
+    formatDate(date) {
+      if (date && date instanceof Date && !isNaN(date)) {
+        // 使用本地时间
+        return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(
+          2,
+          "0"
+        )}-${String(date.getDate()).padStart(2, "0")}`;
+      }
+      return null;
+    },
     /** 查询班组列表 */
     getList() {
-      this.loading = true
-      listReturnReminder(this.queryParams).then(response => {
-        console.log(response,'归还提醒')
-        this.teamList = response.data.records
-        this.total = response.data.total
-        this.loading = false
-      })
+      this.loading = true;
+      // 格式化日期并更新 queryParams
+      if (Array.isArray(this.loanTime) && this.loanTime.length === 2) {
+        this.queryParams.startTime = this.formatDate(this.loanTime[0]);
+        this.queryParams.endTime = this.formatDate(this.loanTime[1]);
+      }
+      listReturnReminder(this.queryParams).then((response) => {
+        console.log(response, "归还提醒");
+        this.teamList = response.data.records;
+        this.total = response.data.total;
+        this.loading = false;
+      });
+    },
+    // 物资所属柜
+    materialsCabinets() {
+      getIsMaterialsCabinets(this.queryParamsCabinets).then((response) => {
+        if (response?.data?.records) {
+          // 提取 cabinetId 和 cabinetName
+          this.cabinets = response.data.records.map((item) => ({
+            value: item.cabinetId,
+            label: item.cabinetName,
+          }));
+        }
+      });
     },
     //图片上传成功
     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() {
@@ -385,104 +340,66 @@ export default {
         createBy: null,
         createTime: null,
         updateBy: null,
-        updateTime: null
-      }
-      this.resetForm('form')
+        updateTime: null,
+      };
+      this.resetForm("form");
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.current = 1
-      this.getList()
+      this.queryParams.current = 1;
+      this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.resetForm('queryForm')
-      this.handleQuery()
+      this.loanTime = "";
+      this.queryParams.materialsName = null;
+      this.queryParams.materialsCode = null;
+      this.queryParams.loanUserName = null;
+      this.queryParams.restitutionRequired = null; //是否需要归还
+      this.queryParams.restitutionUserName = null;
+      this.queryParams.restitutionToName = null; //归还柜
+      this.queryParams.loanFormName = null; //领取柜
+      this.queryParams.loanFromId = null;
+      this.readFlag = "";
+      this.queryParams.startTime = "";
+      this.queryParams.endTime = "";
+      this.resetForm("queryForm");
+      this.handleQuery();
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      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'
-    },
-    // 查询明细按钮操作
-    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'
-      })
-    },
-    /** 修改按钮操作 */
-    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'
-      })
-    },
-    /** 提交按钮 */
-    submitForm() {
-      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()
-            })
-          } else {
-            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(() => {
-      })
-    },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('cal/team/export', {
-        ...this.queryParams
-      }, `team_${new Date().getTime()}.xlsx`)
+      this.ids = selection.map((item) => item.materialsLoanId);
+      // this.codes = selection.map((item) => item.materialsLoanId);
+
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
+    // /** 删除按钮操作 */
+    // handleDelete(row) {
+    //   const teamIds = row.teamId || this.ids;
+    //   this.$modal
+    //     .confirm('是否确认删除编码为"' + teamIds + '"的数据项?')
+    //     .then(function () {
+    //       return delTeam(teamIds);
+    //     })
+    //     .then(() => {
+    //       this.getList();
+    //       this.$modal.msgSuccess("删除成功");
+    //     })
+    //     .catch(() => {});
+    // },
     //自动生成编码
     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 {

+ 1 - 0
src/views/mes/material/typeofmaterial/index.vue

@@ -457,6 +457,7 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
+      
       this.resetForm("queryForm");
       this.handleQuery();
     },