Răsfoiți Sursa

事项规则提交

LAPTOP-16IUEB3P\Lenovo 3 ani în urmă
părinte
comite
5fe8548b68

+ 54 - 0
src/api/ruleManagement/matter.js

@@ -0,0 +1,54 @@
+import request from '@/utils/request';
+
+// 更新或保存
+export async function saveOrUpdate (data) {
+  const res = await request.post('/main/ruleinfo/saveOrEdit', data);
+  if (res.data.code == 0) {
+    return res.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 生成编码
+export async function getCode (code) {
+  const res = await request.get(`/main/codemanage/getCode/` + code, {});
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 获取规则列表页
+export async function getList (data) {
+	let par = new URLSearchParams(data);
+  const res = await request.get(`/main/ruleinfo/page?` + par, {});
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 获取规则详情
+export async function getDetail (id) {
+  const res = await request.get(`/main/ruleinfo/getById/` + id, {});
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+
+/**
+ * 删除事项
+ */
+export async function removeRule(data) {
+  const res = await request.delete('/main/ruleinfo/delete', { data } );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+
+
+

+ 2 - 1
src/enum/dict.js

@@ -10,5 +10,6 @@ export default {
   金额单位: 'money_unit',
   时间单位: 'time_unit',
   规则类型: 'rule_type',
-  规则状态: 'rule_status'
+  规则状态: 'rule_status',
+  规则周期: 'rule_cycle'
 };

+ 1 - 1
src/store/getters.js

@@ -14,7 +14,7 @@ export default {
   // 根据字典enumName  和 dictCode 获取字典 值(名称
   getDictValue: (state) => (enumName, dictCode) => {
     const obj = (state.dict[dictEnum[enumName]] || []).find((item) => {
-      return item.dictCode === dictCode;
+      return item.dictCode == dictCode;
     });
 
     return obj && obj.dictValue;

+ 91 - 126
src/views/rulesManagement/matterRules/components/matter-add.vue

@@ -11,12 +11,21 @@
       :model="formData"
       v-loading="dialogLoading"
       ref="contentConfigForm"
-      label-width="110px"
+      label-width="100px"
       :show-message="false"
       :rules="contentConfigFormRules"
     >
       <el-row>
-        <el-col :span="8">
+		<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"
@@ -26,33 +35,20 @@
             ></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="8">
+        <el-col :span="6">
           <el-form-item label="规则类型" prop="ruleType">
-            <el-select
-              v-model="formData.ruleType"
-              size="small"
-              style="width: 100%"
-              :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in ruleTypeList"
-                :key="item.code"
-                :value="item.code"
-                :label="item.label"
-              ></el-option>
-            </el-select>
+			  <DictSelection dictName="规则类型" clearable v-model="formData.ruleType">
+			  </DictSelection>
           </el-form-item>
         </el-col>
-        <el-col :span="4">
-          <el-form-item label="状态" prop="status">
+        <el-col :span="5">
+          <el-form-item label="状态" prop="status" label-width="70px">
             <el-switch
               v-model="formData.status"
-              active-color="#157a2c"
-              inactive-color="#999"
-              active-text="开"
-              inactive-text="关"
-              :active-value="true"
-              :inactive-value="false"
+              active-text="生效"
+              inactive-text="失效"
+              :active-value="1"
+              :inactive-value="0"
             >
             </el-switch>
           </el-form-item>
@@ -71,8 +67,8 @@
 
       <el-table
         ref="multipleTable"
-        v-if="formData.ruleType !== 'INVENTORY'"
-        :data="formData.ruleDetailList"
+        v-if="formData.ruleType !== 4"
+        :data="formData.ruleItems"
         tooltip-effect="dark"
         style="width: 95%; margin: auto"
         border
@@ -88,7 +84,7 @@
         <el-table-column prop="name" label="事项">
           <template slot-scope="scope">
             <el-form-item
-              :prop="'ruleDetailList.' + scope.$index + '.name'"
+              :prop="'ruleItems.' + scope.$index + '.name'"
               label-width="0"
               :rules="contentConfigFormRules.name"
             >
@@ -106,7 +102,7 @@
         <el-table-column prop="content" label="内容">
           <template slot-scope="scope">
             <el-form-item
-              :prop="'ruleDetailList.' + scope.$index + '.content'"
+              :prop="'ruleItems.' + scope.$index + '.content'"
               label-width="0"
               :rules="contentConfigFormRules.content"
             >
@@ -125,7 +121,7 @@
         <el-table-column prop="norm" label="标准">
           <template slot-scope="scope">
             <el-form-item
-              :prop="'ruleDetailList.' + scope.$index + '.norm'"
+              :prop="'ruleItems.' + scope.$index + '.norm'"
               label-width="0"
               :rules="contentConfigFormRules.norm"
             >
@@ -161,6 +157,7 @@
 <script>
 import RuleCycle from './rule-cycle'
 import { deepClone } from '@/utils/index'
+import { saveOrUpdate , getCode , getDetail  } from '@/api/ruleManagement/matter'
 
 export default {
   components: {  RuleCycle },
@@ -187,63 +184,7 @@ export default {
     }
   },
   watch: {
-    infoData (val) {
-      if (val && val.ruleType && this.addMatterDialog) {
-        // 编辑
-        this.formData = val
-        this.formData.ruleType = this.ruleTypeObj[val.ruleType.code]
-        if(this.pageType=='clone'){
-           this.isBindPlan = false
-           // this.$set(this.formData,'code',getRuleNo())
-           delete this.formData.id
-           delete this.formData.createUserId
-           delete this.formData.createTime
-           delete this.formData.createUserName
-           delete this.formData.isBindPlan
-           delete this.formData.isDelete
-           delete this.formData.updateTime
-           this.formData.ruleDetailList.map(item=>{
-               delete item.id
-               delete item.createTime
-               delete item.isDelete
-               delete item.updateTime
-               delete item.ruleId
-           })
-           this.formData.ruleCycleList.map(item=>{
-               delete item.id
-               delete item.createTime
-               delete item.isDelete
-               delete item.updateTime
-               delete item.ruleId
-           })
-        }else{
-          this.isBindPlan = val.isBindPlan
-        }
-      } else {
-        console.log('新增')
-        //  新增
-        this.isBindPlan = false
-        this.$refs.contentConfigForm.resetFields()
-        this.formData = {
-          // code: getRuleNo(),
-          name: '',
-          ruleType: 'PATROL',
-          status: true,
-          cycleValue: undefined,
-          cycleType: 1,
-          contentImage: [],
-          ruleCycleList: [], // 规则周期日期值
-          ruleDetailList: [
-            {
-              name: '', // 巡点检事项
-              content: '', // 巡点检内容
-              norm: '', // 巡点检标准
-              // readonly: false
-            }
-          ]
-        }
-      }
-    }
+
   },
   data () {
     return {
@@ -252,13 +193,13 @@ export default {
       uploadList: [],
       formData: {
         name: '',
-        ruleType: 'PATROL',
-        status: true,
+        ruleType: '1',
+        status: 1,
         cycleValue: undefined,
         cycleType: 1,
-        contentImage: [],
+        contentImage: {},
         ruleCycleList: [], // 规则周期日期值
-        ruleDetailList: [
+        ruleItems: [
           {
             name: '', // 巡点检事项
             content: '', // 巡点检内容
@@ -275,9 +216,9 @@ export default {
         cycleValue: [
           { required: true, message: '请输入巡点检周期', trigger: 'blur' }
         ],
-        contentImage: [
-          { required: false, message: '请上传图片', trigger: 'blur' }
-        ],
+        // contentImage: [
+        //   { required: false, message: '请上传图片', trigger: 'blur' }
+        // ],
         status: [{ required: true }],
         name: [
           { required: true, message: '请输入巡点检事项', trigger: 'blur' }
@@ -287,34 +228,58 @@ export default {
         ],
         norm: [{ required: true, message: '请输入巡点检标准', trigger: 'blur' }]
       },
-      ruleTypeObj: {
-        1: 'PATROL',
-        2: 'MAINTAIN',
-        4: 'INVENTORY'
-      },
-      ruleTypeList: [
-        { code: 'PATROL', label: '巡点检规则' },
-        { code: 'MAINTAIN', label: '保养规则' },
-        { code: 'INVENTORY', label: '盘点规则' }
-      ],
+      // ruleTypeObj: {
+      //   1: 'PATROL',
+      //   2: 'MAINTAIN',
+      //   4: 'INVENTORY'
+      // },
+      // ruleTypeList: [
+      //   { code: 'PATROL', label: '巡点检规则' },
+      //   { code: 'MAINTAIN', label: '保养规则' },
+      //   { code: 'INVENTORY', label: '盘点规则' }
+      // ],
       isBindPlan:false
     }
   },
   methods: {
+	openDialog(row,type){
+		this.addMatterDialog = true
+		if(type !='add'){
+			this.getRuleInfo(row.id,type)
+		}
+		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.ruleDetailList) {
-        this.formData.ruleDetailList.push({
+      if (this.formData.ruleItems) {
+        this.formData.ruleItems.push({
           name: '', // 巡点检事项
           content: '', // 巡点检内容
           norm: '', // 巡点检标准
           readonly: false
         })
       } else {
-        this.formData.ruleDetailList = [
+        this.formData.ruleItems = [
           {
             name: '', // 巡点检事项
             content: '', // 巡点检内容
@@ -333,7 +298,7 @@ export default {
         flag = name && content && norm
         this.$refs.contentConfigForm.validate(valid => {
           if (valid || flag) {
-            this.$set(this.formData.ruleDetailList[index], 'readonly', true)
+            this.$set(this.formData.ruleItems[index], 'readonly', true)
           }
         })
       })
@@ -342,7 +307,7 @@ export default {
       if (data && data[0]?.accessUrl) {
         this.formData.contentImage = data
       } else {
-        this.formData.contentImage = []
+        this.formData.contentImage = {}
       }
       this.$nextTick(() => {
         this.$refs.contentConfigForm.validateField('contentImage')
@@ -351,45 +316,45 @@ export default {
     },
     editItem (index) {
       this.$nextTick(() => {
-        this.$set(this.formData.ruleDetailList[index], 'readonly', false)
+        this.$set(this.formData.ruleItems[index], 'readonly', false)
       })
     },
     delItem (index) {
-      this.formData.ruleDetailList.splice(index, 1)
+      this.formData.ruleItems.splice(index, 1)
     },
 
     // 保存
     dataKeep () {
       let form = deepClone(this.formData)
-      form.ruleCycleList = this.$refs.cycleMultipleRef.ruleCycleList
+      form.cycle = this.$refs.cycleMultipleRef.ruleCycleList
       switch(form.cycleType){
           case 1:
-              if(form.ruleCycleList[0].minute===''){
+              if(form.cycle[0].minute===''){
                  this.$message.warning('周期信息需补充完整!')
                  return;
               }
               break;
           case 2:
-              if(form.ruleCycleList[0].hour===''||form.ruleCycleList[0].minute===''){
+              if(form.cycle[0].hour===''||form.cycle[0].minute===''){
                  this.$message.warning('周期信息需补充完整!')
                  return;
               }
               break;
           case 4:
-              if(form.ruleCycleList[0].day===''||form.ruleCycleList[0].hour===''||form.ruleCycleList[0].minute===''){
+              if(form.cycle[0].day===''||form.cycle[0].hour===''||form.cycle[0].minute===''){
                  this.$message.warning('周期信息需补充完整!')
                  return;
               }
               break;
           case 5:
-              if(form.ruleCycleList[0].month===''||form.ruleCycleList[0].day===''||form.ruleCycleList[0].hour===''||form.ruleCycleList[0].minute===''){
+              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.ruleCycleList.map((item,index)=>{
+              form.cycle.map((item,index)=>{
                   if(item.hour===''||item.minute===''){
                      flg = true
                   }
@@ -401,7 +366,7 @@ export default {
               break;
           case 13:
                let flag = false
-              form.ruleCycleList.map((item,index)=>{
+              form.cycle.map((item,index)=>{
                   if(item.day===''||item.hour===''){
                      flag = true
                   }
@@ -413,7 +378,7 @@ export default {
               break;
           case 14:
                let fla = false
-              form.ruleCycleList.map((item,index)=>{
+              form.cycle.map((item,index)=>{
                   if(item.month===''||item.day===''||item.hour===''){
                      fla = true
                   }
@@ -428,16 +393,16 @@ export default {
         if (valid) {
           // let form = deepClone(this.formData)
           // form.ruleCycleList = this.$refs.cycleMultipleRef.ruleCycleList
-          form.ruleDetailList.forEach(item => {
-            if (item.ruleType) {
-              item.ruleType = this.ruleTypeObj[item.ruleType.code]
-            }
-          })
-          let res = await patrol.saveOrUpdateNew(form)
-          if (res.success) {
+          // 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('handleList')
+            this.$emit('done')
           }
         } else {
           this.$message.warning('请将信息补充完整!')

+ 20 - 12
src/views/rulesManagement/matterRules/components/matter-search.vue

@@ -9,27 +9,27 @@
     <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.code" placeholder="请输入" />
+          <el-input clearable v-model="where.name" placeholder="请输入" />
         </el-form-item>
 		<el-form-item label="规则状态:">
-		  <DictSelection dictName="规则状态" clearable v-model="where.staus">
+		  <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.name" placeholder="请输入" />
+          <el-input clearable v-model="where.code" placeholder="请输入" />
         </el-form-item>
         <el-form-item label="创建时间:">
             <el-date-picker
-                v-model="where.time"
+                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']"
-        	>
+				value-format="yyyy-MM-dd HH:mm:ss"
+				:default-time="['00:00:00', '23:59:59']"
+        	  >
             </el-date-picker>
         </el-form-item>
       </el-col>
@@ -41,7 +41,7 @@
       </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-input clearable v-model="where.userName" placeholder="请输入" />
         </el-form-item>
 		<div class="ele-form-actions">
 		  <el-button
@@ -72,13 +72,17 @@
       const defaultWhere = {
         name: '',
         code: '',
-        fixCode:'',
-        ownershipGroupId:''
+        userName:'',
+        type:'',
+		status:'',
+		startTime:'',
+		endTime:''
       };
       return {
         // 表单数据
         where: { ...defaultWhere },
-        treeData:[]
+        treeData:[],
+		time:[]
       };
     },
     computed: {
@@ -92,11 +96,15 @@
     methods: {
       /* 搜索 */
       search() {
-        console.log(this.where);
+		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();
       }

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

@@ -338,7 +338,7 @@ export default {
   },
   watch: {
     formData (val) {
-      this.ruleCycleList = val.ruleCycleList
+      this.ruleCycleList = val.cycle
     }
   },
   methods: {

+ 13 - 18
src/views/rulesManagement/matterRules/details.vue

@@ -20,10 +20,8 @@
             <el-col :span="6">
               <el-form-item label="规则类型">
                 <span>
-                  {{
-                    infoData.ruleType ? ruleTypeObj[infoData.ruleType.code] : ''
-                  }}</span
-                >
+                  {{ getDictValue('规则类型',  infoData.ruleType) }}
+				  </span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -46,7 +44,7 @@
             </el-col>
             <el-col :span="24">
               <el-form-item label="巡点检周期">
-                <!-- <cycleMultiple :formData="infoData" /> -->
+                <rule-cycle :formData="infoData" />
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -86,13 +84,12 @@
   </div>
 </template>
 <script>
-// import selectUpload from '@/components/selectUpload'
-// import selectTree from '@/components/selectTree'
-// import contentConfig from '@/api/maintenance/patrol/ruleConfig'
-// import cycleMultiple from '@/components/ruleCycleMultiple'
-
+  import dictMixins from '@/mixins/dictMixins';
+  import RuleCycle from './components/rule-cycle'
+  import {  getDetail  } from '@/api/ruleManagement/matter'
 export default {
-  // components: { selectUpload, selectTree, cycleMultiple },
+  mixins: [dictMixins],
+  components: { RuleCycle },
   data () {
     return {
       num: 1,
@@ -109,7 +106,8 @@ export default {
     }
   },
   async created () {
-    // this.getInfo()
+    this.getInfo()
+	 this.requestDict('规则类型');
   },
   methods: {
     delete () {},
@@ -120,12 +118,9 @@ export default {
 
     // 表格数据
     async getInfo () {
-      let res = await contentConfig.getInfoNew(this.$route.query.id)
-      if (res.success) {
-        this.tableData = res.data.ruleDetailList
-        this.infoData = res.data
-        console.log(this.infoData)
-      }
+      const data = await getDetail(this.$route.query.id)
+        this.tableData = data.ruleItems
+        this.infoData = data
     }
   }
 }

+ 114 - 116
src/views/rulesManagement/matterRules/index.vue

@@ -17,37 +17,24 @@
 	         type="primary"
 	         icon="el-icon-plus"
 	         class="ele-btn-icon"
-	         @click="openEdit()"
+	         @click="openEdit('add')"
 	       >
 	         新建
 	       </el-button>
-<!-- 		   <el-button
-		     size="small"
-		     type="primary"
-		     class="ele-btn-icon"
-		     @click="goDetail()"
-		   >
-		     详情
-		   </el-button> -->
 	     </template>
-<!-- 	     <template v-slot:enable="{ row }">
-	       <el-switch
-	         v-model="row.enable"
-	         active-color="#13ce66"
-	         inactive-color="#ff4949"
-	         :active-value="1"
-	         :inactive-value="0"
-	         @change="changeEnable(row)"
-	       >
-	       </el-switch>
-	     </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="openAuth(row)"
+		     @click="openEdit('clone',row)"
 		   >
 		     克隆
 		   </el-link>
@@ -55,7 +42,7 @@
 	         type="primary"
 	         :underline="false"
 	         icon="el-icon-edit"
-	         @click="openEdit(row)"
+	         @click="openEdit('edit',row)"
 	       >
 	         修改
 	       </el-link>
@@ -88,8 +75,10 @@
 
   import MatterSearch from './components/matter-search.vue';
   import MatterAdd from './components/matter-add.vue';
-  import { pageRoles } from '@/api/system/role'; 
+  import { getList , getDetail , removeRule } from '@/api/ruleManagement/matter';
+  import dictMixins from '@/mixins/dictMixins';
   export default {
+	mixins: [dictMixins],
     components: {
       MatterSearch,
 	  MatterAdd
@@ -98,77 +87,87 @@
       return {
 		// 表格列配置
 		columns: [
-		  {
-		    columnKey: 'index',
-		    label: '序号',
-		    type: 'index',
-		    width: 55,
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    fixed: 'left'
-		  },
-		  {
-		    prop: 'code',
-		    label: '规则编码',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'groupId',
-		    label: '状态',
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'enable',
-		    label: '规则类型',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    slot: 'enable',
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'name',
-		    label: '规则名称',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'cycle',
-		    label: '周期',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'creater',
-		    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
-		  }
+			{
+				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,
@@ -179,42 +178,41 @@
     computed: {
 
     },
+	created () {
+	  this.requestDict('规则周期');
+	  this.requestDict('规则类型');
+	  this.requestDict('规则状态');
+	},
     methods: {
       /* 表格数据源 */
       datasource({ page, limit, where, order }) {
-        return pageRoles({ pageNum: page, size: limit, ...where });
-      },
-      async changeEnable(row) {
-        const res = await putRoles(row);
-        if (res.code == 0) {
-          this.$message({
-            type: 'success',
-            message: '修改成功',
-            customClass: 'ele-message-border'
-          });
-          this.reload();
-        }
+        return getList({ pageNum: page, size: limit, ...where });
       },
       /* 刷新表格 */
       reload(where) {
         this.$refs.table.reload({ page: 1, where });
       },
 	  
-	  openEdit(row){
-		  this.pageType = 'add'
-		  this.dialogTitle = '新建规则'
-		  this.$refs.addMatterRulesRef.addMatterDialog = true
+	  remove(row){
+		  removeRule([row.id]).then(res=>{
+			  this.$message.success('删除成功!')
+			  this.reload()
+		  })
 	  },
 	  
-	  goDetail(){
+	  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
-		    // }
+		    query: {id}
 		  })
-	  }
-	  
+	  },
+
     }
   };
 </script>

+ 1 - 1
src/views/rulesManagement/planRules/InventoryConfig/components/inventory-search.vue

@@ -12,7 +12,7 @@
           <el-input clearable v-model="where.code" placeholder="请输入" />
         </el-form-item>
 		<el-form-item label="资产分类:">
-			<DictSelection dictName="规则状态" clearable v-model="where.staus">
+			<DictSelection dictName="类型用途" clearable v-model="where.staus">
 			</DictSelection>
 		</el-form-item>
       </el-col>