Просмотр исходного кода

Merge branch 'dev' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-eam into dev

quwangxin 3 лет назад
Родитель
Сommit
e711c0c0e4
22 измененных файлов с 1018 добавлено и 4216 удалено
  1. 8 1
      src/api/ruleManagement/matter.js
  2. 492 355
      src/components/addPatrolConfigDialog/index.vue
  3. 15 24
      src/views/maintenance/repair/outsourcingOrder/components/order-search.vue
  4. 34 62
      src/views/maintenance/repair/outsourcingOrder/index.vue
  5. 0 0
      src/views/rulesManagement/MaintainConfig/components/maintain-search.vue
  6. 7 7
      src/views/rulesManagement/MaintainConfig/detail.vue
  7. 231 0
      src/views/rulesManagement/MaintainConfig/index.vue
  8. 0 0
      src/views/rulesManagement/PatrolConfig/components/patrol-search.vue
  9. 0 0
      src/views/rulesManagement/PatrolConfig/detail.vue
  10. 230 0
      src/views/rulesManagement/PatrolConfig/index.vue
  11. 0 453
      src/views/rulesManagement/matterRules/components/matter-add.vue
  12. 0 120
      src/views/rulesManagement/matterRules/components/matter-search.vue
  13. 0 457
      src/views/rulesManagement/matterRules/components/rule-cycle.vue
  14. 0 263
      src/views/rulesManagement/matterRules/details.vue
  15. 0 222
      src/views/rulesManagement/matterRules/index.vue
  16. 0 520
      src/views/rulesManagement/planRules/InventoryConfig/components/AssetsInWarehouse.vue
  17. 0 656
      src/views/rulesManagement/planRules/InventoryConfig/components/addInventoryDialog.vue
  18. 0 86
      src/views/rulesManagement/planRules/InventoryConfig/components/tableContentData.js
  19. 0 528
      src/views/rulesManagement/planRules/InventoryConfig/detail.vue
  20. 0 231
      src/views/rulesManagement/planRules/MaintainConfig/index.vue
  21. 0 230
      src/views/rulesManagement/planRules/PatrolConfig/index.vue
  22. 1 1
      vue.config.js

+ 8 - 1
src/api/ruleManagement/matter.js

@@ -50,5 +50,12 @@ export async function removeRule(data) {
 }
 
 
-
+// 获取仓库列表 
+export async function getWarehouseList (params) {
+  const res = await request.get('/wms/warehouse/page',  params );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
 

Разница между файлами не показана из-за своего большого размера
+ 492 - 355
src/components/addPatrolConfigDialog/index.vue


+ 15 - 24
src/views/rulesManagement/planRules/InventoryConfig/components/inventory-search.vue → src/views/maintenance/repair/outsourcingOrder/components/order-search.vue

@@ -8,27 +8,10 @@
   >
     <el-row :gutter="15">
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="计划配置单号:">
+        <el-form-item label="来源编码:">
           <el-input clearable v-model="where.code" placeholder="请输入" />
         </el-form-item>
-		<el-form-item label="资产分类:">
-			<DictSelection dictName="类型用途" clearable v-model="where.staus">
-			</DictSelection>
-		</el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="盘点名称:">
-          <el-input clearable v-model="where.name" placeholder="请输入" />
-        </el-form-item>
-        <el-form-item label="规则名称:">
-           <el-input clearable v-model="where.name" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="盘点部门:">
-          <deptSelect v-model="where.groupId" />
-        </el-form-item>
-		<el-form-item label="创建时间:">
+		<el-form-item label="报修时间:">
 			<el-date-picker
 				v-model="where.time"
 				type="daterange"
@@ -37,14 +20,24 @@
 				end-placeholder="结束日期"
 				value-format="yyyy-MM-dd HH:mm:ss"
 				:default-time="['00:00:00', '23:59:59']"
-			  >
+				>
 			</el-date-picker>
 		</el-form-item>
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="盘点名称:">
-          <el-input clearable v-model="where.texture" placeholder="请输入" />
+        <el-form-item label="来源类型:">
+          <el-input clearable v-model="where.name" placeholder="请输入" />
         </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="报修人:">
+          <el-input clearable v-model="where.dep" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+		 <el-form-item label="状态:">
+		   <el-input clearable v-model="where.texture" placeholder="请输入" />
+		 </el-form-item>
 		<div class="ele-form-actions">
 			<el-button
 				type="primary"
@@ -68,9 +61,7 @@
 
 <script>
   import { login } from '@/api/login';
-	import deptSelect from '@/components/CommomSelect/dept-select.vue';
   export default {
-		components: { deptSelect },
     data() {
       // 默认表单数据
       const defaultWhere = {

+ 34 - 62
src/views/rulesManagement/planRules/InventoryConfig/index.vue → src/views/maintenance/repair/outsourcingOrder/index.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="ele-body">
      <el-card shadow="never" v-loading="loading">
-	   <inventory-search @search="reload">
-	   </inventory-search>
+	   <order-search @search="reload">
+	   </order-search>
 	   <!-- 数据表格 -->
 	   <ele-pro-table
 	     ref="table"
@@ -25,7 +25,7 @@
 		     size="small"
 		     type="primary"
 		     class="ele-btn-icon"
-		     @click="goDetail()"
+		     @click="goDetail({id:12})"
 		   >
 		     详情
 		   </el-button>
@@ -49,41 +49,20 @@
 	         icon="el-icon-edit"
 	         @click="openEdit(row)"
 	       >
-	         修改
+	         撤回
 	       </el-link>
-	       <el-popconfirm
-	         class="ele-action"
-	         title="确定要删除此角色吗?"
-	         @confirm="remove(row)"
-	       >
-	         <template v-slot:reference>
-	           <el-link type="danger" :underline="false" icon="el-icon-delete">
-	             删除
-	           </el-link>
-	         </template>
-	       </el-popconfirm>
 	     </template>
 	   </ele-pro-table>
      </el-card>
-	 
-	 <!-- 新建或编辑弹窗 -->
-	<AddInventoryDialog
-	  ref="addInventoryDialogRef"
-	  :dialogTile="dialogTitle"
-	  @refreshList="resetForm"
-	  :isBindPlan="isBindPlan"
-	/>
   </div>
 </template>
 
 <script>
-  import InventorySearch from './components/inventory-search.vue';
-  import AddInventoryDialog from './components/addInventoryDialog.vue'
-  import { pageRoles } from '@/api/system/role'; 
+  import OrderSearch from './components/order-search.vue';
+  import { pageRoles } from '@/api/system/role';
   export default {
     components: {
-      InventorySearch,
-	  AddInventoryDialog
+      OrderSearch
     },
     data () {
       return {
@@ -107,14 +86,14 @@
 		  },
 		  {
 		    prop: 'groupId',
-		    label: '盘点名称',
+		    label: '计划名称',
 		    align: 'center',
 		    showOverflowTooltip: true,
 		    minWidth: 110
 		  },
 		  {
 		    prop: 'enable',
-		    label: '盘点仓库',
+		    label: '计划规则',
 		    align: 'center',	
 		    showOverflowTooltip: true,
 		    slot: 'enable',
@@ -122,35 +101,28 @@
 		  },
 		  {
 		    prop: 'name',
-		    label: '盘点部门',
+		    label: '设备分类',
 		    align: 'center',	
 		    showOverflowTooltip: true,
 		    minWidth: 110
 		  },
-			{
-			  prop: 'type',
-			  label: '资产分类',
-			  align: 'center',	
-			  showOverflowTooltip: true,
-			  minWidth: 110
-			},
 		  {
 		    prop: 'cycle',
-		    label: '规则名称',
+		    label: '设备性质',
 		    align: 'center',	
 		    showOverflowTooltip: true,
 		    minWidth: 110
 		  },
 			{
 			  prop: 'auto',
-			  label: '自动派单',
+			  label: '状态',
 			  align: 'center',	
 			  showOverflowTooltip: true,
 			  minWidth: 110
 			},
 			{
 			  prop: 'status',
-			  label: '状态',
+			  label: '审批人',
 			  align: 'center',	
 			  showOverflowTooltip: true,
 			  minWidth: 110
@@ -164,7 +136,7 @@
 		  },
 		  {
 		    prop: 'createTime',
-		    label: '创建时间',
+		    label: '生成时间',
 		    align: 'center',
 		    showOverflowTooltip: true,
 		    minWidth: 110,
@@ -175,7 +147,7 @@
 		  {
 		    columnKey: 'action',
 		    label: '操作',
-		    width: 150,
+		    width: 230,
 		    align: 'center',
 		    resizable: false,
 		    slot: 'action',
@@ -184,20 +156,18 @@
 		],
         // 加载状态
         loading: false,
-        pageType: 'add',
-        dialogTitle: '',
-		isBindPlan:false,
+        infoData: {},
+        repairInfoLogs: [],
+        addDialogTitle: '新增报修记录',
+        detailsDialogTitle: '报修记录详情',
+        deviceInfo: {}, //设备信息
+		
       };
     },
     computed: {
 
     },
     methods: {
-	  // 重置
-	  resetForm () {
-	    this.$refs.configFormRef.resetFields()
-	    // this.searchForm()
-	  },
       /* 表格数据源 */
       datasource({ page, limit, where, order }) {
         return pageRoles({ pageNum: page, size: limit, ...where });
@@ -219,19 +189,21 @@
       },
 	  
 	  openEdit(row){
-		  this.isBindPlan = false
-		  this.dialogTitle = '新增盘点计划配置'
-		  this.$refs.addInventoryDialogRef.dialogVisible = true
-		  this.$store.dispatch('planRules/setAddOrUpdate', 'add')
+		  this.addDialogTitle = '新增报修记录'
+		  this.$refs.addDialogRef.addRepairNotesDialog = true
 	  },
 	  
-	  goDetail(){
-		  this.$router.push({
-		    path: '/rulesManagement/planRules/InventoryConfig/detail',
-		    // query: {
-		    //   id
-		    // }
-		  })
+	  goDetail(row){
+		  row.tabLabel = '维修信息'
+		  row.title = '报修记录详情'
+		  row.workOrderCode = row.id
+		  this.$refs.detailsDialogRef.init(row)
+		  // this.$router.push({
+		  //   path: '/maintenance/patrol/plan/details',
+		  //   // query: {
+		  //   //   id
+		  //   // }
+		  // })
 	  }
 	  
     }

+ 0 - 0
src/views/rulesManagement/planRules/MaintainConfig/components/maintain-search.vue → src/views/rulesManagement/MaintainConfig/components/maintain-search.vue


+ 7 - 7
src/views/rulesManagement/planRules/MaintainConfig/detail.vue → src/views/rulesManagement/MaintainConfig/detail.vue

@@ -67,19 +67,19 @@
             <div class="equipment_info">
               <div class="item_info">
                 <span class="item_label">设备编码</span>
-                <span class="item_value">{{ item.substanceCode }}</span>
+                <span class="item_value">{{  item.substance.code }}</span>
               </div>
               <div class="item_info">
                 <span class="item_label">设备名称</span>
-                <span class="item_value">{{ item.substanceName }}</span>
+                <span class="item_value">{{ item.substance.name }}</span>
               </div>
               <div class="item_info">
                 <span class="item_label">设备型号</span>
-                <span class="item_value">{{ item.mode }}</span>
+                <span class="item_value">{{ item.substance.model }}</span>
               </div>
               <div class="item_info">
                 <span class="item_label">设备位置</span>
-                <span class="item_value">{{ item.position }}</span>
+                <span class="item_value">{{ item.substance.positionNames }}</span>
               </div>
             </div>
             <p>操作事项</p>
@@ -103,13 +103,13 @@
                     <span>{{ scope.$index + 1 }}</span>
                   </template>
                 </el-table-column>
-                <el-table-column label="备件名称" align="center" prop="name">
+                <el-table-column label="备件类别名称" align="center" prop="categoryName">
                 </el-table-column>
                 <el-table-column label="规格型号" align="center" prop="model">
                 </el-table-column>
-                <el-table-column label="所需数量" align="center" prop="num">
+                <el-table-column label="所需数量" align="center" prop="needNum">
                 </el-table-column>
-                <el-table-column label="单位" align="center" prop="measuringUnit">
+                <el-table-column label="单位" align="center" prop="unit">
                 </el-table-column>
               </el-table>
             </div>

+ 231 - 0
src/views/rulesManagement/MaintainConfig/index.vue

@@ -0,0 +1,231 @@
+<template>
+  <div class="ele-body">
+    <el-card shadow="never" v-loading="loading">
+      <maintain-search @search="reload"> </maintain-search>
+      <!-- 数据表格 -->
+      <ele-pro-table
+        ref="table"
+        :columns="columns"
+        :datasource="datasource"
+        cache-key="systemRoleTable"
+      >
+        <!-- 表头工具栏 -->
+        <template v-slot:toolbar>
+          <el-button
+            size="small"
+            type="primary"
+            icon="el-icon-plus"
+            class="ele-btn-icon"
+            @click="openEdit()"
+          >
+            新建
+          </el-button>
+        </template>
+        <template v-slot:code="{ row }">
+          <el-link type="primary" :underline="false" @click="goDetail(row)">
+            {{ row.code }}
+          </el-link>
+        </template>
+        <!-- 操作列 -->
+        <template v-slot:action="{ row }">
+          <el-link
+            type="primary"
+            :underline="false"
+            icon="el-icon-edit"
+            @click="openEdit(row)"
+          >
+            修改
+          </el-link>
+          <el-popconfirm
+            class="ele-action"
+            title="确定要删除此保养配置吗?"
+            @confirm="remove(row)"
+          >
+            <template v-slot:reference>
+              <el-link type="danger" :underline="false" icon="el-icon-delete">
+                删除
+              </el-link>
+            </template>
+          </el-popconfirm>
+        </template>
+      </ele-pro-table>
+    </el-card>
+
+    <!-- 新建或编辑弹窗 -->
+    <AddPatrolConfigDialog
+      ref="addPatrolConfigDialogRef"
+      :dialogTitle="dialogTitle"
+      :isBindPlan="isBindPlan"
+      @done="reload"
+    />
+  </div>
+</template>
+
+<script>
+  import AddPatrolConfigDialog from '@/components/addPatrolConfigDialog';
+  import MaintainSearch from './components/maintain-search.vue';
+  import { planConfigPage, removeRule } from '@/api/ruleManagement/plan';
+  import dictMixins from '@/mixins/dictMixins';
+  export default {
+    mixins: [dictMixins],
+    components: {
+      MaintainSearch,
+      AddPatrolConfigDialog
+    },
+    data () {
+      return {
+        // 表格列配置
+        columns: [
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            prop: 'code',
+            label: '计划配置单号',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            slot: 'code'
+          },
+          {
+            prop: 'name',
+            label: '计划配置名称',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'groupName',
+            label: '执行部门',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'categoryName',
+            label: '设备分类',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'ruleName',
+            label: '规则名称',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'autoOrder',
+            label: '自动派单',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (_row, _column, cellValue) => {
+              let autoOrder =
+                _row.autoOrder == 1 ? '是' : _row.autoOrder == 0 ? '否' : '-';
+              return autoOrder;
+            }
+          },
+          {
+            prop: 'status',
+            label: '状态',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (_row, _column, cellValue) => {
+              return this.getDictValue('规则状态', _row.status);
+            }
+          },
+          {
+            prop: 'createUserName',
+            label: '创建人',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (_row, _column, cellValue) => {
+              return this.$util.toDateString(cellValue);
+            }
+          },
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 150,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            showOverflowTooltip: true
+          }
+        ],
+        // 加载状态
+        loading: false,
+        pageType: 'add',
+        dialogTitle: '',
+        isBindPlan: false
+      };
+    },
+    computed: {},
+    created () {
+      this.requestDict('规则状态');
+    },
+    methods: {
+      /* 表格数据源 */
+      datasource ({ page, limit, where, order }) {
+        return planConfigPage({
+          pageNum: page,
+          size: limit,
+          ...where,
+          ruleType: 2
+        });
+      },
+
+      /* 刷新表格 */
+      reload (where) {
+        this.$refs.table.reload({ page: 1, where, ruleType: 2 });
+      },
+
+      openEdit (row) {
+        this.isBindPlan = false;
+        // this.$refs.addPatrolConfigDialogRef.$refs.addFormRef && this.$refs.addPatrolConfigDialogRef.$refs.addFormRef.clearValidate()
+        this.$refs.addPatrolConfigDialogRef.addPatrolConfigDialog = true;
+        if (row) {
+          this.dialogTitle = '编辑保养计划配置';
+        } else {
+          this.dialogTitle = '新增保养计划配置';
+        }
+        this.$refs.addPatrolConfigDialogRef.init(row, '保养');
+      },
+
+      goDetail ({ id }) {
+        this.$router.push({
+          path: '/rulesManagement/MaintainConfig/detail',
+          query: {
+            id
+          }
+        });
+      },
+
+      remove (row) {
+        removeRule([row.id]).then((res) => {
+          this.$message.success('删除成功!');
+          this.reload();
+        });
+      }
+    }
+  };
+</script>
+
+<style lang="scss" scoped></style>

+ 0 - 0
src/views/rulesManagement/planRules/PatrolConfig/components/patrol-search.vue → src/views/rulesManagement/PatrolConfig/components/patrol-search.vue


+ 0 - 0
src/views/rulesManagement/planRules/PatrolConfig/detail.vue → src/views/rulesManagement/PatrolConfig/detail.vue


+ 230 - 0
src/views/rulesManagement/PatrolConfig/index.vue

@@ -0,0 +1,230 @@
+<template>
+  <div class="ele-body">
+    <el-card shadow="never" v-loading="loading">
+      <patrol-search @search="reload"> </patrol-search>
+      <!-- 数据表格 -->
+      <ele-pro-table
+        ref="table"
+        :columns="columns"
+        :datasource="datasource"
+        cache-key="systemRoleTable"
+      >
+        <!-- 表头工具栏 -->
+        <template v-slot:toolbar>
+          <el-button
+            size="small"
+            type="primary"
+            icon="el-icon-plus"
+            class="ele-btn-icon"
+            @click="openEdit()"
+          >
+            新建
+          </el-button>
+        </template>
+        <template v-slot:code="{ row }">
+          <el-link type="primary" :underline="false" @click="goDetail(row)">
+            {{ row.code }}
+          </el-link>
+        </template>
+        <!-- 操作列 -->
+        <template v-slot:action="{ row }">
+          <el-link
+            type="primary"
+            :underline="false"
+            icon="el-icon-edit"
+            @click="openEdit(row)"
+          >
+            修改
+          </el-link>
+          <el-popconfirm
+            class="ele-action"
+            title="确定要删除此巡检点配置吗?"
+            @confirm="remove(row)"
+          >
+            <template v-slot:reference>
+              <el-link type="danger" :underline="false" icon="el-icon-delete">
+                删除
+              </el-link>
+            </template>
+          </el-popconfirm>
+        </template>
+      </ele-pro-table>
+    </el-card>
+
+    <!-- 新建或编辑弹窗 -->
+    <AddPatrolConfigDialog
+      ref="addPatrolConfigDialogRef"
+      :dialogTitle="dialogTitle"
+      :isBindPlan="isBindPlan"
+      @done="reload"
+    />
+  </div>
+</template>
+
+<script>
+  import AddPatrolConfigDialog from '@/components/addPatrolConfigDialog';
+  import PatrolSearch from './components/patrol-search.vue';
+  import { planConfigPage, removeRule } from '@/api/ruleManagement/plan';
+  import dictMixins from '@/mixins/dictMixins';
+  export default {
+    mixins: [dictMixins],
+    components: {
+      PatrolSearch,
+      AddPatrolConfigDialog
+    },
+    data () {
+      return {
+        // 表格列配置
+        columns: [
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            prop: 'code',
+            label: '计划配置单号',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            slot: 'code'
+          },
+          {
+            prop: 'name',
+            label: '计划配置名称',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'groupName',
+            label: '巡点检部门',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'categoryName',
+            label: '设备分类',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'ruleName',
+            label: '规则名称',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'autoOrder',
+            label: '自动派单',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (_row, _column, cellValue) => {
+              let autoOrder =
+                _row.autoOrder == 1 ? '是' : _row.autoOrder == 0 ? '否' : '-';
+              return autoOrder;
+            }
+          },
+          {
+            prop: 'status',
+            label: '状态',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (_row, _column, cellValue) => {
+              return this.getDictValue('规则状态', _row.status);
+            }
+          },
+          {
+            prop: 'createUserName',
+            label: '创建人',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (_row, _column, cellValue) => {
+              return this.$util.toDateString(cellValue);
+            }
+          },
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 150,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            showOverflowTooltip: true
+          }
+        ],
+        // 加载状态
+        loading: false,
+        pageType: 'add',
+        dialogTitle: '',
+        isBindPlan: false
+      };
+    },
+    computed: {},
+    created () {
+      this.requestDict('规则状态');
+    },
+    methods: {
+      /* 表格数据源 */
+      datasource ({ page, limit, where, order }) {
+        return planConfigPage({
+          pageNum: page,
+          size: limit,
+          ...where,
+          ruleType: 1
+        });
+      },
+
+      /* 刷新表格 */
+      reload (where) {
+        this.$refs.table.reload({ page: 1, where, ruleType: 1 });
+      },
+
+      openEdit (row) {
+        this.isBindPlan = false;
+        this.$refs.addPatrolConfigDialogRef.addPatrolConfigDialog = true;
+        if (row) {
+          this.dialogTitle = '编辑巡点检计划配置';
+        } else {
+          this.dialogTitle = '新增巡点检计划配置';
+        }
+        this.$refs.addPatrolConfigDialogRef.init(row, '巡点检');
+      },
+
+      remove (row) {
+        removeRule([row.id]).then((res) => {
+          this.$message.success('删除成功!');
+          this.reload();
+        });
+      },
+
+      goDetail ({ id }) {
+        this.$router.push({
+          path: '/rulesManagement/PatrolConfig/detail',
+          query: {
+            id
+          }
+        });
+      }
+    }
+  };
+</script>
+
+<style lang="scss" scoped></style>

+ 0 - 453
src/views/rulesManagement/matterRules/components/matter-add.vue

@@ -1,453 +0,0 @@
-<template>
-  <ele-modal
-    :title="dialogTitle"
-    :visible.sync="addMatterDialog"
-    :before-close="handleClose"
-    :close-on-click-modal="false"
-    :close-on-press-escape="false"
-    width="80%"
-  >
-    <el-form
-      :model="formData"
-      v-loading="dialogLoading"
-      ref="contentConfigForm"
-      label-width="100px"
-      :show-message="false"
-      :rules="contentConfigFormRules"
-    >
-      <el-row>
-		<el-col :span="7">
-		  <el-form-item label="规则编码" prop="name">
-		    <el-input
-		      v-model="formData.code"
-		      size="small"
-		      :disabled="true"
-		    ></el-input>
-		  </el-form-item>
-		</el-col>
-        <el-col :span="6">
-          <el-form-item label="规则名称" prop="name">
-            <el-input
-              v-model="formData.name"
-              placeholder="请输入"
-              size="small"
-              :disabled="isBindPlan"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
-          <el-form-item label="规则类型" prop="ruleType">
-			  <DictSelection dictName="规则类型" clearable v-model="formData.ruleType">
-			  </DictSelection>
-          </el-form-item>
-        </el-col>
-        <el-col :span="5">
-          <el-form-item label="状态" prop="status" label-width="70px">
-            <el-switch
-              v-model="formData.status"
-              active-text="生效"
-              inactive-text="失效"
-              :active-value="1"
-              :inactive-value="0"
-            >
-            </el-switch>
-          </el-form-item>
-        </el-col>
-        <el-col :span="24">
-          <el-form-item label="周期" prop="cycleValue">
-            <rule-cycle
-              ref="cycleMultipleRef"
-              :formData="formData"
-              :pageType="pageType"
-              :isBindPlan="isBindPlan"
-            />
-          </el-form-item>
-        </el-col>
-      </el-row>
-
-      <el-table
-        ref="multipleTable"
-        v-if="formData.ruleType !== 4"
-        :data="formData.ruleItems"
-        tooltip-effect="dark"
-        style="width: 95%; margin: auto"
-        border
-        :header-cell-style="{ background: '#F0F3F3' }"
-      >
-        <el-table-column type="index" width="100" align="center">
-          <template slot="header">
-            <el-button type="text" @click="addItem" icon="el-icon-plus" :disabled="isBindPlan"
-              >新增</el-button
-            >
-          </template>
-        </el-table-column>
-        <el-table-column prop="name" label="事项">
-          <template slot-scope="scope">
-            <el-form-item
-              :prop="'ruleItems.' + scope.$index + '.name'"
-              label-width="0"
-              :rules="contentConfigFormRules.name"
-            >
-              <span v-if="scope.row.readonly">{{ scope.row.name }}</span>
-              <el-input
-                v-if="!scope.row.readonly"
-                size="small"
-                placeholder="请输入"
-                v-model="scope.row.name"
-                :disabled="isBindPlan"
-              ></el-input>
-            </el-form-item>
-          </template>
-        </el-table-column>
-        <el-table-column prop="content" label="内容">
-          <template slot-scope="scope">
-            <el-form-item
-              :prop="'ruleItems.' + scope.$index + '.content'"
-              label-width="0"
-              :rules="contentConfigFormRules.content"
-            >
-              <span v-if="scope.row.readonly">{{ scope.row.content }}</span>
-              <el-input
-                v-if="!scope.row.readonly"
-                size="small"
-                placeholder="请输入"
-                v-model="scope.row.content"
-                :disabled="isBindPlan"
-              ></el-input>
-            </el-form-item>
-          </template>
-        </el-table-column>
-
-        <el-table-column prop="norm" label="标准">
-          <template slot-scope="scope">
-            <el-form-item
-              :prop="'ruleItems.' + scope.$index + '.norm'"
-              label-width="0"
-              :rules="contentConfigFormRules.norm"
-            >
-              <span v-if="scope.row.readonly">{{ scope.row.norm }}</span>
-              <el-input
-                v-if="!scope.row.readonly"
-                size="small"
-                placeholder="请输入"
-                v-model="scope.row.norm"
-                :disabled="isBindPlan"
-              ></el-input>
-            </el-form-item>
-          </template>
-        </el-table-column>
-
-        <el-table-column width="200" label="操作">
-          <template slot-scope="scope">
-            <el-button type="text" @click="delItem(scope.$index)" size="small" :disabled="isBindPlan"
-              >删除</el-button
-            >
-          </template>
-        </el-table-column>
-      </el-table>  
-    </el-form>
-	 <template v-slot:footer>
-	   <el-button @click="handleClose">取消</el-button>
-	   <el-button type="primary" @click="dataKeep">
-	     保存
-	   </el-button>
-	 </template>
-  </ele-modal>
-</template>
-<script>
-import RuleCycle from './rule-cycle'
-import { deepClone } from '@/utils/index'
-import { saveOrUpdate , getCode , getDetail  } from '@/api/ruleManagement/matter'
-
-export default {
-  components: {  RuleCycle },
-  props: {
-    pageType: {
-      type: String,
-      default: ''
-    },
-    infoData: {
-      type: Object,
-      default: () => {
-        return {}
-      }
-    },
-    dialogTitle: {
-      type: String,
-      default: '新建规则'
-    },
-    dialogLoading: {
-      type: Boolean,
-      default: () => {
-        return false
-      }
-    }
-  },
-  data () {
-		// 默认表单数据
-		const defaultForm = {
-		  code:'',
-		  name: '',
-		  ruleType: '1',
-		  status: 1,
-		  cycleValue: undefined,
-		  cycleType: 1,
-		  contentImage: {},
-		  ruleCycleList: [], // 规则周期日期值
-		  ruleItems: [
-		    {
-		      name: '', // 巡点检事项
-		      content: '', // 巡点检内容
-		      norm: '', // 巡点检标准
-		      // readonly: false
-		    }
-		  ]
-		};
-    return {
-      addMatterDialog: false,
-      cycleValue: '',
-      uploadList: [],
-      formData: { },
-      contentConfigFormRules: {
-        name: [{ required: true, message: '请输入规则名称', trigger: 'blur' }],
-        ruleType: [
-          { required: true, message: '请选择规则类型', trigger: 'change' }
-        ],
-        cycleValue: [
-          { required: true, message: '请输入巡点检周期', trigger: 'blur' }
-        ],
-        // contentImage: [
-        //   { required: false, message: '请上传图片', trigger: 'blur' }
-        // ],
-        status: [{ required: true }],
-        name: [
-          { required: true, message: '请输入巡点检事项', trigger: 'blur' }
-        ],
-        content: [
-          { required: true, message: '请输入巡点检内容', trigger: 'blur' }
-        ],
-        norm: [{ required: true, message: '请输入巡点检标准', trigger: 'blur' }]
-      },
-      isBindPlan:false
-    }
-  },
-	watch: {
-	
-	},
-  methods: {
-		openDialog(row,type){
-			this.addMatterDialog = true
-			if(type !='add'){
-				this.getRuleInfo(row.id,type)
-			}else{
-				this.formData = {...this.defaultForm}
-				this.$set(this.formData,'status',1)
-				this.$set(this.formData,'ruleType','1')
-				this.$refs.contentConfigForm && this.$refs.contentConfigForm.resetFields()
-			}
-			if(type!='edit'){
-				this.getOrderCode()
-			}
-		},
-	
-	async getRuleInfo(id,type){
-		const data = await getDetail(id)
-		this.formData = data
-		this.formData.ruleType = JSON.stringify(this.formData.ruleType)
-		if(type=='clone'){
-			delete this.formData.id
-		}
-	},
-	
-	async getOrderCode () {
-	  const data = await getCode('rule_code');
-	  this.$set(this.formData, 'code', data);
-	},  
-	
-    handleClose () {
-      this.addMatterDialog = false
-      this.$emit('handleClose')
-    },
-    addItem () {
-      if (this.formData.ruleItems) {
-        this.formData.ruleItems.push({
-          name: '', // 巡点检事项
-          content: '', // 巡点检内容
-          norm: '', // 巡点检标准
-          readonly: false
-        })
-      } else {
-        this.formData.ruleItems = [
-          {
-            name: '', // 巡点检事项
-            content: '', // 巡点检内容
-            norm: '', // 巡点检标准
-            readonly: false
-          }
-        ]
-      }
-    },
-    saveItem (index, row) {
-      this.$nextTick(() => {
-        let flag = false
-        let name = row.name
-        let content = row.content
-        let norm = row.norm
-        flag = name && content && norm
-        this.$refs.contentConfigForm.validate(valid => {
-          if (valid || flag) {
-            this.$set(this.formData.ruleItems[index], 'readonly', true)
-          }
-        })
-      })
-    },
-    upload (data) {
-      if (data && data[0]?.accessUrl) {
-        this.formData.contentImage = data
-      } else {
-        this.formData.contentImage = {}
-      }
-      this.$nextTick(() => {
-        this.$refs.contentConfigForm.validateField('contentImage')
-      })
-      console.log(this.formData.contentImage)
-    },
-    editItem (index) {
-      this.$nextTick(() => {
-        this.$set(this.formData.ruleItems[index], 'readonly', false)
-      })
-    },
-    delItem (index) {
-      this.formData.ruleItems.splice(index, 1)
-    },
-
-    // 保存
-    dataKeep () {
-      let form = deepClone(this.formData)
-      form.cycle = this.$refs.cycleMultipleRef.ruleCycleList
-      switch(form.cycleType){
-          case 1:
-              if(form.cycle[0].minute===''){
-                 this.$message.warning('周期信息需补充完整!')
-                 return;
-              }
-              break;
-          case 2:
-              if(form.cycle[0].hour===''||form.cycle[0].minute===''){
-                 this.$message.warning('周期信息需补充完整!')
-                 return;
-              }
-              break;
-          case 4:
-              if(form.cycle[0].day===''||form.cycle[0].hour===''||form.cycle[0].minute===''){
-                 this.$message.warning('周期信息需补充完整!')
-                 return;
-              }
-              break;
-          case 5:
-              if(form.cycle[0].month===''||form.cycle[0].day===''||form.cycle[0].hour===''||form.cycle[0].minute===''){
-                 this.$message.warning('周期信息需补充完整!')
-                 return;
-              }
-              break;
-          case 11:
-               let flg = false
-              form.cycle.map((item,index)=>{
-                  if(item.hour===''||item.minute===''){
-                     flg = true
-                  }
-              })
-              if(flg){
-                this.$message.warning('周期信息需补充完整!')
-                return;
-              }
-              break;
-          case 13:
-               let flag = false
-              form.cycle.map((item,index)=>{
-                  if(item.day===''||item.hour===''){
-                     flag = true
-                  }
-              })
-              if(flag){
-                this.$message.warning('周期信息需补充完整!')
-                return;
-              }
-              break;
-          case 14:
-               let fla = false
-              form.cycle.map((item,index)=>{
-                  if(item.month===''||item.day===''||item.hour===''){
-                     fla = true
-                  }
-              })
-              if(fla){
-                this.$message.warning('周期信息需补充完整!')
-                return;
-              }
-              break;
-      }
-      this.$refs.contentConfigForm.validate(async valid => {
-        if (valid) {
-          // let form = deepClone(this.formData)
-          // form.ruleCycleList = this.$refs.cycleMultipleRef.ruleCycleList
-          // form.ruleItems.forEach(item => {
-          //   if (item.ruleType) {
-          //     item.ruleType = this.ruleTypeObj[item.ruleType.code]
-          //   }
-          // })
-          let res = await saveOrUpdate(form)
-          if (res) {
-            this.$message.success('操作成功!')
-            this.handleClose()
-            this.$emit('done')
-          }
-        } else {
-          this.$message.warning('请将信息补充完整!')
-        }
-      })
-    },
-  }
-}
-</script>
-<style scoped lang="scss">
-.form-ipt {
-  width: 310px;
-}
-.details-div {
-  font-size: 14px;
-  padding-left: 40px;
-  .details-div-title {
-    display: flex;
-    justify-content: space-between;
-    span {
-      padding-top: 8px;
-    }
-  }
-}
-.zw-container {
-  height: 450px;
-}
-.page-footer-btn {
-  margin: 20px 0;
-  text-align: center;
-}
-// .app-container {
-::v-deep .el-form-item {
-  margin-bottom: 14px;
-}
-::v-deep .el-table__body-wrapper {
-  .el-form-item {
-    margin-bottom: 0;
-  }
-}
-::v-deep .el-form-item__error {
-  padding-top: 0;
-}
-.cycle_value {
-  ::v-deep .el-input__inner {
-    text-align: center;
-  }
-}
-// }
-</style>

+ 0 - 120
src/views/rulesManagement/matterRules/components/matter-search.vue

@@ -1,120 +0,0 @@
-<!-- 搜索表单 -->
-<template>
-  <el-form
-    label-width="80px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="规则名称:">
-          <el-input clearable v-model="where.name" placeholder="请输入" />
-        </el-form-item>
-		<el-form-item label="规则状态:">
-		  <DictSelection dictName="规则状态" clearable v-model="where.status">
-		  </DictSelection>
-		</el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="规则编码:">
-          <el-input clearable v-model="where.code" placeholder="请输入" />
-        </el-form-item>
-        <el-form-item label="创建时间:">
-            <el-date-picker
-                v-model="time"
-                type="daterange"
-                range-separator="至"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期"
-				value-format="yyyy-MM-dd HH:mm:ss"
-				:default-time="['00:00:00', '23:59:59']"
-        	  >
-            </el-date-picker>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="规则类型:">
-          <DictSelection dictName="规则类型" clearable v-model="where.type">
-          </DictSelection>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="创建人:">
-          <el-input clearable v-model="where.userName" placeholder="请输入" />
-        </el-form-item>
-		<div class="ele-form-actions">
-		  <el-button
-		    type="primary"
-		    icon="el-icon-search"
-		    class="ele-btn-icon"
-		    @click="search"
-		    size="small"
-		  >
-		    查询
-		  </el-button>
-		   <el-button @click="reset"
-		     icon="el-icon-refresh-left"
-		     size="small"
-		     type="primary"
-		   >重置</el-button>
-		</div>
-      </el-col>
-    </el-row>
-  </el-form>
-</template>
-
-<script>
-  import { login } from '@/api/login';
-  export default {
-    data() {
-      // 默认表单数据
-      const defaultWhere = {
-        name: '',
-        code: '',
-        userName:'',
-        type:'',
-		status:'',
-		startTime:'',
-		endTime:''
-      };
-      return {
-        // 表单数据
-        where: { ...defaultWhere },
-        treeData:[],
-		time:[]
-      };
-    },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive() {
-        return this.$store.state.theme.styleResponsive;
-      }
-    },
-    created(){
-    },
-    methods: {
-      /* 搜索 */
-      search() {
-		if(this.time.length){
-			this.where.startTime = this.time[0]
-			this.where.endTime = this.time[1]
-		}
-        this.$emit('search', this.where);
-      },
-      /*  重置 */
-      reset() {
-		this.time = []
-        this.where = { ...this.defaultWhere };
-        this.search();
-      }
-    }
-  };
-</script>
-<style lang="scss" scoped>
-    .ele-form-actions{
-		display:flex;
-		align-items: center;
-		justify-content: flex-end;
-	}
-</style>

+ 0 - 457
src/views/rulesManagement/matterRules/components/rule-cycle.vue

@@ -1,457 +0,0 @@
-<template>
-  <div>
-    <el-row :gutter="8" v-if="pageType">
-      <el-col :span="2">
-        <el-input
-          @input="
-            value => (formData.cycleValue = value.replace(/^(0+)|[^\d]+/g, ''))
-          "
-          class="cycle_value"
-          size="small"
-          v-model.number="formData.cycleValue"
-          @change="cycleValueChange"
-          placeholder="请输入"
-          :disabled="isBindPlan"
-        ></el-input>
-      </el-col>
-      <el-col :span="3">
-        <el-select
-          v-model="formData.cycleType"
-          size="small"
-          @change="handleCycleTypeChange"
-          :disabled="isBindPlan"
-        >
-          <el-option
-            v-for="item in cycleOpt"
-            :key="item.code"
-            :label="item.label"
-            :value="item.code"
-          ></el-option>
-        </el-select>
-      </el-col>
-
-      <el-col :span="8" v-if="[1, 2, 4, 5].includes(formData.cycleType)">
-        <div
-          v-for="(item, index) in ruleCycleList"
-          :key="index"
-          class="cycle01_box"
-        >
-          <el-input
-            v-model.number="item.month"
-            size="small"
-            oninput="value = value.replace(/^(0+)|[^\d]+/g,'')"
-            @input="e => inputMonth(e, index)"
-            v-if="[5].includes(formData.cycleType)"
-            :disabled="isBindPlan"
-          >
-            <template #suffix>月</template>
-          </el-input>
-
-          <el-input
-            v-model.number="item.day"
-            size="small"
-            oninput="value = value.replace(/^(0+)|[^\d]+/g,'')"
-            @input="e => inputDay(e, index)"
-            v-if="[4, 5].includes(formData.cycleType)"
-            :disabled="isBindPlan"
-          >
-            <template #suffix>日</template>
-          </el-input>
-
-          <el-input
-            v-model.number="item.hour"
-            size="small"
-            oninput="value = value.replace(/^0+(\d)|[^\d]+/g,'')"
-            @input="e => inputHour(e, index)"
-            v-if="[2, 4, 5].includes(formData.cycleType)"
-            :disabled="isBindPlan"
-          >
-            <template #suffix>时</template>
-          </el-input>
-
-          <el-input
-            v-model.number="item.minute"
-            size="small"
-            oninput="value = value.replace(/^0+(\d)|[^\d]+/g,'')"
-            @input="e => inputMinute(e, index)"
-            :disabled="isBindPlan"
-          >
-            <template #suffix>分</template>
-          </el-input>
-        </div>
-      </el-col>
-    </el-row>
-    <el-row v-else>
-      <el-col :span="24" class="cycle_time_column">
-        <span style="margin-right: 20px"
-          >{{ formData.cycleValue }}{{ cycleOptObj[formData.cycleType] }}</span
-        >
-        <div v-if="[1, 2, 4, 5].includes(formData.cycleType)">
-          <span v-if="[5].includes(formData.cycleType)"
-            >{{ ruleCycleList[0].month }}月</span
-          >
-          <span v-if="[4, 5].includes(formData.cycleType)"
-            >{{ ruleCycleList[0].day }}日</span
-          >
-          <span v-if="[2, 4, 5].includes(formData.cycleType)"
-            >{{ ruleCycleList[0].hour }}时</span
-          >
-          <span>{{ ruleCycleList[0].minute }}分</span>
-        </div>
-      </el-col>
-    </el-row>
-
-    <!-- 根据周期类型展示时间组件 11,12,13,14 -->
-    <div>
-      <!-- 次/天 -->
-      <el-row :gutter="20" v-if="formData.cycleType === 11">
-        <el-col
-          v-for="(item, index) in ruleCycleList"
-          :key="index"
-          :span="6"
-          class="cycle_item"
-        >
-          <span>第{{ index + 1 }}次</span>
-          <div class="cycle_sub_item" v-if="pageType">
-            <el-input
-              v-model.number="item.hour"
-              size="small"
-              placeholder="时"
-              oninput="value = value.replace(/^0+(\d)|[^\d]+/g,'')"
-              @input="e => inputHour(e, index)"
-              :disabled="isBindPlan"
-            >
-              <template #suffix>时</template>
-            </el-input>
-          </div>
-          <div v-else>{{ item.hour }}时</div>
-          <div class="cycle_sub_item" v-if="pageType">
-            <el-input
-              v-model.number="item.minute"
-              size="small"
-              oninput="value = value.replace(/^0+(\d)|[^\d]+/g,'')"
-              @input="e => inputMinute(e, index)"
-              placeholder="分"
-              :disabled="isBindPlan"
-            >
-              <template #suffix>分</template>
-            </el-input>
-          </div>
-          <div v-else>
-            {{ item.minute > 9 ? item.minute : '0' + item.minute }}分
-          </div>
-        </el-col>
-      </el-row>
-      <!-- 次/周 -->
-      <el-row :gutter="20" v-else-if="formData.cycleType === 12">
-        <el-col
-          v-for="(item, index) in ruleCycleList"
-          :key="index"
-          :span="6"
-          class="cycle_item"
-        >
-          <span>第{{ index + 1 }}次</span>
-          <div class="cycle_sub_item" v-if="pageType">
-            <el-select v-model.number="item.week" size="small" placeholder="周" :disabled="isBindPlan">
-              <el-option
-                v-for="item in weekList"
-                :key="item.value"
-                :value="item.value"
-                :label="item.label"
-              ></el-option> </el-select
-            >周
-          </div>
-          <div v-else>{{ item.week }}</div>
-          <div class="cycle_sub_item" v-if="pageType">
-            <el-input
-              v-model.number="item.hour"
-              size="small"
-              placeholder="时"
-              oninput="value = value.replace(/^0+(\d)|[^\d]+/g,'')"
-              @input="e => inputHour(e, index)"
-              :disabled="isBindPlan"
-            >
-              <template #suffix>时</template>
-            </el-input>
-          </div>
-          <div v-else>{{ item.hour }}时</div>
-        </el-col>
-      </el-row>
-      <!-- 次/月 -->
-      <el-row :gutter="20" v-else-if="formData.cycleType === 13">
-        <el-col
-          v-for="(item, index) in ruleCycleList"
-          :key="index"
-          :span="6"
-          class="cycle_item"
-        >
-          <span>第{{ index + 1 }}次</span>
-          <div class="cycle_sub_item" v-if="pageType">
-            <el-input
-              v-model.number="item.day"
-              size="small"
-              placeholder="日"
-              oninput="value = value.replace(/^(0+)|[^\d]+/g,'')"
-              @input="e => inputDay(e, index)"
-              :disabled="isBindPlan"
-            >
-              <template #suffix>日</template>
-            </el-input>
-          </div>
-          <div v-else>{{ item.day }}日</div>
-          <div class="cycle_sub_item" v-if="pageType">
-            <el-input
-              v-model.number="item.hour"
-              size="small"
-              placeholder="时"
-              oninput="value = value.replace(/^0+(\d)|[^\d]+/g,'')"
-              @input="e => inputHour(e, index)"
-              :disabled="isBindPlan"
-            >
-              <template #suffix>时</template>
-            </el-input>
-          </div>
-          <div v-else>{{ item.hour }}</div>
-        </el-col>
-      </el-row>
-      <!-- 次/年 -->
-      <el-row :gutter="20" v-else-if="formData.cycleType === 14">
-        <el-col
-          v-for="(item, index) in ruleCycleList"
-          :key="index"
-          :span="6"
-          class="cycle_item"
-        >
-          <span>第{{ index + 1 }}次</span>
-          <div class="cycle_sub_item" v-if="pageType">
-            <el-input
-              v-model.number="item.month"
-              size="small"
-              placeholder="月"
-              oninput="value = value.replace(/^(0+)|[^\d]+/g,'')"
-              @input="e => inputMonth(e, index)"
-              :disabled="isBindPlan"
-            >
-              <template #suffix>月</template>
-            </el-input>
-          </div>
-          <div v-else>{{ item.month }}月</div>
-          <div class="cycle_sub_item" v-if="pageType">
-            <el-input
-              v-model.number="item.day"
-              size="small"
-              placeholder="日"
-              oninput="value = value.replace(/^(0+)|[^\d]+/g,'')"
-              @input="e => inputDay(e, index)"
-              :disabled="isBindPlan"
-            >
-              <template #suffix>日</template>
-            </el-input>
-          </div>
-          <div v-else>{{ item.day }}日</div>
-          <div class="cycle_sub_item" v-if="pageType">
-            <el-input
-              v-model.number="item.hour"
-              size="small"
-              placeholder="时"
-              oninput="value = value.replace(/^0+(\d)|[^\d]+/g,'')"
-              @input="e => inputHour(e, index)"
-              :disabled="isBindPlan"
-            >
-              <template #suffix>时</template>
-            </el-input>
-          </div>
-          <div v-else>{{ item.hour }}时</div>
-        </el-col>
-      </el-row>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  props: {
-    formData: {
-      type: Object,
-      default: () => {
-        return {}
-      }
-    },
-    // 编辑edit和新增add
-    pageType: {
-      type: String,
-      default: ''
-    },
-
-    isBindPlan:{
-      type: Boolean,
-      default: () => {
-        return false
-      }
-    }
-  },
-  data () {
-    return {
-      ruleCycleList: [
-        // {
-        //   year: '', // 周期年
-        //   month: '', // 周期月
-        //   week: '', // 周期周
-        //   day: '', // 周期日
-        //   hour: '', // 周期时
-        //   minute: '', // 周期分
-        //   second: '' // 周期秒
-        // }
-      ],
-      weekList: [
-        { value: 1, label: '周一' },
-        { value: 2, label: '周二' },
-        { value: 3, label: '周三' },
-        { value: 4, label: '周四' },
-        { value: 5, label: '周五' },
-        { value: 6, label: '周六' },
-        { value: 7, label: '周日' }
-      ],
-      cycleOptObj: {
-        1: '时/次',
-        2: '天/次',
-        //3: '周/次',
-        4: '月/次',
-        5: '年/次',
-        11: '次/天',
-        //12: '次/周',
-        13: '次/月',
-        14: '次/年'
-      },
-      cycleOpt: [
-        { code: 1, label: '时/次' },
-        { code: 2, label: '天/次' },
-        //{ code: 3, label: '周/次' },
-        { code: 4, label: '月/次' },
-        { code: 5, label: '年/次' },
-        { code: 11, label: '次/天' },
-        //{ code: 12, label: '次/周' },
-        { code: 13, label: '次/月' },
-        { code: 14, label: '次/年' }
-      ]
-    }
-  },
-  watch: {
-    formData (val) {
-      this.ruleCycleList = val.cycle
-    }
-  },
-  methods: {
-    // 巡点检周期输入数量
-    cycleValueChange (val) {
-      console.log(val)
-      const cycleType01 = [1, 2, 4, 5]
-      const cycleType02 = [11, 13, 14]
-      this.ruleCycleList = []
-
-      // 次在后
-      if (cycleType01.includes(this.formData.cycleType)) {
-        this.ruleCycleList.push({
-          month: 1, // 周期月
-          day: 1, // 周期日
-          hour: 0, // 周期时
-          minute: 0 // 周期分
-        })
-      }
-
-      // 次在前
-      if (cycleType02.includes(this.formData.cycleType)) {
-        for (let i = 0; i < val; i++) {
-          this.ruleCycleList.push({
-            month: 1, // 周期月
-            day: 1, // 周期日
-            hour: 0, // 周期时
-            minute: 0 // 周期分
-          })
-        }
-      }
-
-      // 时/次
-      if (this.formData.cycleType === 1) {
-        this.ruleCycleList.forEach(item => {
-          delete item.month
-          delete item.day
-          delete item.hour
-        })
-      }
-      // 天/次、次/天
-      if ([2, 11].includes(this.formData.cycleType)) {
-        this.ruleCycleList.forEach(item => {
-          delete item.month
-          delete item.day
-        })
-      }
-      // 月/次、次/月
-      if ([4, 13].includes(this.formData.cycleType)) {
-        this.ruleCycleList.forEach(item => {
-          delete item.month
-        })
-      }
-    },
-
-    // 周期类型选择
-    handleCycleTypeChange () {
-      this.cycleValueChange(this.formData.cycleValue)
-    },
-
-    // 输入月
-    inputMonth (e, index) {
-      if (e > 12) {
-        this.ruleCycleList[index].month = 1
-        return this.$message.warning('月份最大值为12月')
-      }
-    },
-    // 输入日
-    inputDay (e, index) {
-      if (e > 31) {
-        this.ruleCycleList[index].day = 1
-        return this.$message.warning('日期最大值为31日')
-      }
-    },
-    // 输入时
-    inputHour (e, index) {
-      if (e > 23) {
-        this.ruleCycleList[index].hour = 0
-        return this.$message.warning('时间最大值为23时')
-      }
-    },
-    // 输入时
-    inputMinute (e, index) {
-      if (e > 59) {
-        this.ruleCycleList[index].minute = 0
-        return this.$message.warning('分钟最大值为59分')
-      }
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.cycle_item {
-  display: flex;
-  align-items: center;
-  color: #666;
-  > span {
-    width: 50px;
-  }
-  .cycle_sub_item {
-    flex: 1;
-    display: flex;
-    align-items: center;
-  }
-}
-.cycle01_box {
-  display: flex;
-  ::v-deep .el-input {
-    width: 80px;
-  }
-}
-.cycle_time_column {
-  display: flex;
-}
-</style>

+ 0 - 263
src/views/rulesManagement/matterRules/details.vue

@@ -1,263 +0,0 @@
-<template>
-  <div class="page">
-    <el-form label-width="140px">
-      <div class="content-detail">
-        <div class="basic-details">
-          <div class="basic-details-title">
-            <span class="border-span">基本信息</span>
-          </div>
-          <el-row>
-            <el-col :span="6">
-              <el-form-item label="规则编码">
-                <span> {{ infoData.code }} </span>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="规则名称">
-                <span> {{ infoData.name }} </span>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="规则类型">
-                <span>
-                  {{ getDictValue('规则类型',  infoData.ruleType) }}
-				  </span>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="状态">
-                <span class="primary-text" v-if="infoData.status">生效</span>
-                <span class="danger-text" v-else-if="!infoData.status"
-                  >失效</span
-                >
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="创建人">
-                <span> {{ infoData.createUserName }} </span>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="创建时间">
-                <span> {{ infoData.createTime }} </span>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="巡点检周期">
-                <rule-cycle :formData="infoData" />
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="操作方式/注意事项">
-                <el-link
-                  v-for="item in infoData.contentImage"
-                  @click="$fileSystemDownload(item)"
-                  :key="item.docId"
-                  >{{ item.name }}</el-link
-                >
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </div>
-        <template v-if="!(infoData.ruleType && infoData.ruleType.code == 4)">
-          <div class="basic-details-title">
-            <span class="border-span">内容配置</span>
-          </div>
-          <el-table
-            ref="multipleTable"
-            :data="tableData"
-            tooltip-effect="dark"
-            style="width: 100%"
-            border
-            :header-cell-style="{ background: '#F0F3F3' }"
-          >
-            <el-table-column type="index" label="序号" width="60"/>
-            <el-table-column prop="name" label="检测事项" />
-            <el-table-column prop="content" label="检测内容" />
-            <el-table-column prop="norm" label="检测标准" />
-          </el-table>
-        </template>
-      </div>
-
-      <div class="content-detail" v-show="num == 2"></div>
-    </el-form>
-  </div>
-</template>
-<script>
-  import dictMixins from '@/mixins/dictMixins';
-  import RuleCycle from './components/rule-cycle'
-  import {  getDetail  } from '@/api/ruleManagement/matter'
-export default {
-  mixins: [dictMixins],
-  components: { RuleCycle },
-  data () {
-    return {
-      num: 1,
-      dialogVisible: false,
-      infoData: {},
-      form: {},
-      type: [],
-      tableData: [],
-      ruleTypeObj: {
-        1: '巡点检规则',
-        2: '保养规则',
-        4: '盘点规则'
-      }
-    }
-  },
-  async created () {
-    this.getInfo()
-	 this.requestDict('规则类型');
-  },
-  methods: {
-    delete () {},
-    // 点击切换事件
-    tab (index) {
-      this.num = index
-    },
-
-    // 表格数据
-    async getInfo () {
-      const data = await getDetail(this.$route.query.id)
-        this.tableData = data.ruleItems
-        this.infoData = data
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-.page {
-  padding: 10px;
-}
-.page-title {
-  background: #fff;
-  font-size: 18px;
-  padding: 6px 20px;
-  font-weight: 500;
-  .page-title-div {
-    margin: 5px 0;
-    height: 30px;
-    line-height: 30px;
-    border-bottom: 1px solid #eaeefb;
-    .title-div-no {
-      margin-left: 10px;
-      font-weight: 400;
-      color: #909090;
-      font-size: 14px;
-    }
-  }
-}
-.page-data {
-  padding-top: 10px;
-}
-.content-detail {
-  background: #fff;
-  padding: 20px;
-}
-.flows {
-  .flow-left {
-    width: 156px;
-    height: 70px;
-    border: 1px dashed #ccc;
-    padding: 10px;
-  }
-  .row {
-    margin-top: 13px;
-  }
-}
-.basic-details-title {
-  margin-bottom: 12px;
-  margin-top: 20px;
-  border-bottom: 1px solid #1890ff;
-  padding-bottom: 8px;
-  display: flex;
-  justify-content: space-between;
-}
-.basic-details-title .border-span {
-  height: 18px;
-  font-size: 16px;
-  border-left: 4px solid #1890ff;
-  padding-left: 8px;
-
-  font-weight: 500;
-}
-.heade-right {
-  // float: right;
-  .heade-right-content {
-    margin-right: 12px;
-    font-size: 14px;
-    display: inline-block;
-    .content-key {
-      color: #3e3e3e;
-      margin-right: 12px;
-      font-weight: 500;
-    }
-    .content-value {
-      color: #000;
-    }
-  }
-}
-.list-title {
-  font-size: 14px;
-  color: #3e3e3e;
-  margin: 10px 0px;
-}
-.goods {
-  background: #a30014;
-  border: 1px solid #a30014;
-}
-.details-title {
-  display: inline-block;
-  color: #6e6e6e;
-  font-size: 14px;
-  font-weight: bold;
-  margin-right: 13px;
-  width: 70px;
-  text-align: right;
-}
-.details-con {
-  color: #3e3e3e;
-  font-size: 14px;
-}
-.detailed-tab {
-  margin-left: 10px;
-  margin-top: 10px;
-}
-::v-deep .el-form-item--medium .el-form-item__label {
-  color: #6e6e6e;
-  font-size: 14px;
-  font-weight: bold;
-}
-.warehouse {
-  display: block;
-  border-bottom: 1px solid #eaeefb;
-  padding: 10px 0;
-}
-.box-card {
-  .store-box {
-    width: 80%;
-    .store-box-span {
-      display: inline-block;
-      font-size: 14px;
-      height: 50px;
-      width: 50px;
-      text-align: center;
-      line-height: 50px;
-      color: #fff;
-      margin: 2px;
-    }
-  }
-}
-.vacant {
-  background: #3196fb;
-}
-.inUse {
-  background: #157a2c;
-}
-.invalid {
-  background: #cccccc;
-}
-.full {
-  background: #cc3300;
-}
-</style>

+ 0 - 222
src/views/rulesManagement/matterRules/index.vue

@@ -1,222 +0,0 @@
-<template>
-  <div class="ele-body">
-     <el-card shadow="never" v-loading="loading">
-	   <matter-search @search="reload">
-	   </matter-search>
-	   <!-- 数据表格 -->
-	   <ele-pro-table
-	     ref="table"
-	     :columns="columns"
-	     :datasource="datasource"
-	     cache-key="systemRoleTable"
-	   >
-	     <!-- 表头工具栏 -->
-	     <template v-slot:toolbar>
-	       <el-button
-	         size="small"
-	         type="primary"
-	         icon="el-icon-plus"
-	         class="ele-btn-icon"
-	         @click="openEdit('add')"
-	       >
-	         新建
-	       </el-button>
-	     </template>
-		 <!-- 编码列 -->
-		 <template v-slot:code="{ row }">
-		   <el-link type="primary" :underline="false" @click="goDetail(row)">
-		     {{ row.code }}
-		   </el-link>
-		 </template>
-	     <!-- 操作列 -->
-	     <template v-slot:action="{ row }">
-		   <el-link
-		     type="primary"
-		     :underline="false"
-		     icon="el-icon-finished"
-		     @click="openEdit('clone',row)"
-		   >
-		     克隆
-		   </el-link>
-	       <el-link
-	         type="primary"
-	         :underline="false"
-	         icon="el-icon-edit"
-	         @click="openEdit('edit',row)"
-	       >
-	         修改
-	       </el-link>
-	       <el-popconfirm
-	         class="ele-action"
-	         title="确定要删除此角色吗?"
-	         @confirm="remove(row)"
-	       >
-	         <template v-slot:reference>
-	           <el-link type="danger" :underline="false" icon="el-icon-delete">
-	             删除
-	           </el-link>
-	         </template>
-	       </el-popconfirm>
-	     </template>
-	   </ele-pro-table>
-     </el-card>
-	 
-	 <!-- 新建或编辑弹窗 -->
-	 <matter-add
-	   ref="addMatterRulesRef"
-	   :pageType="pageType"
-	   :dialogTitle="dialogTitle"
-	   @done="reload"
-	 />
-  </div>
-</template>
-
-<script>
-
-  import MatterSearch from './components/matter-search.vue';
-  import MatterAdd from './components/matter-add.vue';
-  import { getList , getDetail , removeRule } from '@/api/ruleManagement/matter';
-  import dictMixins from '@/mixins/dictMixins';
-  export default {
-	mixins: [dictMixins],
-    components: {
-        MatterSearch,
-	    MatterAdd
-    },
-    data () {
-      return {
-		// 表格列配置
-		columns: [
-			{
-				columnKey: 'index',
-				label: '序号',
-				type: 'index',
-				width: 55,
-				align: 'center',
-				showOverflowTooltip: true,
-				fixed: 'left'
-			},
-			{
-				prop: 'code',
-				label: '规则编码',
-				align: 'center',	
-				showOverflowTooltip: true,
-				minWidth: 110,
-				slot:'code'
-			},
-			{
-				prop: 'status',
-				label: '状态',
-				align: 'center',
-				showOverflowTooltip: true,
-				minWidth: 110,
-				formatter: (_row, _column, cellValue) => {
-				  return this.getDictValue('规则状态',  _row.status)
-				}
-			},
-			{
-				prop: 'ruleType',
-				label: '规则类型',
-				align: 'center',	
-				showOverflowTooltip: true,
-				slot: 'enable',
-				minWidth: 110,
-				formatter: (_row, _column, cellValue) => {
-				  return this.getDictValue('规则类型',  _row.ruleType)
-				}
-			},
-			{
-				prop: 'name',
-				label: '规则名称',
-				align: 'center',	
-				showOverflowTooltip: true,
-				minWidth: 110
-			},
-			{
-				prop: 'cycle',
-				label: '周期',
-				align: 'center',	
-				showOverflowTooltip: true,
-				minWidth: 110,
-				formatter: (_row, _column, cellValue) => {
-				  return this.getDictValue('规则周期',  _row.cycleType)
-				}
-			},
-			{
-				prop: 'createUserName',
-				label: '创建人',
-				align: 'center',	
-				showOverflowTooltip: true,
-				minWidth: 110
-			},
-			{
-				prop: 'createTime',
-				label: '创建时间',
-				align: 'center',
-				showOverflowTooltip: true,
-				minWidth: 110,
-				formatter: (_row, _column, cellValue) => {
-					return this.$util.toDateString(cellValue);
-				}
-			},
-			{
-				columnKey: 'action',
-				label: '操作',
-				width: 230,
-				align: 'center',
-				resizable: false,
-				slot: 'action',
-				showOverflowTooltip: true
-			}
-		],
-        // 加载状态
-        loading: false,
-        pageType: 'add',
-        dialogTitle: '',
-      };
-    },
-    computed: {
-
-    },
-	created () {
-	  this.requestDict('规则周期');
-	  this.requestDict('规则类型');
-	  this.requestDict('规则状态');
-	},
-    methods: {
-      /* 表格数据源 */
-      datasource({ page, limit, where, order }) {
-        return getList({ pageNum: page, size: limit, ...where });
-      },
-      /* 刷新表格 */
-      reload(where) {
-        this.$refs.table.reload({ page: 1, where });
-      },
-	  
-	  remove(row){
-		  removeRule([row.id]).then(res=>{
-			  this.$message.success('删除成功!')
-			  this.reload()
-		  })
-	  },
-	  
-	  openEdit(type,row){
-		  this.pageType = type
-		  this.dialogTitle = type=='add'? '新建规则':(type=='edit'?'编辑规则':'克隆规则')
-		  this.$refs.addMatterRulesRef.openDialog(row , type)
-	  },
-	  
-	  goDetail({id}){
-		  this.$router.push({
-		    path: '/rulesManagement/matterRules/details',
-		    query: {id}
-		  })
-	  },
-
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-
-</style>

+ 0 - 520
src/views/rulesManagement/planRules/InventoryConfig/components/AssetsInWarehouse.vue

@@ -1,520 +0,0 @@
-<template>
-  <div class="assets-container" v-show="assetsName">
-    <div class="tree-wrapper">
-      <div class="title">
-        {{ assetsName }}
-        <el-checkbox
-          :value="assetsSelectAll"
-          @click.native.prevent="handleAssetsSelectAll"
-          :disabled="isBindPlan"
-        ></el-checkbox>
-      </div>
-      <div class="scroll-wrapper">
-        <el-tree
-          show-checkbox
-          :data="treeList"
-          :props="{
-            children: 'children',
-            value: 'code',
-            label: 'name',
-          }"
-          :filter-node-method="filterNode"
-          v-loading="treeLoading"
-          node-key="id"
-          ref="treeRef"
-          :default-expanded-keys="defaultExpandedKeys"
-          :highlight-current="true"
-          @node-click="handleNodeClick"
-          @check="clickCheck"
-        >
-          <span class="custom-tree-node" slot-scope="{ node, data }">
-            <span>{{ node.label }}</span>
-          </span>
-        </el-tree>
-      </div>
-    </div>
-    <div :class="isBindPlan ? 'table-wrapper' : 'table-box'">
-      <el-table
-        style="width: 100% !important"
-        height="400px"
-        ref="tableRef"
-        :data="tableData"
-        @selection-change="handleSelectionChange"
-        @select="handleCurSelectionChange"
-        :key="assetsName"
-        :header-cell-style="{
-          background: '#F0F3F3',
-          border: 'none',
-        }"
-        :disabled="isBindPlan"
-      >
-        <el-table-column
-          v-for="item in tableInfoData"
-          :key="item.key"
-          :prop="item.inKey"
-          :label="item.label"
-          :width="item.width"
-        >
-        </el-table-column>
-        <el-table-column
-          type="selection"
-          :selectable="selectable"
-          :width="tableData.length ? '55' : '500'"
-        >
-        </el-table-column>
-      </el-table>
-    </div>
-  </div>
-</template>
-
-<script>
-// import classManagement from "@/api/ledgerAssets/classManagement";
-// import { tableContentData } from '../../../components/enum'
-import { mapGetters } from "vuex";
-// import {
-//   getInventoryListGroup,
-//   getgoodspage,
-// } from "@/api/stockManagement/stocking";
-import { tableContentData } from "./tableContentData.js";
-export default {
-  props: {
-    assetsName: {
-      type: String,
-      default: "",
-    },
-    warehouseId: {
-      type: [Number, String],
-      default: "",
-    },
-    tableValuableList: {
-      type: Array,
-      default: () => [],
-    },
-    assetsType: {
-      type: [String, Number],
-      default: "",
-    },
-    assetSubType: {
-      type: [String, Number],
-      default: "",
-    },
-    planRuleInventoryDetailList: {
-      type: Array,
-      default: [],
-    },
-    isBindPlan: {
-      type: Boolean,
-      default: function () {
-        return false;
-      },
-    },
-  },
-  computed: {
-    ...mapGetters(["addOrUpdate"]),
-  },
-  watch: {
-    // warehouseId() {
-    //   if (this.curNode) {
-    //     this.getTableInfo(
-    //       this.curNode.data.id === this.curNode.data.originId
-    //         ? ""
-    //         : this.curNode.data.id
-    //     );
-    //   }
-    // },
-    planRuleInventoryDetailList(val) {
-      console.log('asd',val)
-      if (val) {
-        this.$nextTick(() => {
-          val.forEach((item) => {
-            if (!this.tableSelectionList[item.bizTypeId]) {
-              this.tableSelectionList[item.bizTypeId] = [item];
-            } else {
-              this.tableSelectionList[item.bizTypeId].push(item);
-            }
-          });
-          this.handleAssetsChange();
-        });
-      }
-    },
-  },
-  data() {
-    return {
-      treeList: [],
-      tableInfoData: [],
-      tableData: [],
-      requestApi: "",
-      treeLoading: false,
-      tableSelectionList: {},
-      assetsSelectionList: [],
-      assetsSelectAll: false,
-      curNode: null,
-      defaultExpandedKeys: [],
-      changeData: [],
-      isChecked: false,
-    };
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.handleAssetsChange();
-    });
-  },
-  created() {
-    // console.log('库内')
-    // if(this.planRuleInventoryDetailList){
-    //   console.log('this.planRuleInventoryDetailList',this.planRuleInventoryDetailList)
-    //   this.tableData = this.planRuleInventoryDetailList
-    // }
-  },
-  methods: {
-    //表格复选框禁用
-    selectable(row, rowIndex) {
-      if (this.isBindPlan) {
-        return false;
-      } else {
-        return true;
-      }
-    },
-    // 重置
-    resetData() {
-      this.clearSelection();
-      this.treeList = [];
-    },
-    //清除选中
-    clearSelection() {
-      this.assetsSelectAll = false;
-      this.tableData = [];
-      this.tableSelectionList = {};
-    },
-    //派单过滤
-    filterNode(value, data, node) {
-      return (
-        this.tableValuableList.findIndex(
-          (item) => item.bizTypeId === data.id
-        ) !== -1
-      );
-    },
-    getSelectList() {
-      const classificationList =
-        (this.$refs.treeRef && this.$refs.treeRef.getCheckedNodes()) || [];
-      const list = Object.values(this.tableSelectionList) || [];
-      var arr = [];
-      list.map((item, index) => {
-        for (var i = 0; i < item.length; i++) {
-          arr.push(item[i]);
-        }
-      });
-      const tableSelectionList = arr;
-      return {
-        classificationList,
-        tableSelectionList,
-        // tableSelectionList: Object.values(this.tableSelectionList)
-        //   .flat()
-        //   .filter(
-        //     // i => !classificationList.find(itm => i.classificationId == itm.id)
-        //      i => !classificationList.find(itm => i.bizTypeId == itm.id)
-        //   )
-        //   .map(item => {
-        //     item.minPackUnit = item.minPackUtil
-        //     return item
-        //   })
-      };
-    },
-    handleAssetsChange() {
-      setTimeout(() => {
-        if (this.assetsName) {
-          let obj = tableContentData.find(
-            (item) => item.name === this.assetsName
-          );
-          this.tableInfoData = (obj && obj.tableData) || [];
-          this._getTreeList();
-          // this.clearSelection()
-        }
-      }, 0);
-    },
-    // 设备、舟皿、周转车、模具
-    async _getTreeList() {
-      let res = await classManagement.getClassificationTreeAsyncCall({
-        id: "0",
-        type: this.assetsType,
-      });
-      if (res?.success) {
-        this.treeList = res.data[0]?.children || [];
-        if (this.isBindPlan) {
-          this.deepEach(this.treeList);
-        }
-        if (this.tableValuableList?.length) {
-          this.$nextTick(() => {
-            this.$refs.treeRef.filter();
-          });
-        }
-
-        if (this.addOrUpdate === "edit") {
-          let keys = [];
-          this.planRuleInventoryDetailList.map((item) => {
-            if (item.bizTypeId !== null) {
-              keys.push(item.bizTypeId);
-            }
-          });
-          keys = [...new Set(keys)];
-          this.defaultExpandedKeys = keys;
-          if (keys.length) {
-            this.$nextTick(() => {
-              this.$refs.treeRef.setCurrentKey(keys[0]);
-              this.convertTreeData();
-              let chooseData = null;
-              this.changeData.map((item) => {
-                if (item.id == keys[0]) {
-                  chooseData = item;
-                }
-              });
-              if (chooseData) {
-                this.getTableInfo(chooseData.id);
-              }
-              //    this.handleNodeClick(chooseData,node)
-            });
-          }
-        }
-      }
-    },
-    handleNodeClick(data, node) {
-      console.log(node, "node");
-      if (!node.isLeaf) return; //限制叶子节点
-      this.curNode = node;
-      // this.getTableInfo(data.id === data.originId ? '' : data.id)
-      this.getTableInfo({
-        assetType: data.type,
-        classificationIds: [data.id],
-      });
-    },
-    setclassIds(data, list) {
-      if (data && data.length !== 0) {
-        data.forEach((item) => {
-          if (item.children && item.children.length !== 0) {
-            this.setclassIds(item.children, list);
-          }
-          list.push(item.id);
-        });
-      }
-      return list;
-    },
-
-    async getTableInfo(assetSubType) {
-      const params = {
-        page: 1,
-        size: 9999,
-        ...assetSubType,
-      };
-
-      if (assetSubType) {
-        params.assetSubType = assetSubType;
-      }
-      const res = await getgoodspage(params);
-      if (res?.success) {
-        if (this.tableValuableList && this.tableValuableList.length) {
-          // 派单过滤
-          this.tableData = res.data.records
-            .filter(
-              (item) =>
-                this.tableValuableList.findIndex(
-                  (i) => i.assetId == item.id
-                ) !== -1
-            )
-            .map((i, index) => ({
-              ...i,
-              index,
-              classificationId: assetSubType,
-            }));
-        } else {
-          this.tableData = res.data.records.map((i, index) => ({
-            ...i,
-            index,
-            classificationId: assetSubType,
-          }));
-        }
-        const checkedTrees = this.$refs.treeRef.getCheckedKeys();
-
-        // if(this.addOrUpdate === 'edit'){
-        //   this.defaultExpandedKeys
-        // }
-        this.$nextTick(() => {
-          //分类选中
-          this.tableData.map((item) => {
-            if (checkedTrees.includes(item.classificationId + "")) {
-              this.$refs.tableRef.toggleRowSelection(item);
-            }
-          });
-          // 表格选中(切换保存状态
-          for (const key in this.tableSelectionList) {
-            this.tableSelectionList[key].forEach((item) => {
-              const row = this.tableData.find((i) => i.id === item.id);
-              if (row) {
-                //this.$refs.tableRef.toggleRowSelection(row, true)
-              }
-            });
-          }
-        });
-
-        if (this.addOrUpdate === "edit") {
-          if (this.planRuleInventoryDetailList) {
-            this.tableData.map((item) => {
-              for (
-                var i = 0;
-                i < this.planRuleInventoryDetailList.length;
-                i++
-              ) {
-                if (
-                  item.id == this.planRuleInventoryDetailList[i].id
-                ) {
-                  this.$nextTick(() => {
-                    this.$refs.tableRef.toggleRowSelection(item, true);
-                  });
-                }
-              }
-            });
-          }
-        }
-      }
-    },
-
-    // tree选中状态改变
-    clickCheck(data, checkinfo) {
-      const isChecked = checkinfo.checkedKeys.indexOf(data.id) > -1;
-
-      if (!isChecked) {
-        //取消全选
-        this.assetsSelectAll = false;
-      }
-
-      if (this.curNode && this.curNode.data.id === data.id) {
-        this.tableData.forEach((row) => {
-          this.$refs.tableRef.toggleRowSelection(row, isChecked);
-        });
-      }
-    },
-
-    // 资产分类全选  通过点击事件更改状态
-    handleAssetsSelectAll() {
-      if (this.isBindPlan) return;
-      this.assetsSelectAll = !this.assetsSelectAll;
-      if (this.assetsSelectAll) {
-        const keys = this.treeList.map((item) => item.id);
-        this.$refs.treeRef.setCheckedKeys(keys);
-      } else {
-        this.$refs.treeRef.setCheckedKeys([]);
-      }
-    },
-    handleSelectionChange(val) {
-      console.log(val);
-      let bizType = {};
-      if (this.curNode) {
-        bizType = {
-          bizTypeId: this.curNode.data?.id,
-          bizTypeName: this.curNode.data?.name,
-        };
-        this.$set(
-          this.tableSelectionList,
-          this.curNode.data.id,
-          val.map((i) => ({
-            ...i,
-            ...bizType,
-          }))
-        );
-      }
-      if (val.length > 0 && val.length === this.tableData.length) {
-        //全选
-        this.$refs.treeRef.setChecked(val[0].classificationId, true);
-      }
-      if (val.length === 0 && this.tableData.length > 0) {
-        //全不选
-        this.$refs.treeRef.setChecked(
-          this.tableData[0].classificationId,
-          false
-        );
-      }
-    },
-    handleCurSelectionChange(selection, row) {
-      if (selection.findIndex((item) => item.index === row.index) === -1) {
-        //取消选中
-        this.$refs.treeRef.setChecked(row.classificationId, false);
-
-        for (const key in this.tableSelectionList) {
-          const idx = this.tableSelectionList[key].findIndex(
-            (item) => item.id === row.id
-          );
-          if (idx !== -1) {
-            this.tableSelectionList[key].splice(idx, 1);
-          }
-        }
-      }
-    },
-
-    convertTreeData() {
-      this.changeData = this.treeList;
-      for (let i = 0; i < this.changeData.length; i++) {
-        if (this.changeData[i].children != undefined) {
-          const temp = this.changeData[i].children;
-          delete this.changeData[i].children;
-          this.changeData = this.changeData.concat(temp);
-        }
-      }
-    },
-
-    // 子节点处理
-    deepEach(arr) {
-      arr.forEach((item) => {
-        item.disabled = true;
-        if (item.children) {
-          this.deepEach(item.children); // 递归
-        }
-      });
-    },
-  },
-};
-</script>
-
-<style scoped lang="scss">
-::v-deep .table-wrapper .el-table__header-wrapper .el-checkbox {
-  display: none;
-}
-::v-deep.assets-container {
-  display: flex;
-  width: 100%;
-  .el-tree-node__content > .el-checkbox {
-    position: absolute;
-    right: 0;
-  }
-  .tree-wrapper {
-    // width: 350px;
-    width: 30%;
-    margin-right: 12px;
-    border: 1px solid #ccc;
-
-    .title {
-      text-align: center;
-      font-size: 16px;
-      font-weight: bold;
-      background: #f0f3f3;
-      padding: 4px;
-      padding-right: 8px;
-      .el-checkbox {
-        float: right;
-      }
-    }
-    .scroll-wrapper {
-      padding-top: 8px;
-    }
-  }
-  .table-wrapper {
-    width: 70%;
-    padding: 8px;
-    border: 1px solid #ccc;
-  }
-
-  .table-box {
-    width: 70%;
-    padding: 8px;
-    border: 1px solid #ccc;
-  }
-}
-</style>

+ 0 - 656
src/views/rulesManagement/planRules/InventoryConfig/components/addInventoryDialog.vue

@@ -1,656 +0,0 @@
-<template>
-  <el-dialog
-    :visible.sync="dialogVisible"
-    :title="dialogTile"
-    :before-close="handleClose"
-    :close-on-click-modal="false"
-    :close-on-press-escape="false"
-    v-loading="addDialogLoading"
-    width="80%"
-  >
-    <el-form
-      :model="addForm"
-      class="add_form"
-      ref="addFormRef"
-      :rules="rules"
-      label-width="110px"
-    >
-      <el-row :gutter="20">
-<!--        <el-col :span="8">
-          <el-form-item label="计划配置单号" prop="planRuleCode">
-            <el-input
-              v-model="addForm.planRuleCode"
-              placeholder="自动生成"
-              disabled
-            ></el-input>
-          </el-form-item>
-        </el-col> -->
-        <el-col :span="8">
-          <el-form-item label="计划配置名称" prop="planRuleName">
-            <el-input
-              v-model="addForm.planRuleName"
-              placeholder="请输入"
-               :disabled="isBindPlan"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="自动派单" prop="isSyncBill">
-            <el-select
-              v-model="addForm.isSyncBill"
-              class="w100"
-              placeholder="请选择"
-               :disabled="isBindPlan"
-            >
-              <el-option :value="true" label="是"></el-option>
-              <el-option :value="false" label="否"></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="规则名称" prop="ruleId">
-            <el-select
-              v-model="addForm.ruleId"
-              class="w100"
-              placeholder="请选择规则名称"
-               :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in ruleNameList"
-                :key="item.id"
-                :value="item.id"
-                :label="item.name"
-                @click.native="addForm.ruleName = item.name"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <!-- <el-col :span="8">
-          <el-form-item label="关联事项" prop="ruleId">
-            <el-select
-              v-model="addForm.ruleId"
-              class="w100"
-              placeholder="请选择"
-            >
-              <el-option
-                v-for="item in ruleNameList.filter(i => i.status)"
-                :key="item.id"
-                :value="item.id"
-                :label="item.name"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col> -->
-        <el-col :span="8">
-          <el-form-item label="盘点类型" prop="bizType">
-            <el-select
-              v-model="addForm.bizType"
-              class="w100"
-              placeholder="请选择"
-              @change="chooseType"
-               :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in wh_checkStatus"
-                :key="item.code"
-                :value="item.code"
-                :label="item.label"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item
-            label="盘点仓库"
-            :rules="
-              addForm.bizType == 1
-                ? [
-                    {
-                      required: true,
-                      message: '请选择资产类别',
-                      trigger: ['blur', 'change']
-                    }
-                  ]
-                : []
-            "
-          >
-            <el-select
-              placeholder="请选择"
-              class="w100"
-              v-model="addForm.bizTypeId"
-              :disabled="addForm.bizType == 2||isBindPlan"
-            >
-              <el-option
-                v-for="item in warehouseList"
-                :key="item.id"
-                :value="item.id"
-                :label="item.name"
-                @click.native="
-                  () => {
-                    addForm.bizTypeName = item.name
-                  }
-                "
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="审核人" prop="verifyUserId">
-            <el-select
-              v-model="addForm.verifyUserId"
-              size="small"
-              style="width: 100%"
-               :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in uerList"
-                :key="item.userId"
-                :value="item.userId"
-                :label="item.trueName"
-                @click.native="addForm.verifyUserName = item.trueName"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="计划盘点时长" prop="duration">
-            <el-input v-model.number="addForm.duration" placeholder="请输入" :disabled="isBindPlan">
-              <template #suffix>分钟</template>
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="资产分类" prop="assetDict">
-            <!-- <el-select
-              class="form-ipt"
-              style="width: 100%"
-              size="small"
-              v-model="addForm.assetDict"
-              placeholder="请选择"
-              @change=""
-               :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in warehousingType"
-                :key="item.key"
-                :label="item.label"
-                :value="item.key"
-                @click.native="handleAssetsChange(item)"
-              >
-              </el-option>
-            </el-select> -->
-            <DictSelection
-              dictName="物品类型"
-              :disabled="isBindPlan"
-              clearable
-              v-model="addForm.assetDict"
-              @itemChange="handleAssetsChange"
-            />
-          </el-form-item>
-        </el-col>
-        <el-col :span="8" v-if="addForm.isSyncBill">
-          <el-form-item label="执行部门" prop="executorDeptCode">
-           <!-- <el-input
-              v-model="addForm.executorDeptCode"
-              v-show="false"  :disabled="isBindPlan"
-            ></el-input>
-            <SelectTree
-              class="form-input"
-              ref="searchTree"
-              :options="deptList"
-              :value="addForm.executorDeptCode"
-              :props="{
-                value: 'code',
-                label: 'name',
-                children: 'children'
-              }"
-              @getValue="searchDeptNodeClick"
-               :isBindPlan="isBindPlan"
-            /> -->
-          </el-form-item>
-        </el-col>
-        <el-col :span="8" v-if="addForm.isSyncBill">
-          <el-form-item label="执行人员" prop="executorId">
-            <el-select
-              v-model="addForm.executorId"
-              size="small"
-              style="width: 100%"
-               :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in executorList"
-                :key="item.userId"
-                :value="item.userId"
-                :label="item.trueName"
-                @click.native="addForm.executorName = item.trueName"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="紧急程度" prop="urgent">
-            <el-select
-              placeholder="请选择"
-              class="w100"
-              v-model="addForm.urgent"
-               :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in emergencyState"
-                :key="item.code"
-                :value="item.code"
-                :label="item.label"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="锁库盘点" prop="isTreasuryLock">
-            <el-switch
-              v-model="addForm.isTreasuryLock"
-              active-text="开"
-              inactive-text="关"
-              :active-value="1"
-              :inactive-value="0"
-               :disabled="isBindPlan"
-            ></el-switch>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="状态" prop="status">
-            <el-switch
-              v-model="addForm.status"
-              active-text="开"
-              inactive-text="关"
-              :active-value="true"
-              :inactive-value="false"
-            ></el-switch>
-          </el-form-item>
-        </el-col>
-        <el-col :span="24">
-          <el-form-item label="备注" prop="remark">
-            <el-input
-              placeholder="请输入"
-              type="textarea"
-              :rows="2"
-              resize="none"
-              v-model="addForm.remark"
-               :disabled="isBindPlan"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <!-- 库外 -->
-      <!-- <Assets
-        ref="assetsRef"
-        :assetsName="addForm.assetsName"
-        :assetsType="assetsType"
-        :planRuleInventoryDetailList="planRuleInventoryDetailList"
-        :isBindPlan = "isBindPlan"
-        v-if="
-          addForm.bizType === 2 &&
-          addForm.assetsName != '物料' &&
-          addForm.assetsName != '产品' &&
-          addForm.assetsName != '备品备件'
-        "
-      /> -->
-      <!-- 库内 库存台账 -->
-      <AssetsInWarehouse
-        ref="assetsRef"
-        :assetsName="addForm.assetsName"
-        :warehouseId="addForm.bizTypeId"
-        :assetsType="assetsType"
-        :bizType="addForm.bizType"
-        :planRuleInventoryDetailList="planRuleInventoryDetailList"
-        :isBindPlan = "isBindPlan"
-      />
-    </el-form>
-    <div slot="footer">
-      <el-button type="primary" size="small" @click="submit">提交</el-button>
-      <el-button size="small" @click="handleClose">关闭</el-button>
-    </div>
-  </el-dialog>
-</template>
-
-<script>
-import { mapGetters } from 'vuex'
-import {
-  wh_checkStatus,
-  emergencyState,
-  warehousingType
-} from '@/utils/dict/warehouse'
-// import planRules from '@/api/planRules/patrolConfig'
-// import { warehouseListValuable } from '@/api/stockManagement/warehouseDefinition'
-// import dept from '@/api/main/dept'
-// import user from '@/api/main/user'
-// import SelectTree from '@/components/selectTree'
-// import Assets from './assets'
-import AssetsInWarehouse from './AssetsInWarehouse'
-// import { getRuleNo } from '@/utils'
-// import { getRuleNameList } from '@/api/stockManagement/stocking'
-export default {
-  props: {
-    dialogTile: {
-      type: String,
-      default: '新增盘点计划配置'
-    },
-    isBindPlan: {
-      type: Boolean,
-      default: function () {
-        return false
-      }
-    },
-  },
-  components: { 
-	  // SelectTree, Assets, 
-    AssetsInWarehouse 
-  },
-  data () {
-    return {
-      dialogVisible: false,
-      wh_checkStatus, // 盘点类型
-      warehousingType, // 资产分类
-      warehouseList: [], // 盘点仓库
-      emergencyState, // 紧急程度
-      uerList: [], // 审核人
-      deptList: [], // 执行部门
-      executorList: [], // 执行人
-      assetsType: null,
-      planRuleInventoryDetailList: [],
-      addForm: {
-        // planRuleCode: getRuleNo('PD'), // 计划配置单号
-        planRuleName: '', // 计划配置名称
-        isSyncBill: true, // 是否自动派单
-        ruleId: '', // 规则名称
-        bizType: '', // 盘点类型
-        bizTypeId: '', // 盘点仓库Id
-        bizTypeName: '', // 盘点仓库name
-        verifyUserId: '', // 审核人Id
-        verifyUserName: '', // 审核人name
-        duration: null, // 盘点时长
-        assetDict: '', // 资产分类id
-        assetsName: '', // 资产分类name
-        urgent: null, // 紧急程度
-        executorDeptCode: '', // 执行部门code
-        executorDeptName: '', // 执行部门name
-        executorId: '', // 执行人id
-        executorName: '', // 执行人name
-        isTreasuryLock: false, // 是否锁库盘点
-        status: true, // 状态
-        remark: '' // 备注
-      },
-      rules: {
-        planRuleName: [
-          { required: true, message: '请输入计划配置名称', trigger: 'blur' }
-        ],
-        isSyncBill: [
-          { required: true, message: '请选择是否自动派单', trigger: 'change' }
-        ],
-        ruleId: [
-          { required: true, message: '请选择规则名称', trigger: 'change' }
-        ],
-        duration: [
-          { required: true, message: '请输入计划完成时长', trigger: 'blur' }
-        ],
-        bizType: [
-          { required: true, message: '请选择盘点类型', trigger: 'change' }
-        ],
-        bizTypeId: [
-          { required: true, message: '请选择盘点仓库', trigger: 'change' }
-        ],
-        verifyUserId: [
-          { required: false, message: '请选择审核人', trigger: 'change' }
-        ],
-        executorDeptCode: [
-          { required: true, message: '请选择选择执行部门', trigger: 'change' }
-        ],
-        executorId: [
-          { required: true, message: '请选择选择执行人员', trigger: 'change' }
-        ],
-        assetDict: [
-          { required: true, message: '请选择资产分类', trigger: 'change' }
-        ]
-      },
-      ruleNameList:[],
-    }
-  },
-  watch: {
-    dialogVisible (val) {
-      if (val) {
-        // 获取审核人列表数据
-        this.getUserList()
-        // 获取盘点仓库
-        this._getWarehouse()
-        // 获取部门数据
-        this._getDeptList()
-        // 获取规则名称
-        this._getRuleNameList()
-      }
-    },
-    planRulesDetails (val) {
-      if (!this.dialogVisible) return
-      this.addForm = val
-      this.addForm.assetsName = val.assetDictDESC
-      this.assetsType = val.assetDict
-      // this.warehousingType.map(item => {
-      //   if (val.assetsName == item.label) {
-      //     this.assetsType = item.code
-      //   }
-      // })
-      // this.assetsType = this.warehousingType.filter(
-      //   item => item.code === val.assetDict.code
-      // )[0].type
-      // this.addForm.assetDict = this.warehousingType.filter(
-      //   item => item.code === val.assetDict.code
-      // )[0].key
-      // 根据部门回显人员
-      const params = { deptCode: val.executorDeptCode, status: 1 }
-      this.getUserList(params)
-      this.planRuleInventoryDetailList = val.planRuleInventoryDetailList
-      console.log(
-        'planRuleInventoryDetailList',
-        this.planRuleInventoryDetailList
-      )
-      // 将 planRuleInventoryDetailList 保存到store,在 assets.vue 中获取用来高亮树节点和请求右边的列表
-      // 取出 planRuleInventoryDetailList 里面的分类 bizTypeId、bizTypeName,用来高亮树节点和请求右边的列表
-      // console.log('资产分类:', val.assetDict)
-      // console.log(this.addForm.assetsName)
-    }
-  },
-  computed: {
-    ...mapGetters([
-      'equipmentList',
-      // 'ruleNameList',
-      'planRulesDetails',
-      'addDialogLoading',
-      'addOrUpdate'
-    ])
-  },
-  methods: {
-    // 获取规则名列表
-    async _getRuleNameList () {
-      const res = await getRuleNameList({ ruleTypeEm: 'INVENTORY' })
-      if (res?.success) {
-        this.ruleNameList = res.data || []
-      }
-    },
-    // 关闭弹窗
-    handleClose () {
-      this.dialogVisible = false
-      this.$refs.addFormRef.resetFields()
-      if (this.$refs.searchTree) {
-        this.$refs.searchTree.clearHandle()
-      }
-      if (this.addForm.bizType == 2) {
-        this.$refs.assetsRef._clearTreeTableData()
-      }
-      this.addForm.assetsName = ''
-      this.assetsType = null
-      this.addForm = {
-        // planRuleCode: getRuleNo('PD'), // 计划配置单号
-        planRuleName: '', // 计划配置名称
-        isSyncBill: null, // 是否自动派单
-        ruleId: '', // 规则名称
-        bizType: '', // 盘点类型
-        bizTypeId: '', // 盘点仓库Id
-        bizTypeName: '', // 盘点仓库name
-        verifyUserId: '', // 审核人Id
-        verifyUserName: '', // 审核人name
-        duration: null, // 盘点时长
-        assetDict: '', // 资产分类id
-        assetsName: '', // 资产分类name
-        urgent: null, // 紧急程度
-        executorDeptCode: '', // 执行部门code
-        executorDeptName: '', // 执行部门name
-        executorId: '', // 执行人id
-        executorName: '', // 执行人name
-        isTreasuryLock: false, // 是否锁库盘点
-        status: true, // 状态
-        remark: '' // 备注
-      }
-    },
-
-    // 封装 - 获取盘点仓库
-    async _getWarehouse () {
-      const res = await warehouseListValuable()
-      if (res?.success) {
-        this.warehouseList = res.data.filter(i => !!i.status)
-      }
-    },
-    // 封装 - 获取部门数据
-    async _getDeptList () {
-      try {
-        const tree = await dept.tree()
-        this.deptList = tree.data
-      } catch (error) {}
-    },
-    //选择部门(搜索)
-    searchDeptNodeClick (info) {
-      if (info) {
-        this.addForm.executorDeptCode = info.code
-        this.addForm.executorDeptName = info.name
-        // 根据部门获取人员
-        const params = { deptCode: info.code, status: 1 }
-        this.getUserList(params)
-      } else {
-        this.addForm.executorDeptCode = null
-      }
-    },
-    // 获取审核人列表、巡点检人员
-    async getUserList (params) {
-      try {
-        let data = { status: 1, page: 1, size: 999999 }
-        // 如果传了参数就是获取巡点检人员数据
-        if (params) {
-          data = Object.assign(data, params)
-        }
-        const res = await user.list(data)
-        if (params) {
-          this.executorList = res.data.items
-        } else {
-          this.uerList = res.data.items
-        }
-      } catch (error) {}
-    },
-
-    // 资产分类
-    handleAssetsChange (item) {
-      this.addForm.assetsName = item.dictValue
-      this.assetsType = item.dictCode
-      this.$nextTick(
-        () => this.$refs.assetsRef && this.$refs.assetsRef.handleAssetsChange()
-      )
-    },
-
-    // 参数处理
-    getParams () {
-      const { classificationList, tableSelectionList } =
-      this.$refs.assetsRef.getSelectList()
-      console.log('getParams-tableSelectionList',tableSelectionList)
-      return {
-        ...this.addForm,
-        classificationList: classificationList.map(i => ({
-          classificationID: i.id,
-          classificationName: i.name
-        })),
-        planRuleInventoryDetailList:
-          this.formData && this.formData.bizType === 2
-            ? tableSelectionList.map(item => ({
-                assetBrand: item.brand,
-                assetCode: item.code,
-                assetId: item.id,
-                assetLocationId: `${this.initLocation(
-                  item.positionWorkshop
-                )}${this.initLocation(item.positionLine)}${this.initLocation(
-                  item.positionFarm
-                )}${this.initLocation(item.positionFactory)}`,
-                assetLocationName: `${this.initLocation(
-                  item.positionWorkshopCode
-                )}${this.initLocation(
-                  item.positionLineCode
-                )}${this.initLocation(
-                  item.positionFarmCode
-                )}${this.initLocation(item.positionFactoryCode)}`,
-                assetName: item.name,
-                assetSku: item.specifications,
-                assetTypeDict: this.addForm ? this.addForm.assetDict : '',
-                bizTypeId: item.bizTypeId,
-                bizTypeName: item.bizTypeName,
-                unit: this.addForm ? this.addForm.unit : ''
-              }))
-            : tableSelectionList,
-        planRuleType: 'INVENTORY'
-      }
-
-    },
-    initLocation (inp) {
-      return inp ? inp + ',' : ''
-    },
-
-    // x选择盘点类型
-    chooseType (val) {
-      if (val == 2) {
-        this.addForm.bizTypeId = null
-        this.addForm.bizTypeName = null
-      }
-    },
-
-    // 提交
-    submit () {
-      this.$refs.addFormRef.validate(async valid => {
-        if (valid) {
-          const params = this.getParams()
-          console.log('planRuleInventoryDetailList',params.planRuleInventoryDetailList)
-          if(this.addOrUpdate!='edit'){
-              if (
-                !(
-                  params.classificationList.length ||
-                  params.planRuleInventoryDetailList.length
-                )
-              ) {
-                return this.$message.error('请选择资产分类台账!')
-              }
-          }
-          const res = await planRules.handleSaveOrUpdate(params)
-          if (res?.success) {
-            this.handleClose()
-            this.$message.success('保存成功!')
-            this.$emit('refreshList')
-          }
-        }
-      })
-    },
-    handleChangeassetDict(data){
-        console.log(data)
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.add_form {
-  ::v-deep .el-form-item {
-    margin-bottom: 20px !important;
-  }
-}
-</style>

+ 0 - 86
src/views/rulesManagement/planRules/InventoryConfig/components/tableContentData.js

@@ -1,86 +0,0 @@
-// 盘点
-export const tableContentData = [
-    {
-        name: '原料',
-        tableData: [
-            { label: '物品编码', key: 'informationCode', inKey: 'informationCode' },
-            { label: '物品名称', key: 'informationName', inKey: 'informationName' },
-            { label: '牌号', key: 'brandNum', inKey: 'brandNum' },
-        ]
-    },
-    {
-        name: '耗材',
-        tableData: [
-            { label: '物品编码', key: 'informationCode', inKey: 'informationCode' },
-            { label: '物品名称', key: 'informationName', inKey: 'informationName' },
-            { label: '规格', key: 'specification', inKey: 'specification' },
-            { label: '型号', key: 'modelType', inKey: 'modelType' }
-        ]
-    },
-    {
-        name: '物料',
-        tableData: [
-            { label: '物品编码', key: 'informationCode', inKey: 'informationCode' },
-            { label: '物品名称', key: 'informationName', inKey: 'informationName' },
-            { label: '规格', key: 'specification', inKey: 'specification' },
-            { label: '型号', key: 'modelType', inKey: 'modelType' },    
-        ]
-    },
-    {
-        name: '产品',
-        tableData: [
-            { label: '物品编码', key: 'informationCode', inKey: 'informationCode' },
-            { label: '物品名称', key: 'informationName', inKey: 'informationName' },
-            { label: '牌号', key: 'brandNum', inKey: 'brandNum' },
-            { label: '型号', key: 'modelType', inKey: 'modelType' }
-        ]
-    },
-    {
-        name: '周转车',
-        tableData: [
-            { label: '物品编码', key: 'informationCode', inKey: 'informationCode' },
-            { label: '物品名称', key: 'informationName', inKey: 'informationName' },
-            { label: '规格', key: 'specification', inKey: 'specification' },
-            { label: '材质', key: 'specification', inKey: 'specification' },
-            { label: '长/宽/高', key: 'ckg', inKey: 'ckg' },
-        ]
-    },
-    {
-        name: '舟皿',
-        tableData: [
-            { label: '物品编码', key: 'informationCode', inKey: 'informationCode' },
-            { label: '物品名称', key: 'informationName', inKey: 'informationName' },
-            { label: '规格', key: 'specification', inKey: 'specification' },
-            { label: '型号', key: 'modelType', inKey: 'modelType' },    
-            { label: '长/宽/高', key: 'ckg', inKey: 'ckg' },
-        ]
-    },
-    {
-        name: '生产设备',
-        tableData: [
-            { label: '物品编码', key: 'informationCode', inKey: 'informationCode' },
-            { label: '物品名称', key: 'informationName', inKey: 'informationName' },
-            { label: '规格', key: 'specification', inKey: 'specification' },
-            { label: '型号', key: 'modelType', inKey: 'modelType' }
-        ]
-    },
-    {
-        name: '模具',
-        tableData: [
-            { label: '物品编码', key: 'informationCode', inKey: 'informationCode' },
-            { label: '物品名称', key: 'informationName', inKey: 'informationName' },
-            { label: '规格', key: 'specification', inKey: 'specification' },
-            { label: '型号', key: 'modelType', inKey: 'modelType' },
-            { label: '收缩系数', key: 'shrinkageCoefficient', inKey: 'shrinkageCoefficient' }
-        ]
-    },
-    {
-        name: '备品备件',
-        tableData: [
-            { label: '物品编码', key: 'informationCode', inKey: 'informationCode' },
-            { label: '物品名称', key: 'informationName', inKey: 'informationName' },
-            { label: '规格', key: 'specification', inKey: 'specification' },
-            { label: '型号', key: 'modelType', inKey: 'modelType' },    
-        ]
-    }
-]

+ 0 - 528
src/views/rulesManagement/planRules/InventoryConfig/detail.vue

@@ -1,528 +0,0 @@
-<template>
-  <div class="content-height p20">
-    <div class="flex createdInfo">
-      <!-- <div>
-        <span class="col">状态</span>
-        <span>{{ infoData.planStatus && infoData.planStatus.descp }}</span>
-      </div> -->
-      <div>
-        <span class="col">创建人</span>
-        <span>{{ infoData.createUserName }}</span>
-      </div>
-      <div>
-        <span class="col">创建时间</span>
-        <span>{{ infoData.createTime }}</span>
-      </div>
-    </div>
-<!--    <div class="switch mt40">
-      <div class="switch_left">
-        <ul>
-          <li :class="{ active: num == 1 }" @click="selectActive(1)">详情</li>
-        </ul>
-      </div>
-    </div> -->
-
-    <div v-if="num === 1">
-      <div class="content-detail mt40">
-		<HeaderTitle title="派单信息" size="16px"></HeaderTitle>
-        <div class="mt20">
-          <el-form label-width="130px">
-            <el-col :span="8">
-              <el-form-item label="单据编号">
-                {{ infoData.planRuleCode }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="盘点名称">
-                {{ infoData.planRuleName }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="资产类型">
-                {{ infoData.assetDict && infoData.assetDict.descp }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="盘点类型">
-                {{ infoData.bizType | useDictLabelFilter(wh_checkStatus) }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8" v-if="infoData.bizType == 1">
-              <el-form-item label="盘点仓库">
-                {{ infoData.bizTypeName }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="盘点部门">
-                {{ infoData.executorDeptName }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="盘点人员">
-                {{ infoData.executorName }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="计划盘点时长">
-                {{ infoData.duration }}分钟
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="审批人">
-                {{ infoData.verifyUserName }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="紧急程度">
-                {{ infoData.urgent | useDictLabelFilter(emergencyState) }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="创建人">
-                {{ infoData.createUserName }}
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="创建时间">
-                {{ infoData.createTime }}
-              </el-form-item>
-            </el-col>
-            <!-- <el-col :span="24">
-              <el-form-item label="附件">
-              </el-form-item>
-            </el-col> -->
-            <el-col :span="16">
-              <el-form-item label="备注">
-                {{ infoData.remark }}
-              </el-form-item>
-            </el-col>
-          </el-form>
-        </div>
-      </div>
-      <div class="content-detail mt20">
-		<HeaderTitle title="盘点明细" size="16px"></HeaderTitle>
-        <div class="mt20">
-          <el-form label-width="80px" label-position="top">
-            <el-form-item>
-              <el-table
-                ref="multipleTable"
-                :data="infoData.planRuleInventoryDetailList || []"
-                tooltip-effect="dark"
-                style="width: 100%"
-                stripe
-                :header-cell-style="{ background: '#EEEEEE', border: 'none' }"
-              >
-                <el-table-column
-                  :label="`${
-                    (infoData.assetDict && infoData.assetDict.descp) || ''
-                  }编号`"
-                  prop="assetCode"
-                ></el-table-column>
-                <el-table-column
-                  :label="`${
-                    (infoData.assetDict && infoData.assetDict.descp) || ''
-                  }名称`"
-                  prop="assetName"
-                ></el-table-column>
-                <el-table-column
-                  v-if="infoData.bizType == 1"
-                  label="批次号"
-                  prop="batchNum"
-                ></el-table-column>
-                <el-table-column
-                  label="牌号"
-                  prop="assetBrand"
-                ></el-table-column>
-                <el-table-column label="型号" prop="equiModel"></el-table-column>
-                <el-table-column label="类型" prop="assetTypeDict.descp">
-                  <template>
-                    {{ infoData.assetDict && infoData.assetDict.descp }}
-                  </template>
-                </el-table-column>
-                <!-- <el-table-column
-                  label="仓库"
-                  prop="bizTypeName"
-                ></el-table-column> -->
-                <el-table-column
-                  label="库存量"
-                  prop="inventoryNum"
-                ></el-table-column>
-                <el-table-column label="单位" prop="unit"></el-table-column>
-              </el-table>
-            </el-form-item>
-          </el-form>
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-// import { getPlanDetail, workOrderDetails } from '@/api/stockManagement/stocking'
-// import PageHeader from '@/components/PageHeader'
-// import StatusStep from '@/components/StatusStep'
-// import { useDictLabelFilter } from '@/utils/dict'
-
-import {
-  wh_planStatus,
-  wh_checkStatus,
-  emergencyState,
-  warehousingType
-} from '@/utils/dict/warehouse'
-export default {
-  // components: { PageHeader, StatusStep },
-  // filters: {
-  //   useDictLabelFilter: useDictLabelFilter
-  // },
-  data () {
-    return {
-      emergencyState,
-      wh_checkStatus,
-      wh_planStatus,
-      activeName: 'a',
-      num: 1,
-      workOrderData: [],
-      infoData: {},
-      stepsList: [
-        { status: 'Done', nodeName: '创建' },
-        { status: 'Done', nodeName: '审批中' },
-        { status: 'Done', nodeName: '审批完成' },
-        { status: 'Processing', nodeName: '已收货' },
-        { status: '', nodeName: '收货中' },
-        { status: '', nodeName: '已收货' }
-      ],
-      btnList1: [
-        { name: '受理' },
-        {
-          name: '作废'
-        },
-        {
-          name: '执行'
-        },
-        {
-          name: '编辑'
-        },
-        {
-          name: '确认'
-        },
-        {
-          name: '打印'
-        },
-        {
-          name: '关闭'
-        }
-      ],
-      btnList2: [
-        {
-          name: '撤销'
-        },
-        {
-          name: '催办'
-        },
-        {
-          name: '批复'
-        },
-        {
-          name: '编辑'
-        },
-        {
-          name: '提交'
-        },
-        {
-          name: '打印'
-        },
-        {
-          name: '关闭'
-        }
-      ],
-      list: [
-        {
-          name: '紧急',
-          color: 'red'
-        },
-        {
-          name: '重要',
-          color: 'blue'
-        },
-        {
-          name: '已催办',
-          color: 'red'
-        }
-      ],
-      detailsData: [],
-      tableData: [],
-      tableData1: [],
-      tableData2: []
-    }
-  },
-  created () {
-    this.getInfo()
-  },
-  methods: {
-    async getInfo () {
-      const res = await getPlanDetail({ id: this.$route.query.id })
-      if (res?.success) {
-        console.log(res)
-        this.infoData = res.data
-      }
-    },
-    selectActive (num) {
-      this.num = num
-    },
-    async _workOrderDetails () {
-      const res = await workOrderDetails()
-    },
-    // 时间差计算
-    difference (beginTime, endTime) {
-      var dateBegin = new Date(beginTime)
-      var dateEnd = new Date(endTime)
-      var dateDiff = dateEnd.getTime() - dateBegin.getTime() //时间差的毫秒数
-      var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000)) //计算出相差天数
-      var leave1 = dateDiff % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
-      var hours = Math.floor(leave1 / (3600 * 1000)) //计算出小时数
-      //计算相差分钟数
-      var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
-      var minutes = Math.floor(leave2 / (60 * 1000)) //计算相差分钟数
-      //计算相差秒数
-      var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
-      var seconds = Math.round(leave3 / 1000)
-
-      if (dayDiff == -1) {
-        dayDiff = 0
-        hours = 0
-        minutes = 0
-      }
-
-      return dayDiff + '天' + hours + '小时' + minutes + '分钟'
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-	.content-height{
-		background: #fff;
-	}
-.p20 {
-  padding: 20px;
-}
-.flex {
-  display: flex;
-}
-.title {
-  justify-content: space-between;
-  border-bottom: 1px solid #ccc;
-  padding-bottom: 5px;
-  span {
-    font-size: 16px;
-  }
-  .col {
-    padding-left: 40px;
-    font-size: 14px;
-    color: #aaaaaa;
-  }
-}
-.degree {
-  margin-right: 10px;
-  padding: 0px 15px;
-  color: #fff;
-  font-size: 13px;
-  line-height: 23px;
-  border-radius: 23px;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  span {
-    width: 5px;
-    height: 5px;
-    border-radius: 100%;
-    margin-right: 6px;
-    background-color: #fff;
-  }
-}
-.red {
-  background-color: rgb(163, 0, 20);
-}
-.blue {
-  background-color: #1989fa;
-}
-.createdInfo {
-  justify-content: space-around;
-  margin-top: 10px;
-  font-size: 14px;
-  .col {
-    color: #6e6e6e;
-    padding-right: 10px;
-  }
-}
-.mt40 {
-  margin-top: 40px;
-}
-
-.custSteps {
-  margin-top: 20px;
-  margin-left: 70px;
-
-  .box {
-    width: 158px;
-    border: 1px solid #ccc;
-    padding: 10px;
-    flex-direction: row;
-    flex-wrap: wrap;
-    // justify-content: space-between;
-    font-size: 12px;
-    color: #9e9e9e;
-    .x {
-      width: 20px;
-      height: 15px;
-      margin-right: 5px;
-    }
-    .q {
-      background-color: #d0e4d5;
-    }
-    .b {
-      background-color: #1989fa;
-    }
-    .g {
-      background-color: #157a2c;
-    }
-    .r {
-      background-color: #a30014;
-    }
-    .a {
-      align-items: center;
-      margin-bottom: 10px;
-    }
-    .mr10 {
-      margin-right: 10px;
-    }
-    .mb0 {
-      margin-bottom: 0;
-    }
-  }
-  .stepsInfo {
-    // flex: 1;
-    width: 483px;
-  }
-}
-.mt20 {
-  margin-top: 20px;
-}
-.content-detail {
-  overflow: hidden;
-}
-.executor {
-  font-size: 14px;
-  .col {
-    color: #6e6e6e;
-    padding-right: 10px;
-  }
-}
-.result {
-  justify-content: space-around;
-}
-.mr20 {
-  margin-right: 20px;
-}
-.details {
-  font-size: 14px;
-  margin-bottom: 10px;
-}
-
-.customSteps {
-  margin-top: 40px;
-  font-size: 14px;
-  margin-left: 80px;
-  .time {
-    font-size: 12px;
-    color: #6e6e6e;
-    margin-right: 20px;
-    position: relative;
-    .col {
-      color: #c1bdbd;
-      text-align: right;
-    }
-    &::after {
-      content: '';
-      width: 1px;
-      height: 100%;
-      background-color: #157a2c;
-      position: absolute;
-      right: -26px;
-    }
-  }
-  .flex:last-child {
-    .time {
-      &::after {
-        display: none;
-      }
-    }
-  }
-  .round {
-    margin-right: 20px;
-    width: 10px;
-    height: 10px;
-    border-radius: 100%;
-    background-color: #157a2c;
-    position: relative;
-    span {
-      position: absolute;
-      top: 50%;
-      left: 50%;
-      width: 4px;
-      height: 4px;
-      background-color: #fff;
-      border-radius: 100%;
-      transform: translate(-2px, -2px);
-    }
-  }
-  .text {
-    .info {
-      margin-top: 10px;
-      width: 955px;
-      background-color: #f0f3f3;
-      overflow: hidden;
-      padding: 10px;
-      margin-bottom: 10px;
-    }
-  }
-}
-.customInfo {
-  .time {
-    &::after {
-      top: 0;
-      right: -28px;
-    }
-  }
-}
-.tips {
-  font-size: 14px;
-  color: #6e6e6e;
-  margin-left: 52px;
-  .shape {
-    margin-left: 30px;
-    p {
-      margin-right: 10px;
-    }
-  }
-}
-.f {
-  width: 15px;
-  height: 15px;
-  background-color: #157a2c;
-  border-radius: 3px;
-}
-.j {
-  width: 0;
-  height: 0;
-  border-left: 8px solid transparent;
-  border-right: 8px solid transparent;
-  border-bottom: 15px solid #157a2c;
-}
-.y {
-  width: 15px;
-  height: 15px;
-  border-radius: 100%;
-  background-color: #157a2c;
-}
-</style>

+ 0 - 231
src/views/rulesManagement/planRules/MaintainConfig/index.vue

@@ -1,231 +0,0 @@
-<template>
-  <div class="ele-body">
-     <el-card shadow="never" v-loading="loading">
-	   <maintain-search @search="reload">
-	   </maintain-search>
-	   <!-- 数据表格 -->
-	   <ele-pro-table
-	     ref="table"
-	     :columns="columns"
-	     :datasource="datasource"
-	     cache-key="systemRoleTable"
-	   >
-	     <!-- 表头工具栏 -->
-	     <template v-slot:toolbar>
-	       <el-button
-	         size="small"
-	         type="primary"
-	         icon="el-icon-plus"
-	         class="ele-btn-icon"
-	         @click="openEdit()"
-	       >
-	         新建
-	       </el-button>
-	     </template>
-		 <template v-slot:code="{ row }">
-		   <el-link type="primary" :underline="false" @click="goDetail(row)">
-		     {{ row.code }}
-		   </el-link>
-		 </template>
-	     <!-- 操作列 -->
-	     <template v-slot:action="{ row }">
-	       <el-link
-	         type="primary"
-	         :underline="false"
-	         icon="el-icon-edit"
-	         @click="openEdit(row)"
-	       >
-	         修改
-	       </el-link>
-	       <el-popconfirm
-	         class="ele-action"
-	         title="确定要删除此保养配置吗?"
-	         @confirm="remove(row)"
-	       >
-	         <template v-slot:reference>
-	           <el-link type="danger" :underline="false" icon="el-icon-delete">
-	             删除
-	           </el-link>
-	         </template>
-	       </el-popconfirm>
-	     </template>
-	   </ele-pro-table>
-     </el-card>
-	 
-	 <!-- 新建或编辑弹窗 -->
-    <AddPatrolConfigDialog
-      ref="addPatrolConfigDialogRef"
-      :dialogTitle="dialogTitle"
-      :isBindPlan="isBindPlan"
-	  @done="reload"
-    />
-  </div>
-</template>
-
-<script>
-  import AddPatrolConfigDialog from '@/components/addPatrolConfigDialog'
-  import MaintainSearch from './components/maintain-search.vue';
-  import { planConfigPage , removeRule } from '@/api/ruleManagement/plan';
-  import dictMixins from '@/mixins/dictMixins'; 
-  export default {
-	mixins: [dictMixins],
-    components: {
-        MaintainSearch,
-	    AddPatrolConfigDialog
-    },
-    data () {
-      return {
-		// 表格列配置
-		columns: [
-		  {
-		    columnKey: 'index',
-		    label: '序号',
-		    type: 'index',
-		    width: 55,
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    fixed: 'left'
-		  },
-		  {
-		    prop: 'code',
-		    label: '计划配置单号',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110,
-		  			slot:'code'
-		  },
-		  {
-		    prop: 'name',
-		    label: '计划配置名称',
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'groupName',
-		    label: '执行部门',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'categoryName',
-		    label: '设备分类',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'ruleName',
-		    label: '规则名称',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-			{
-			  prop: 'autoOrder',
-			  label: '自动派单',
-			  align: 'center',	
-			  showOverflowTooltip: true,
-			  minWidth: 110,
-			  formatter: (_row, _column, cellValue) => {
-				let autoOrder = _row.autoOrder==1?'是':(_row.autoOrder==0?'否':'-')
-			    return autoOrder
-			  }
-			},
-			{
-			  prop: 'status',
-			  label: '状态',
-			  align: 'center',	
-			  showOverflowTooltip: true,
-			  minWidth: 110,
-			  formatter: (_row, _column, cellValue) => {
-			    return this.getDictValue('规则状态',  _row.status)
-			  }
-			},
-		  {
-		    prop: 'createUserName',
-		    label: '创建人',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'createTime',
-		    label: '创建时间',
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    minWidth: 110,
-		    formatter: (_row, _column, cellValue) => {
-		      return this.$util.toDateString(cellValue);
-		    }
-		  },
-		  {
-		    columnKey: 'action',
-		    label: '操作',
-		    width: 150,
-		    align: 'center',
-		    resizable: false,
-		    slot: 'action',
-		    showOverflowTooltip: true
-		  }
-		],
-        // 加载状态
-        loading: false,
-        pageType: 'add',
-        dialogTitle: '',
-		isBindPlan:false,
-      };
-    },
-    computed: {
-
-    },
-	created () {
-	  this.requestDict('规则状态');
-	},
-    methods: {
-      /* 表格数据源 */
-      datasource({ page, limit, where, order }) {
-        return planConfigPage({ pageNum: page, size: limit, ...where , ruleType:2});
-      },
-
-      /* 刷新表格 */
-      reload(where) {
-        this.$refs.table.reload({ page: 1, where , ruleType:2});
-      },
-	  
-	  openEdit(row){
-		  this.isBindPlan = false
-		  // this.$refs.addPatrolConfigDialogRef.$refs.addFormRef && this.$refs.addPatrolConfigDialogRef.$refs.addFormRef.clearValidate()
-			this.$refs.addPatrolConfigDialogRef.addPatrolConfigDialog = true
-			if(row){
-				this.dialogTitle = '编辑保养计划配置'
-			}else{
-				this.dialogTitle = '新增保养计划配置'
-			}
-			this.$refs.addPatrolConfigDialogRef.init(row,'保养')
-	  },
-	  
-	  goDetail({id}){
-		  this.$router.push({
-		    path: '/rulesManagement/planRules/MaintainConfig/detail',
-		    query: {
-		      id
-		    }
-		  })
-	  },
-	  
-	  remove(row){
-	    removeRule([row.id]).then(res=>{
-	  	  this.$message.success('删除成功!')
-	  	  this.reload()
-	    })
-	  },
-	  
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-
-</style>

+ 0 - 230
src/views/rulesManagement/planRules/PatrolConfig/index.vue

@@ -1,230 +0,0 @@
-<template>
-  <div class="ele-body">
-     <el-card shadow="never" v-loading="loading">
-	   <patrol-search @search="reload">
-	   </patrol-search>
-	   <!-- 数据表格 -->
-	   <ele-pro-table
-	     ref="table"
-	     :columns="columns"
-	     :datasource="datasource"
-	     cache-key="systemRoleTable"
-	   >
-	     <!-- 表头工具栏 -->
-	     <template v-slot:toolbar>
-	       <el-button
-	         size="small"
-	         type="primary"
-	         icon="el-icon-plus"
-	         class="ele-btn-icon"
-	         @click="openEdit()"
-	       >
-	         新建
-	       </el-button>
-	     </template>
-		 <template v-slot:code="{ row }">
-		   <el-link type="primary" :underline="false" @click="goDetail(row)">
-		     {{ row.code }}
-		   </el-link>
-		 </template>
-	     <!-- 操作列 -->
-	     <template v-slot:action="{ row }">
-	       <el-link
-	         type="primary"
-	         :underline="false"
-	         icon="el-icon-edit"
-	         @click="openEdit(row)"
-	       >
-	         修改
-	       </el-link>
-	       <el-popconfirm
-	         class="ele-action"
-	         title="确定要删除此巡检点配置吗?"
-	         @confirm="remove(row)"
-	       >
-	         <template v-slot:reference>
-	           <el-link type="danger" :underline="false" icon="el-icon-delete">
-	             删除
-	           </el-link>
-	         </template>
-	       </el-popconfirm>
-	     </template>
-	   </ele-pro-table>
-     </el-card>
-	 
-	 <!-- 新建或编辑弹窗 -->
-    <AddPatrolConfigDialog
-      ref="addPatrolConfigDialogRef"
-      :dialogTitle="dialogTitle"
-      :isBindPlan="isBindPlan"
-	    @done="reload"
-    />
-  </div>
-</template>
-
-<script>
-  import AddPatrolConfigDialog from '@/components/addPatrolConfigDialog'
-  import PatrolSearch from './components/patrol-search.vue';
-  import { planConfigPage , removeRule } from '@/api/ruleManagement/plan'; 
-  import dictMixins from '@/mixins/dictMixins';
-  export default {
-	mixins: [dictMixins],
-    components: {
-      PatrolSearch,
-      AddPatrolConfigDialog
-    },
-    data () {
-      return {
-		// 表格列配置
-		columns: [
-		  {
-		    columnKey: 'index',
-		    label: '序号',
-		    type: 'index',
-		    width: 55,
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    fixed: 'left'
-		  },
-		  {
-		    prop: 'code',
-		    label: '计划配置单号',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110,
-			slot:'code'
-		  },
-		  {
-		    prop: 'name',
-		    label: '计划配置名称',
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'groupName',
-		    label: '巡点检部门',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'categoryName',
-		    label: '设备分类',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'ruleName',
-		    label: '规则名称',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-			{
-			  prop: 'autoOrder',
-			  label: '自动派单',
-			  align: 'center',	
-			  showOverflowTooltip: true,
-			  minWidth: 110,
-			  formatter: (_row, _column, cellValue) => {
-				let autoOrder = _row.autoOrder==1?'是':(_row.autoOrder==0?'否':'-')
-			    return autoOrder
-			  }
-			},
-			{
-			  prop: 'status',
-			  label: '状态',
-			  align: 'center',	
-			  showOverflowTooltip: true,
-			  minWidth: 110,
-			  formatter: (_row, _column, cellValue) => {
-			    return this.getDictValue('规则状态',  _row.status)
-			  }
-			},
-		  {
-		    prop: 'createUserName',
-		    label: '创建人',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'createTime',
-		    label: '创建时间',
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    minWidth: 110,
-		    formatter: (_row, _column, cellValue) => {
-		      return this.$util.toDateString(cellValue);
-		    }
-		  },
-		  {
-		    columnKey: 'action',
-		    label: '操作',
-		    width: 150,
-		    align: 'center',
-		    resizable: false,
-		    slot: 'action',
-		    showOverflowTooltip: true
-		  }
-		],
-        // 加载状态
-        loading: false,
-        pageType: 'add',
-        dialogTitle: '',
-		isBindPlan:false,
-      };
-    },
-    computed: {
-
-    },
-	created () {
-	  this.requestDict('规则状态');
-	},
-    methods: {
-      /* 表格数据源 */
-      datasource({ page, limit, where, order }) {
-        return planConfigPage({ pageNum: page, size: limit, ...where , ruleType:1 });
-      },
-
-      /* 刷新表格 */
-      reload(where) {
-        this.$refs.table.reload({ page: 1, where , ruleType:1 });
-      },
-	  
-	  openEdit(row){
-		  this.isBindPlan = false
-		  this.$refs.addPatrolConfigDialogRef.addPatrolConfigDialog = true
-			if(row){
-				this.dialogTitle = '编辑巡点检计划配置'
-			}else{
-				this.dialogTitle = '新增巡点检计划配置'
-			}
-			this.$refs.addPatrolConfigDialogRef.init(row,'巡点检') 
-	  },
-	  
-	  remove(row){
-		  removeRule([row.id]).then(res=>{
-			  this.$message.success('删除成功!')
-			  this.reload()
-		  })
-	  },
-	  
-	  goDetail({id}){
-		  this.$router.push({
-		    path: '/rulesManagement/planRules/PatrolConfig/detail',
-		    query: {
-		      id
-		    }
-		  })
-	  }
-	  
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-
-</style>

+ 1 - 1
vue.config.js

@@ -32,7 +32,7 @@ module.exports = {
       // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
       '/api': {
         // target: 'http://192.168.3.51:86', // 测试
-
+        // target: 'http://192.168.3.34:8080', // 刘毅
         // target: 'http://192.168.3.35:8080', // kang杨威
         // target: 'http://192.168.3.25:8080', // 黄峥嵘
         // target: 'http://192.168.3.41:8080', // 何江鹏

Некоторые файлы не были показаны из-за большого количества измененных файлов