Qukatie 9 mesi fa
parent
commit
a99fcd8146

+ 16 - 0
src/api/warehouseCheck/index.js

@@ -77,3 +77,19 @@ export function secondDelete(fId) {
         method: 'delete'
     })
 }
+//生成
+export function generateItems(data) {
+    return request({
+        url: '/warehouse/check/generateItems',
+        method: 'post',
+        data:data
+    })
+}
+//巡检检索
+export function getlistAll(data) {
+    return request({
+        url: '/warehouse/checkitems/listAll',
+        method: 'get',
+        params:data
+    })
+}

+ 202 - 307
src/views/warehouseBusiness/warehouseCheck/index.vue

@@ -1,55 +1,26 @@
 <template>
   <div class="app-container" v-if="!open">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="仓库名称" prop="fWarehouseid">
-        <el-select
-            v-model="queryParams.fWarehouseid"
-            filterable
-            placeholder="请选择仓库名称"
-        >
-          <el-option
-              v-for="(item, index) in warehouseOptions"
-              :key="index.fId"
-              :label="item.fName"
-              :value="item.fId"
-          ></el-option>
+      <el-form-item label="仓库名称" prop="fWarehouseFid">
+        <el-select v-model="queryParams.fWarehouseFid" filterable placeholder="请选择仓库名称">
+          <el-option v-for="(item, index) in warehouseOptions" :key="index.fId" :label="item.fName"
+            :value="item.fId"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="计划日期">
-        <el-date-picker
-            v-model="fPlanneddate"
-            @change="planDateMethod"
-            type="daterange"
-            :clearable="false"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            :default-time="['00:00:00', '23:59:59']"
-            :picker-options="pickerOptions"
-            unlink-panels>
+        <el-date-picker v-model="fPlanneddate" @change="planDateMethod" type="daterange" :clearable="false"
+          start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd HH:mm:ss"
+          :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions" unlink-panels>
         </el-date-picker>
       </el-form-item>
       <el-form-item label="巡检人" prop="fInspectorid">
-        <el-select
-            v-model="queryParams.fInspectorid"
-            filterable
-            placeholder="请选择巡检人"
-        >
-          <el-option
-              v-for="(item, index) in patrolInspection"
-              :key="index.userId"
-              :label="item.userName"
-              :value="item.userId"
-          ></el-option>
+        <el-select v-model="queryParams.fInspectorid" filterable placeholder="请选择巡检人">
+          <el-option v-for="(item, index) in patrolInspection" :key="index.userId" :label="item.userName"
+            :value="item.userId"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="巡检备注" prop="remark">
-        <el-input
-            v-model="queryParams.remark"
-            placeholder="请输入巡检备注"
-            clearable
-            size="small"
-        />
+        <el-input v-model="queryParams.remark" placeholder="请输入巡检备注" clearable size="small" />
       </el-form-item>
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -60,53 +31,27 @@
     <el-dialog title="提示" :visible.sync="showSetting" width="700px" v-dialogDrag append-to-body>
       <template slot="title">
         <div class="avue-crud__dialog__header">
-            <span class="el-dialog__title">
-            <span
-              style="display:inline-block;width:3px;height:20px;margin-right:5px; float: left;margin-top:2px"></span>
-            </span>
+          <span class="el-dialog__title">
+            <span style="display:inline-block;width:3px;height:20px;margin-right:5px; float: left;margin-top:2px"></span>
+          </span>
         </div>
       </template>
       <div>配置排序列数据(拖动调整顺序)</div>
       <div style="margin-left: 17px">
-        <el-checkbox
-          v-model="allCheck"
-          label="全选"
-          @change="allChecked"
-        ></el-checkbox>
+        <el-checkbox v-model="allCheck" label="全选" @change="allChecked"></el-checkbox>
       </div>
       <div style="padding: 4px; display: flex; justify-content: center">
-        <draggable
-          v-model="setRowList"
-          group="site"
-          animation="300"
-          @start="onStart"
-          @end="onEnd"
-          handle=".indraggable"
-        >
+        <draggable v-model="setRowList" group="site" animation="300" @start="onStart" @end="onEnd" handle=".indraggable">
           <transition-group>
-            <div
-              v-for="item in setRowList"
-              :key="item.surface"
-              class="listStyle"
-            >
+            <div v-for="item in setRowList" :key="item.surface" class="listStyle">
               <div style="width: 500px" class="indraggable">
                 <div class="progress" :style="{ width: item.width + 'px' }">
-                  <el-checkbox
-                    :label="item.name"
-                    v-model="item.checked"
-                    :true-label="0"
-                    :false-label="1"
-                  >{{ item.name }}
+                  <el-checkbox :label="item.name" v-model="item.checked" :true-label="0" :false-label="1">{{ item.name }}
                   </el-checkbox>
                 </div>
               </div>
-              <el-input-number
-                v-model.number="item.width"
-                controls-position="right"
-                :min="1"
-                :max="500"
-                size="mini"
-              ></el-input-number>
+              <el-input-number v-model.number="item.width" controls-position="right" :min="1" :max="500"
+                size="mini"></el-input-number>
             </div>
           </transition-group>
         </draggable>
@@ -119,32 +64,15 @@
     </el-dialog>
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button
-            type="primary"
-            icon="el-icon-plus"
-            size="mini"
-            @click="handleAdd"
-        >新增
+        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-            type="success"
-            icon="el-icon-edit"
-            size="mini"
-            :disabled="single"
-            @click="handleUpdate"
-        >修改
+        <el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate">修改
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-            type="danger"
-            icon="el-icon-delete"
-            size="mini"
-            :disabled="multiple"
-            @click="handleDelete"
-        >删除
+        <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete">删除
         </el-button>
       </el-col>
       <!--      <el-col :span="1.5">-->
@@ -158,29 +86,15 @@
       <!--      </el-col>-->
       <right-toolbar :showSearch.sync="showSearch" @queryTable="resetQuery"></right-toolbar>
       <div style="margin: 0 12px;float: right">
-        <el-button
-          icon="el-icon-setting"
-          size="mini"
-          circle
-          @click="showSetting = !showSetting"
-        ></el-button>
+        <el-button icon="el-icon-setting" size="mini" circle @click="showSetting = !showSetting"></el-button>
       </div>
     </el-row>
     <el-table v-loading="loading" :data="logList" @selection-change="handleSelectionChange" ref="table"
-              :height="tableHeight">
-      <el-table-column type="selection" width="55" align="center"/>
-      <el-table-column label="序号" type="index" width="50" fixed align="center"/>
-      <el-table-column
-        v-for="(item, index) in getRowList"
-        :key="index"
-        :label="item.name"
-        :width="item.width"
-        :prop="item.label"
-        align="center"
-        :fixed="item.fixed"
-        :show-overflow-tooltip="true"
-        sortable
-      >
+      :height="tableHeight">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="序号" type="index" width="50" fixed align="center" />
+      <el-table-column v-for="(item, index) in getRowList" :key="index" :label="item.name" :width="item.width"
+        :prop="item.label" align="center" :fixed="item.fixed" :show-overflow-tooltip="true" sortable>
         <template slot-scope="scope">
           <span v-if="item.label == 'fInspectorBeginDatetime'">
             {{ parseTime(scope.row.fInspectorBeginDatetime, '{y}-{m}-{d}') }}
@@ -201,30 +115,15 @@
       </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160" fixed="right">
         <template slot-scope="scope">
-          <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-edit"
-              @click="viewDetails(scope.row)"
-          >查看
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="viewDetails(scope.row)">查看
           </el-button>
-          <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-delete"
-              @click="handleDelete(scope.row,scope.$index)"
-          >删除
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row, scope.$index)">删除
           </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"
-    />
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
   </div>
   <div class="app-container" v-else>
     <!-- 添加或修改入出库状态对话框 -->
@@ -232,160 +131,128 @@
     <el-form ref="form" :model="form" :rules="rules" label-width="100px">
       <el-row>
         <el-col :span="8">
-          <el-form-item label="仓库名称" prop="fWarehouseFid">
-            <el-select
-                v-model="form.fWarehouseFid"
-                filterable
-                style="width: 260px;"
-                placeholder="请选择仓库名称"
-            >
-              <el-option
-                  v-for="(item, index) in warehouseOptions"
-                  :key="index.fId"
-                  :label="item.fName"
-                  :value="item.fId"
-              ></el-option>
+          <el-form-item label="仓库名称" prop="fWarehouseFid" :rules="[{ required: true, message: '不能为空' }]">
+            <el-select v-model="form.fWarehouseFid" filterable style="width:100%;" placeholder="请选择仓库名称">
+              <el-option v-for="(item, index) in warehouseOptions" :key="index.fId" :label="item.fName"
+                :value="item.fId"></el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="巡检日期起" prop="fInspectorBeginDatetime">
-            <el-date-picker
-                style="width: 260px;"
-                v-model="form.fInspectorBeginDatetime"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                type="datetime"
-                placeholder="选择日期时间">
-            </el-date-picker>
+          <el-form-item label="巡检名称" prop="cname">
+            <el-input v-model="form.cname" style="width:100%;" placeholder="请输入内容" />
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="巡检日期止" prop="fInspectorEndDatetime">
-            <el-date-picker
-                style="width: 260px;"
-                v-model="form.fInspectorEndDatetime"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                type="datetime"
-                placeholder="选择日期时间">
-            </el-date-picker>
+          <el-form-item label="巡检人" prop="fInspectorId" :rules="[{ required: true, message: '不能为空' }]">
+            <el-select v-model="form.fInspectorId" filterable style="width:100%;" placeholder="请选择巡检人">
+              <el-option v-for="(item, index) in patrolInspection" :key="index.userId" :label="item.userName"
+                :value="item.userId"></el-option>
+            </el-select>
           </el-form-item>
         </el-col>
+
       </el-row>
       <el-row>
         <el-col :span="8">
-          <el-form-item label="巡检人" prop="fInspectorId">
-            <el-select
-                v-model="form.fInspectorId"
-                filterable
-                style="width: 260px;"
-                placeholder="请选择巡检人"
-            >
-              <el-option
-                  v-for="(item, index) in patrolInspection"
-                  :key="index.userId"
-                  :label="item.userName"
-                  :value="item.userId"
-              ></el-option>
-            </el-select>
+          <el-form-item label="巡检日期起" prop="fInspectorBeginDatetime" :rules="[{ required: true, message: '不能为空' }]">
+            <el-date-picker style="width:100%;" v-model="form.fInspectorBeginDatetime" value-format="yyyy-MM-dd HH:mm:ss"
+              type="datetime" placeholder="选择日期时间">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="巡检日期止" prop="fInspectorEndDatetime" :rules="[{ required: true, message: '不能为空' }]">
+            <el-date-picker style="width:100%;" v-model="form.fInspectorEndDatetime" value-format="yyyy-MM-dd HH:mm:ss"
+              type="datetime" placeholder="选择日期时间">
+            </el-date-picker>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="备注" prop="fRemark">
-            <el-input v-model="form.remark" type="textarea" style="width: 260px;" placeholder="请输入内容" autosize/>
+            <el-input v-model="form.fRemark" type="textarea" style="width:100%;" placeholder="请输入内容" autosize />
           </el-form-item>
         </el-col>
       </el-row>
     </el-form>
-    <div style="width: 100%;margin: 10px auto">
+    <div style="display: flex;align-items: center;">
+      <el-checkbox-group v-model="weekList">
+        <el-checkbox label="星期一"></el-checkbox>
+        <el-checkbox label="星期二"></el-checkbox>
+        <el-checkbox label="星期三"></el-checkbox>
+        <el-checkbox label="星期四"></el-checkbox>
+        <el-checkbox label="星期五"></el-checkbox>
+        <el-checkbox label="星期六"></el-checkbox>
+        <el-checkbox label="星期日"></el-checkbox>
+      </el-checkbox-group>
+      <el-button style="margin-left: 10px;" type="primary" icon="el-icon-search" size="mini" @click="search">搜
+        索</el-button>
+    </div>
+    <div style="width: 100%;margin: 10px auto;display: flex;">
       <el-button type="primary" size="mini" @click="inputDetails">录入明细</el-button>
+      <el-button type="success" plain size="mini" @click="generateData">生成巡检明细</el-button>
       <el-button type="success" size="mini" @click="submitForm">保 存</el-button>
+      <el-button type="danger" size="mini" @click="allDel">一键删除</el-button>
+      <el-button type="warning" size="mini" @click="allValid(1)">有效</el-button>
+      <el-button type="info" size="mini" @click="allValid(0)">无效</el-button>
     </div>
     <div style="width: 100%;">
-      <el-table
-          :data="form.tWarehouseCheckItemsList"
-          style="width: 100%">
-        <el-table-column label="序号" type="index" width="50" fixed align="center"/>
+      <el-table :data="form.tWarehouseCheckItemsList" style="width: 100%" @selection-change="selectionChange">
+        <el-table-column type="selection" width="55">
+        </el-table-column>
+        <el-table-column label="序号" type="index" width="50" fixed align="center" />
         <el-table-column label="仓库名称" align="center" prop="fWarehouseFid">
           <template slot-scope="scope">
-            <el-select
-                v-model="scope.row.fWarehouseFid"
-                filterable
-                placeholder="请选择仓库名称"
-            >
-              <el-option
-                  v-for="(item, index) in warehouseOptions"
-                  :key="index.fId"
-                  :label="item.fName"
-                  :value="item.fId"
-              ></el-option>
+            <el-select v-model="scope.row.fWarehouseFid" filterable placeholder="请选择仓库名称">
+              <el-option v-for="(item, index) in warehouseOptions" :key="index.fId" :label="item.fName"
+                :value="item.fId"></el-option>
             </el-select>
           </template>
         </el-table-column>
         <el-table-column label="巡检人" align="center" prop="fInspectorId">
           <template slot-scope="scope">
-            <el-select
-                v-model="scope.row.fInspectorId"
-                filterable
-                placeholder="请选择巡检人"
-            >
-              <el-option
-                  v-for="(item, index) in patrolInspection"
-                  :key="index.userId"
-                  :label="item.userName"
-                  :value="item.userId"
-              ></el-option>
+            <el-select v-model="scope.row.fInspectorId" filterable placeholder="请选择巡检人">
+              <el-option v-for="(item, index) in patrolInspection" :key="index.userId" :label="item.userName"
+                :value="item.userId"></el-option>
             </el-select>
           </template>
         </el-table-column>
         <el-table-column label="计划日期" align="center" prop="fInspectionDatetime">
           <template slot-scope="scope">
-            <el-date-picker
-                style="width: 100%;"
-                v-model="scope.row.fInspectionDatetime"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                type="datetime"
-                placeholder="选择日期时间">
+            <el-date-picker style="width: 100%;" v-model="scope.row.fInspectionDatetime"
+              value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期时间">
             </el-date-picker>
           </template>
         </el-table-column>
+        <el-table-column label="是否有效" align="center" prop="whetherEffective">
+          <template slot-scope="scope">
+            <el-checkbox v-model="scope.row.whetherEffective" :true-label="1" :false-label="0"></el-checkbox>
+          </template>
+        </el-table-column>
+        <el-table-column label="星期" align="center" prop="week">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.week" placeholder="请输入星期" disabled></el-input>
+          </template>
+        </el-table-column>
         <el-table-column label="最新巡检日期" align="center" prop="fUpdateTime">
           <template slot-scope="scope">
-            <el-date-picker
-                style="width: 100%;"
-                disabled
-                v-model="scope.row.fUpdateTime"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                type="datetime"
-                placeholder="选择日期时间">
+            <el-date-picker style="width: 100%;" disabled v-model="scope.row.fUpdateTime"
+              value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期时间">
             </el-date-picker>
           </template>
         </el-table-column>
         <el-table-column label="最新巡检人" align="center" prop="fUpdateBy">
           <template slot-scope="scope">
-            <el-select
-                disabled
-                v-model="scope.row.fUpdateBy"
-                filterable
-                placeholder="最新巡检人"
-            >
-              <el-option
-                  v-for="(item, index) in patrolInspection"
-                  :key="index.userId"
-                  :label="item.userName"
-                  :value="item.userId"
-              ></el-option>
+            <el-select disabled v-model="scope.row.fUpdateBy" filterable placeholder="最新巡检人">
+              <el-option v-for="(item, index) in patrolInspection" :key="index.userId" :label="item.userName"
+                :value="item.userId"></el-option>
             </el-select>
           </template>
         </el-table-column>
         <el-table-column label="巡检记录" align="center">
           <template slot-scope="scope" style="width: 100px;">
-            <el-button
-                size="mini"
-                type="text"
-                :disabled="!scope.row.fId"
-                @click="pictureList(scope)"
-                icon="el-icon-document"
-            >详情
+            <el-button size="mini" type="text" :disabled="!scope.row.fId" @click="pictureList(scope)"
+              icon="el-icon-document">详情
             </el-button>
           </template>
         </el-table-column>
@@ -428,12 +295,7 @@
         </el-table-column>
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope" style="width: 100px;">
-            <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-delete"
-                @click="singleItemDeletion(scope.$index,scope)"
-            >删除
+            <el-button size="mini" type="text" icon="el-icon-delete" @click="singleItemDeletion(scope.$index, scope)">删除
             </el-button>
           </template>
         </el-table-column>
@@ -441,70 +303,36 @@
     </div>
     <div slot="footer" class="dialog-footer">
     </div>
-    <el-dialog
-        title="图片明细"
-        :visible.sync="opentwo"
-        append-to-body
-        width="70%">
+    <el-dialog title="图片明细" :visible.sync="opentwo" append-to-body width="70%">
       <el-form ref="form" :model="twarehousecheckdetailList" label-width="80px"
-               style="display:flex;flex-wrap: wrap;justify-content: space-between">
-        <el-form-item label="仓库名称" prop="fWarehouseid">
-          <el-select
-              v-model="twarehousecheckdetailList.fWarehouseid"
-              filterable
-              disabled
-              placeholder="请选择仓库名称"
-              style="width: 200px;"
-          >
-            <el-option
-                v-for="(item, index) in warehouseOptions"
-                :key="index.fId"
-                :label="item.fName"
-                :value="item.fId"
-            ></el-option>
+        style="display:flex;flex-wrap: wrap;justify-content: space-between">
+        <el-form-item label="仓库名称" prop="fWarehouseFid">
+          <el-select v-model="twarehousecheckdetailList.fWarehouseFid" filterable disabled placeholder="请选择仓库名称"
+            style="width: 200px;">
+            <el-option v-for="(item, index) in warehouseOptions" :key="index.fId" :label="item.fName"
+              :value="item.fId"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="巡检日期" prop="fCreateTime">
-          <el-date-picker
-              style="width: 200px;"
-              disabled
-              v-model="twarehousecheckdetailList.fCreateTime"
-              type="date"
-              value-format="yyyy-MM-dd"
-              placeholder="选择日期">
+          <el-date-picker style="width: 200px;" disabled v-model="twarehousecheckdetailList.fCreateTime" type="date"
+            value-format="yyyy-MM-dd" placeholder="选择日期">
           </el-date-picker>
         </el-form-item>
         <el-form-item label="巡检人" prop="fInspectorid">
-          <el-select
-              disabled
-              v-model="twarehousecheckdetailList.fInspectorid"
-              filterable
-              placeholder="最新巡检人"
-          >
-            <el-option
-                v-for="(item, index) in patrolInspection"
-                :key="index.userId"
-                :label="item.userName"
-                :value="item.userId"
-            ></el-option>
+          <el-select disabled v-model="twarehousecheckdetailList.fInspectorid" filterable placeholder="最新巡检人">
+            <el-option v-for="(item, index) in patrolInspection" :key="index.userId" :label="item.userName"
+              :value="item.userId"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="备注" prop="fRemark">
-          <el-input style="width: 200px;" v-model="twarehousecheckdetailList.fRemark" type="textarea"
-                    placeholder="请输入内容" autosize/>
+          <el-input style="width: 200px;" v-model="twarehousecheckdetailList.fRemark" type="textarea" placeholder="请输入内容"
+            autosize />
         </el-form-item>
       </el-form>
       <div style="margin-top: 20px;border: 1px solid #cccccc;padding: 5px;border-radius: 10px">
-        <el-upload
-            :headers="headers"
-            :action="uploadImgUrl"
-            :on-success="onSuccess"
-            list-type="picture-card"
-            :file-list="fileList"
-            accept=".jpeg,.jpg,.png,.svg,.webp"
-            :limit="100"
-            :on-preview="handlePictureCardPreview"
-            :on-remove="handleRemove">
+        <el-upload :headers="headers" :action="uploadImgUrl" :on-success="onSuccess" list-type="picture-card"
+          :file-list="fileList" accept=".jpeg,.jpg,.png,.svg,.webp" :limit="100" :on-preview="handlePictureCardPreview"
+          :on-remove="handleRemove">
           <i class="el-icon-plus"></i>
         </el-upload>
         <el-dialog :visible.sync="dVisible" append-to-body>
@@ -512,9 +340,9 @@
         </el-dialog>
       </div>
       <span slot="footer" class="dialog-footer">
-    <el-button @click="closePicture">取 消</el-button>
-    <el-button type="primary" @click="preservationtwo">保 存</el-button>
-  </span>
+        <el-button @click="closePicture">取 消</el-button>
+        <el-button type="primary" @click="preservationtwo">保 存</el-button>
+      </span>
     </el-dialog>
   </div>
 </template>
@@ -530,12 +358,14 @@ import {
   savePicture,
   selectUserByRole,
   addOrModifyPictureList,
-  currentLogin
+  currentLogin,
+  generateItems,
+  getlistAll
 } from '@/api/warehouseCheck/index'
-import {listWarehousesss} from "@/api/basicdata/warehouse";
-import {getToken} from "@/utils/auth";
+import { listWarehousesss } from "@/api/basicdata/warehouse";
+import { getToken } from "@/utils/auth";
 import Cookies from "js-cookie";
-import {addSet, resetModule, select} from '@/api/system/set';
+import { addSet, resetModule, select } from '@/api/system/set';
 import draggable from "vuedraggable";
 
 export default {
@@ -545,6 +375,8 @@ export default {
   },
   data() {
     return {
+      weekList: [],
+      selectionList: [],
       tableHeight: '600',
       headers: {
         Authorization: "Bearer " + getToken(),
@@ -735,7 +567,7 @@ export default {
       this.patrolInspection = res.rows
       console.log(res)
     })
-    listWarehousesss({fStatus: 0, delFlag: 0}).then((response) => {
+    listWarehousesss({ fStatus: 0, delFlag: 0 }).then((response) => {
       this.warehouseOptions = response.rows;
     });
     this.getList();
@@ -749,6 +581,23 @@ export default {
     })
   },
   methods: {
+    selectionChange(list) {
+      this.selectionList = list
+    },
+    search() {
+      let obj = {
+        fCheckFid: this.form.fId,
+        week: this.weekList.join(',')
+      }
+      getlistAll(obj).then(res => {
+        this.form.tWarehouseCheckItemsList = res.data
+      })
+    },
+    allValid(type) {
+      this.form.tWarehouseCheckItemsList.forEach(e => {
+        this.$set(e, 'whetherEffective', type)
+      });
+    },
     // 获取当前月的第一天和最后一天
     getMonth() {
       let date = new Date();
@@ -836,7 +685,7 @@ export default {
           this.twarehousecheckdetailList = {
             fCheckFid: scope.row.fCheckFid,
             fItemFid: scope.row.fId,
-            fWarehouseid: scope.row.fWarehouseFid, //仓库名称
+            fWarehouseFid: scope.row.fWarehouseFid, //仓库名称
             fCreateTime: '',
             fInspectorid: '',
             fRemark: '',
@@ -844,7 +693,7 @@ export default {
           }
         } else {
           this.twarehousecheckdetailList = res.rows[0]
-          this.twarehousecheckdetailList.fWarehouseid = scope.row.fWarehouseFid
+          this.twarehousecheckdetailList.fWarehouseFid = scope.row.fWarehouseFid
           this.fileList = []
           for (let item in JSON.parse(res.rows[0].fPhotoUrl)) {
             this.fileList.push(JSON.parse(res.rows[0].fPhotoUrl)[item])
@@ -879,6 +728,42 @@ export default {
         this_.form.tWarehouseCheckItemsList.splice(index, 1);
       }
     },
+    allDel() {
+      let multiList = []
+      let arr = []
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        multiList = this.selectionList
+        arr = this.form.tWarehouseCheckItemsList 
+        // 获取有id 的数据
+        const itemsWithId = multiList.filter(item => item.hasOwnProperty('fId'));
+        let arrIds = itemsWithId.map(item => item.fId) // 获取id 数据
+        // 把选中的删除掉
+        multiList.forEach((item) => {
+          for (let index in arr) {
+            if (JSON.stringify(item) == JSON.stringify(arr[index])) {
+              arr.splice(Number(index), 1)
+            }
+          }
+        })
+        if (itemsWithId.length != 0) {
+          const loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            spinner: 'el-icon-loading',
+            background: 'rgba(255,255,255,0.7)'
+          });
+          secondDelete(arrIds.join(',')).then(res => {
+            this.$message.success("删除成功");
+          }).finally(() => {
+            loading.close();
+          })
+        }
+      })
+    },
     //拆分计划日期
     planDateMethod() {
       if (this.fPlanneddate) {
@@ -958,20 +843,30 @@ export default {
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {
+        console.log(valid)
         if (valid) {
           newlyAdded(this.form).then(response => {
             this.msgSuccess("新增成功");
-            this.viewDetails({fId: response.data})
+            this.viewDetails({ fId: response.data })
             // this.open = false;
             // this.getList();
           });
+        } else {
+          return false;
         }
       });
     },
+    generateData() {
+      if (!this.form.fId) return this.$message.error('请保存数据');
+      generateItems(this.form).then(res => {
+        this.$message.success('操作成功');
+        this.viewDetails({ fId: this.form.fId })
+      })
+    },
     /** 删除按钮操作 */
-    handleDelete(row,index) {
+    handleDelete(row, index) {
       const fIds = row.fId || this.ids;
-      this.$confirm('是否确认删除序号"' + Number(index+1) + '"的数据?', "警告", {
+      this.$confirm('是否确认删除序号"' + Number(index + 1) + '"的数据?', "警告", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning"