wyh 1 рік тому
батько
коміт
f35a57efe9

+ 74 - 33
src/views/module_cmms/upkeepPlan/UpkeepPlanList.vue

@@ -4,6 +4,47 @@
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="计划编号">
+              <a-input placeholder="请输入计划名称" v-model="queryParam.plancode"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="计划名称">
+              <a-input placeholder="请输入计划名称" v-model="queryParam.planname"></a-input>
+            </a-form-item>
+          </a-col>
+          <!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="设备类型">
+              <j-tree-select
+                ref="treeSelect"
+                placeholder="请选择设备类型"
+                v-model="queryParam.equipdefid"
+                dict="tpm_equipment_tree,name,id"
+                pidField="parentid"
+                pidValue="0"
+                hasChildField="has_child"
+                >
+              </j-tree-select>
+            </a-form-item>
+          </a-col> -->
+          <template v-if="toggleSearchStatus">
+            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="保养项编号">
+                <a-input placeholder="请输入保养项编号" v-model="queryParam.itemcode"></a-input>
+              </a-form-item>
+            </a-col>
+          </template>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
+              <a @click="handleToggleSearch" style="margin-left: 8px">
+                {{ toggleSearchStatus ? '收起' : '展开' }}
+                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
+              </a>
+            </span>
+          </a-col>
         </a-row>
       </a-form>
     </div>
@@ -122,12 +163,12 @@
             }
           },
           {
-            title:'保养计划编号',
+            title:'计划编号',
             align:"center",
             dataIndex: 'plancode'
           },
           {
-            title:'保养计划名称',
+            title:'计划名称',
             align:"center",
             dataIndex: 'planname'
           },
@@ -136,46 +177,46 @@
           //   align:"center",
           //   dataIndex: 'upkeepprojid'
           // },
-          {
-            title:'工作项目名称',
-            align:"center",
-            dataIndex: 'projectname'
-          },
+          // {
+          //   title:'工作项目名称',
+          //   align:"center",
+          //   dataIndex: 'projectname'
+          // },
           {
             title:'地点',
             align:"center",
             dataIndex: 'address'
           },
-          {
-            title:'厂商名称',
-            align:"center",
-            dataIndex: 'supplier'
-          },
-          {
-            title:'厂商电话',
-            align:"center",
-            dataIndex: 'suppliertel'
-          },
-          {
-            title:'联系人',
-            align:"center",
-            dataIndex: 'linker'
-          },
-          {
-            title:'联系人电话',
-            align:"center",
-            dataIndex: 'linkertel'
-          },
+          // {
+          //   title:'厂商名称',
+          //   align:"center",
+          //   dataIndex: 'supplier'
+          // },
+          // {
+          //   title:'厂商电话',
+          //   align:"center",
+          //   dataIndex: 'suppliertel'
+          // },
+          // {
+          //   title:'联系人',
+          //   align:"center",
+          //   dataIndex: 'linker'
+          // },
+          // {
+          //   title:'联系人电话',
+          //   align:"center",
+          //   dataIndex: 'linkertel'
+          // },
           {
             title:'负责人',
             align:"center",
-            dataIndex: 'chargeruser'
-          },
-          {
-            title:'描述',
-            align:"center",
-            dataIndex: 'plandesc'
+            dataIndex: 'chargeruser_dictText'
           },
+          // {
+          //   title:'描述',
+          //   align:"center",
+          //   dataIndex: 'plandesc'
+          // },
           {
             title:'开始时间',
             align:"center",

+ 225 - 117
src/views/module_cmms/upkeepPlan/modules/UpkeepPlanForm.vue

@@ -2,118 +2,149 @@
   <a-spin :spinning="confirmLoading">
     <j-form-container :disabled="formDisabled">
       <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
-        <a-row>
-          <a-col :span="12">
-            <a-form-model-item label="保养计划编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="plancode">
-              <a-input v-model="model.plancode" placeholder="请输入保养计划编号"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="保养计划名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planname">
-              <a-input v-model="model.planname" placeholder="请输入保养计划名称"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="保养工作项目ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upkeepprojid">
-              <a-input v-model="model.upkeepprojid" placeholder="请输入保养工作项目ID"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="工作项目名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="projectname">
-              <a-input v-model="model.projectname" placeholder="请输入工作项目名称"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="地点" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="address">
-              <a-input v-model="model.address" placeholder="请输入地点"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="厂商名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="supplier">
-              <a-input v-model="model.supplier" placeholder="请输入厂商名称"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="厂商电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="suppliertel">
-              <a-input v-model="model.suppliertel" placeholder="请输入厂商电话"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="联系人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="linker">
-              <a-input v-model="model.linker" placeholder="请输入联系人"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="联系人电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="linkertel">
-              <a-input v-model="model.linkertel" placeholder="请输入联系人电话"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="负责人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="chargeruser">
-              <a-input v-model="model.chargeruser" placeholder="请输入负责人"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="plandesc">
-              <a-input v-model="model.plandesc" placeholder="请输入描述"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="begintime">
-              <j-date placeholder="请选择开始时间" v-model="model.begintime"  style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="重复" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repeatnum">
-              <a-input-number v-model="model.repeatnum" :min="1" placeholder="请输入重复" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="重复类型:年、月、周、日、时、分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repeattype">
-              <a-input v-model="model.repeattype" placeholder="请输入重复类型:年、月、周、日、时、分"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="提前通知时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticenum">
-              <a-input-number v-model="model.noticenum" :min="1" placeholder="请输入提前通知时间" style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="提前通知类型:天、时、分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticetype">
-              <a-input v-model="model.noticetype" placeholder="请输入提前通知类型:天、时、分"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="状态(0启用 1停用)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
-              <a-input v-model="model.status" placeholder="请输入状态(0启用 1停用)"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="下次执行时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="nexttime">
-              <j-date placeholder="请选择下次执行时间" v-model="model.nexttime"  style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="下次通知时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticetime">
-              <j-date placeholder="请选择下次通知时间" v-model="model.noticetime"  style="width: 100%" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="是否已通知:是/否" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ifnotice">
-              <a-input v-model="model.ifnotice" placeholder="请输入是否已通知:是/否"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="设备id(根据设备id查找保养项内容)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentid">
-              <a-input v-model="model.equipmentid" placeholder="请输入设备id(根据设备id查找保养项内容)"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="12">
-            <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
-              <a-input v-model="model.remark" placeholder="请输入备注"  ></a-input>
-            </a-form-model-item>
-          </a-col>
-        </a-row>
+        <div class="cmms-dialog-item-title">保养计划基本信息</div>
+        <div style="height: 100%;width:100%;display: flex;">
+          <div style="height: 100%;width:92%;">
+            <a-row>
+              <!-- <a-col :span="12">
+                <a-form-model-item label="保养计划编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="plancode">
+                  <a-input v-model="model.plancode" placeholder="请输入保养计划编号"  ></a-input>
+                </a-form-model-item>
+              </a-col> -->
+              <a-col :span="12">
+                <a-form-model-item label="计划名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planname">
+                  <a-input v-model="model.planname" placeholder="请输入计划名称"  ></a-input>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="选择设备" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentid">
+                  <j-search-select-tag v-model="model.equipmentid" dict="tpm_equipment,equipmentname,id"  style="width: 100%"/>
+                    <!-- <a-button type="primary" icon="search" /> -->
+                </a-form-model-item>
+              </a-col>
+              <!-- <a-col :span="12">
+                <a-form-model-item label="保养工作项目ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upkeepprojid">
+                  <a-input v-model="model.upkeepprojid" placeholder="请输入保养工作项目ID"  ></a-input>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="工作项目名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="projectname">
+                  <a-input v-model="model.projectname" placeholder="请输入工作项目名称"  ></a-input>
+                </a-form-model-item>
+              </a-col>
+              
+              <a-col :span="12">
+                <a-form-model-item label="厂商名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="supplier">
+                  <a-input v-model="model.supplier" placeholder="请输入厂商名称"  ></a-input>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="厂商电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="suppliertel">
+                  <a-input v-model="model.suppliertel" placeholder="请输入厂商电话"  ></a-input>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="联系人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="linker">
+                  <a-input v-model="model.linker" placeholder="请输入联系人"  ></a-input>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="联系人电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="linkertel">
+                  <a-input v-model="model.linkertel" placeholder="请输入联系人电话"  ></a-input>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="plandesc">
+                  <a-input v-model="model.plandesc" placeholder="请输入描述"  ></a-input>
+                </a-form-model-item>
+              </a-col> -->
+              <a-col :span="12">
+                <a-form-model-item label="地点" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="address">
+                  <a-input v-model="model.address" placeholder="请输入地点"  ></a-input>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="负责人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="chargeruser">
+                  <j-dict-select-tag v-model="model.chargeruser" placeholder="请输入负责人" dictCode="sys_user,realname,id"/>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="begintime">
+                  <j-date placeholder="请选择开始时间" v-model="model.begintime"  style="width: 100%" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss"/>
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="提前通知" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticenum">
+                  <a-input-number v-model="model.noticenum" :min="1" placeholder="请输入提前通知时长" style="width: 40%" />
+                  <j-dict-select-tag v-model="model.noticetype" placeholder="时长单位" dictCode="plan_notice_unit" style="width: 30%"/>
+                </a-form-model-item>
+              </a-col>
+              <!-- <a-col :span="12">
+                <a-form-model-item label="通知单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticetype">
+                  <j-dict-select-tag v-model="model.noticetype" placeholder="请选择通知单位" dictCode="plan_notice_unit"/>
+                </a-form-model-item>
+              </a-col> -->
+              <a-col :span="12">
+                <a-form-model-item label="重复间隔" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repeatnum">
+                  <a-input-number v-model="model.repeatnum" :min="1" placeholder="请输入重复间隔" style="width: 40%" />
+                  <j-dict-select-tag v-model="model.repeattype" placeholder="间隔单位" dictCode="plan_cycle_unit" style="width: 30%" />
+                </a-form-model-item>
+              </a-col>
+              <!-- <a-col :span="12">
+                <a-form-model-item label="间隔单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repeattype">
+                  <j-dict-select-tag v-model="model.repeattype" placeholder="请选择间隔单位" dictCode="plan_cycle_unit"/>
+                </a-form-model-item>
+              </a-col> -->
+              <!-- <a-col :span="12">
+                <a-form-model-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
+                  <a-input v-model="model.status" placeholder="请输入状态(0启用 1停用)"  ></a-input>
+                </a-form-model-item>
+              </a-col> -->
+              <!-- <a-col :span="12">
+                <a-form-model-item label="下次执行时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="nexttime">
+                  <j-date placeholder="请选择下次执行时间" v-model="model.nexttime"  style="width: 100%" />
+                </a-form-model-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-model-item label="下次通知时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="noticetime">
+                  <j-date placeholder="请选择下次通知时间" v-model="model.noticetime"  style="width: 100%" />
+                </a-form-model-item>
+              </a-col> -->
+              <!-- <a-col :span="12">
+                <a-form-model-item label="是否已通知:是/否" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ifnotice">
+                  <a-input v-model="model.ifnotice" placeholder="请输入是否已通知:是/否"  ></a-input>
+                </a-form-model-item>
+              </a-col> -->
+              <a-col :span="12">
+                <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
+                  <a-textarea v-model="model.remark" placeholder="请输入备注"  :auto-size="{ minRows: 2, maxRows: 2 }"></a-textarea>
+                </a-form-model-item>
+              </a-col>
+            </a-row>
+          </div>
+          <div style="height: 100%;width:8%;padding-top:0.3%;">
+              <a-button type="primary" icon="search" />
+          </div>
+        </div>
+        <div class="cmms-dialog-item-title u-flex-jab">
+          <div>设备保养设置</div>
+          <div>
+            <a-button @click="handleAddUpkeepItem" type="link" icon="plus">保养项</a-button>
+          </div>
+        </div>
+        <a-table
+          ref="table"
+          size="middle"
+          :scroll="{x:true}"
+          bordered
+          rowKey="id"
+          :columns="columns"
+          :dataSource="model.cmmsUpkeepItemDtoList"
+          :pagination="false"
+          class="j-table-force-nowrap">
+        </a-table>
+
+        <upkeep-plan-modal-add ref="modalForm" @ok="modalFormOk" :modelForm="model" :dataList="model.cmmsUpkeepItemDtoList" @customEvent="handleCustomEvent"></upkeep-plan-modal-add>
       </a-form-model>
     </j-form-container>
   </a-spin>
@@ -123,10 +154,15 @@
 
   import { httpAction, getAction } from '@/api/manage'
   import { validateDuplicateValue } from '@/utils/util'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import UpkeepPlanModalAdd from './UpkeepPlanModalAdd.vue'
 
   export default {
     name: 'UpkeepPlanForm',
+    mixins:[JeecgListMixin, mixinDevice],
     components: {
+        UpkeepPlanModalAdd
     },
     props: {
       //表单禁用
@@ -139,23 +175,75 @@
     data () {
       return {
         model:{
-         },
+          noticetype: '天',
+          repeattype: '天',
+          cmmsUpkeepItemDtoList: []
+        },
         labelCol: {
           xs: { span: 24 },
-          sm: { span: 5 },
+          sm: { span: 6 },
         },
         wrapperCol: {
           xs: { span: 24 },
-          sm: { span: 16 },
+          sm: { span: 18 },
         },
         confirmLoading: false,
         validatorRules: {
+          planname: [
+            { required: true, message: '请输入保养计划名称!'},
+          ],
+          equipmentid: [
+            { required: true, message: '请选择设备!'},
+          ],
+          address: [
+            { required: true, message: '请输入地点!'},
+          ],
+          chargeruser: [
+            { required: true, message: '请输入负责人!'},
+          ],
+          begintime: [
+            { required: true, message: '请选择开始时间!'},
+          ],
+          noticenum: [
+            { required: true, message: '请输入提前通知时长!'},
+          ],
+          repeatnum: [
+            { required: true, message: '请输入重复间隔!'},
+          ],
         },
         url: {
+          list: "/cmmsSpotcheckItem/cmmsSpotcheckItem/listbyequipmentid/{equipmentid}",
           add: "/cmmsUpkeepPlan/cmmsUpkeepPlan/add",
           edit: "/cmmsUpkeepPlan/cmmsUpkeepPlan/edit",
           queryById: "/cmmsUpkeepPlan/cmmsUpkeepPlan/queryById"
-        }
+        },
+        columns: [
+          {
+            title:'保养项名称',
+            align:"center",
+            dataIndex: 'itemname'
+          },
+          {
+            title:'设备类型',
+            align:"center",
+            dataIndex: 'equiptypeName'
+          },
+          {
+            title:'保养编号',
+            align:"center",
+            dataIndex: 'itemcode'
+          },
+          {
+            title:'保养标准',
+            align:"center",
+            dataIndex: 'itemcontent'
+          },
+          {
+            title:'备注',
+            align:"center",
+            dataIndex: 'remark'
+          },
+        ],
       }
     },
     computed: {
@@ -204,6 +292,26 @@
          
         })
       },
+      // 通过已选设备获取保养项列表
+      handleAddUpkeepItem(){
+        console.log(this.model.equipmentid)
+        if (this.model.equipmentid == undefined) {
+          this.$message.error("请先选择设备!");
+        } else {
+          this.$refs.modalForm.add();
+          this.$refs.modalForm.title = "选择保养项";
+        }
+      },
+      // 处理子组件传过来的数据
+      handleCustomEvent(data) {
+        // 处理从子组件传递过来的数据
+        console.log("子组件传过来的数据:", data);
+        this.model.cmmsUpkeepItemDtoList = data;
+      }
     }
   }
-</script>
+</script>
+
+<style scoped>
+@import "~@/assets/less/uStyle.less";
+</style>

+ 3 - 3
src/views/module_cmms/upkeepPlan/modules/UpkeepPlanModal.vue

@@ -1,15 +1,15 @@
 <template>
-  <j-modal
+  <u-modal
     :title="title"
     :width="width"
     :visible="visible"
-    switchFullscreen
+    contentFull
     @ok="handleOk"
     :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
     @cancel="handleCancel"
     cancelText="关闭">
     <upkeep-plan-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></upkeep-plan-form>
-  </j-modal>
+  </u-modal>
 </template>
 
 <script>

+ 144 - 0
src/views/module_cmms/upkeepPlan/modules/UpkeepPlanModalAdd.vue

@@ -0,0 +1,144 @@
+<template>
+    <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="关闭">
+
+        <a-table
+            ref="table"
+            size="middle"
+            :scroll="{x:true}"
+            bordered
+            rowKey="id"
+            :columns="columns"
+            :dataSource="dataSource"
+            :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+            :pagination="false"
+            class="j-table-force-nowrap">
+        </a-table>
+
+    </j-modal>
+</template>
+
+<script>
+
+import { httpAction, getAction } from '@/api/manage'
+  
+  export default {
+    name: 'UpkeepPlanModalAdd',
+    components: {
+        
+    },
+    props: {
+      modelForm: {
+        type: Object,
+        default: function(){
+            return {} // 使用工厂函数返回默认值
+        }
+      },
+      dataList: {
+        type: Array,
+        default: function(){
+            return [] // 使用工厂函数返回默认值
+        }
+      },
+    },
+    data () {
+      return {
+        title:'',
+        width:1000,
+        visible: false,
+        /* table选中keys*/
+        selectedRowKeys: [],
+        /* table选中records*/
+        selectionRows: [],
+        columns: [
+          {
+            title:'保养项名称',
+            align:"center",
+            dataIndex: 'itemname'
+          },
+          {
+            title:'设备类型',
+            align:"center",
+            dataIndex: 'equiptypeName'
+          },
+          {
+            title:'保养编号',
+            align:"center",
+            dataIndex: 'itemcode'
+          },
+          {
+            title:'保养标准',
+            align:"center",
+            dataIndex: 'itemcontent'
+          },
+          {
+            title:'备注',
+            align:"center",
+            dataIndex: 'remark'
+          },
+        ],
+        dataSource: [],
+        url: {
+            getList: "/cmmsUpkeepItem/cmmsUpkeepItem/getCmmsUpkeepItemByEqid"
+        },
+      }
+    },
+    methods: {
+      add () {
+        this.visible = true;
+        const a = {
+            id: this.modelForm.equipmentid
+        }
+        console.log(111,a)
+        getAction(this.url.getList,a).then((res) => {
+            console.log(res)
+            this.dataSource = res.result
+        })
+        this.selectList()
+      },
+      // 将以选中的值重新在列表中选中
+      selectList() {
+        console.log(111,this.dataList)
+        this.selectionRows = this.dataList
+        this.selectedRowKeys = this.dataList.map((res) => {
+            return res.id
+        })
+      },  
+      close () {
+        this.$emit('close');
+        this.visible = false;
+        this.onClearSelected()
+        this.selectionRows = this.dataList
+        this.selectedRowKeys = this.dataList.map((res) => {
+            return res.id
+        })
+      },
+      handleOk () {
+        console.log(this.selectionRows)
+        this.$emit('customEvent', this.selectionRows);
+        this.visible = false;
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.visible = false;
+      },
+      handleCancel () {
+        this.close()
+      },
+      onSelectChange(selectedRowKeys, selectionRows) {
+        this.selectedRowKeys = selectedRowKeys;
+        this.selectionRows = selectionRows;
+        console.log(this.selectedRowKeys,this.selectionRows)
+      },
+      onClearSelected() {
+        this.selectedRowKeys = [];
+        this.selectionRows = [];
+      },
+    }
+  }
+</script>