瀏覽代碼

选择记录规则功能优化

lucw 8 月之前
父節點
當前提交
4542250e95

+ 11 - 0
src/api/producetaskrecordrules/index.js

@@ -21,3 +21,14 @@ export async function produceTaskRecordRulesBatchSave(data) {
   }
   }
   return Promise.reject(new Error(res.data.message));
   return Promise.reject(new Error(res.data.message));
 }
 }
+
+// /main/producetaskconfig/getById/{id}
+export async function produceTaskRecordRulesGetById(id) {
+  const res = await request.get(
+    `/main/producetaskconfig/getById/${id}`
+  );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 13 - 0
src/api/recordrules/index.js

@@ -9,6 +9,19 @@ export async function recordrulesPage(body) {
   return Promise.reject(new Error(res.data.message));
   return Promise.reject(new Error(res.data.message));
 }
 }
 
 
+// 规则记录分页查询 过程监测 /main/recordrules/notProduceTaskConfigRecordRulesPage
+export async function recordrulesNotProduceTaskConfigRecordRulesPage(body) {
+  const res = await request.post(
+    `/main/recordrules/notProduceTaskConfigRecordRulesPage`,
+    body
+  );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+
 // 规则记录批量删除
 // 规则记录批量删除
 export async function recordrulesDeletes(ids) {
 export async function recordrulesDeletes(ids) {
   const res = await request.delete(`/main/recordrules/delete`, { data: ids });
   const res = await request.delete(`/main/recordrules/delete`, { data: ids });

+ 35 - 3
src/components/selectReleaseRules/select-release-rules.vue

@@ -29,13 +29,28 @@
 
 
 <script>
 <script>
   import search from './search.vue';
   import search from './search.vue';
-  import { recordrulesPage } from '@/api/recordrules/index';
+  import {
+    recordrulesPage,
+    recordrulesNotProduceTaskConfigRecordRulesPage
+  } from '@/api/recordrules/index';
   import tabMixins from '@/mixins/tableColumnsMixin';
   import tabMixins from '@/mixins/tableColumnsMixin';
   import dictMixins from '@/mixins/dictMixins';
   import dictMixins from '@/mixins/dictMixins';
 
 
   export default {
   export default {
     components: { search },
     components: { search },
     mixins: [tabMixins, dictMixins],
     mixins: [tabMixins, dictMixins],
+    props: {
+      // NotProduceTaskConfig bool 是否排除已配置的记录规则 过程监测传true
+      notProduceTaskConfig: {
+        type: Boolean,
+        default: false
+      },
+      // 是否多选
+      multiple: {
+        type: Boolean,
+        default: false
+      }
+    },
     computed: {
     computed: {
       columns() {
       columns() {
         return [
         return [
@@ -189,7 +204,11 @@
       },
       },
       /* 表格数据源 */
       /* 表格数据源 */
       datasource({ page, limit, where }) {
       datasource({ page, limit, where }) {
-        return recordrulesPage({
+        const API = this.notProduceTaskConfig
+          ? recordrulesNotProduceTaskConfigRecordRulesPage
+          : recordrulesPage;
+
+        return API({
           pageNum: page,
           pageNum: page,
           size: limit,
           size: limit,
           // 已发布
           // 已发布
@@ -210,7 +229,20 @@
         });
         });
       },
       },
       confirmSelection() {
       confirmSelection() {
-        this.$emit('chooseRules', this.selection);
+        if (this.selection.length === 0) {
+          this.$message.warning('请先选择记录规则');
+          return;
+        }
+
+        if (!this.multiple && this.selection.length > 1) {
+          this.$message.warning('只能选择一条记录规则');
+          return;
+        }
+
+        this.$emit(
+          'chooseRules',
+          this.multiple ? this.selection : this.selection[0]
+        );
         this.visible = false;
         this.visible = false;
       }
       }
     }
     }

+ 10 - 2
src/views/technology/production/components/user-setting-matter-add.vue

@@ -142,6 +142,7 @@
     <selectReleaseRules
     <selectReleaseRules
       ref="selectReleaseRulesRef"
       ref="selectReleaseRulesRef"
       @chooseRules="chooseReleaseRules"
       @chooseRules="chooseReleaseRules"
+      :notProduceTaskConfig="notProduceTaskConfig"
     ></selectReleaseRules>
     ></selectReleaseRules>
   </ele-modal>
   </ele-modal>
 </template>
 </template>
@@ -159,6 +160,13 @@
     name: 'UserSettingMatter',
     name: 'UserSettingMatter',
     mixins: [dictMixins, tableColumnsMixin],
     mixins: [dictMixins, tableColumnsMixin],
     emits: ['addMatter', 'editMatter'],
     emits: ['addMatter', 'editMatter'],
+    props: {
+      // 记录规则 NotProduceTaskConfig bool 是否排除已配置的记录规则 过程监测传true
+      notProduceTaskConfig: {
+        type: Boolean,
+        default: false
+      }
+    },
     components: {
     components: {
       MaterialAdd,
       MaterialAdd,
       selectMatterRules,
       selectMatterRules,
@@ -309,8 +317,8 @@
       // 选择记录规则
       // 选择记录规则
       chooseReleaseRules(rules) {
       chooseReleaseRules(rules) {
         console.log('rules', rules);
         console.log('rules', rules);
-        this.formData.rulesId = rules[0]?.id || null;
-        this.formData.rulesName = rules[0]?.name || '';
+        this.formData.rulesId = rules.id || null;
+        this.formData.rulesName = rules.name || '';
         if (this.rules && this.rules.length > 1) {
         if (this.rules && this.rules.length > 1) {
           // 提示用户选择的规则有多个事项规则
           // 提示用户选择的规则有多个事项规则
           this.$message.warning('所选记录规则包含多个事项规则,请注意选择');
           this.$message.warning('所选记录规则包含多个事项规则,请注意选择');

+ 11 - 4
src/views/technology/production/components/user-setting-matter-process.vue

@@ -75,6 +75,7 @@
       ref="userSettingMatterAddRef"
       ref="userSettingMatterAddRef"
       @addMatter="addMatter"
       @addMatter="addMatter"
       @editMatter="editMatter"
       @editMatter="editMatter"
+      notProduceTaskConfig
     />
     />
   </ele-modal>
   </ele-modal>
 </template>
 </template>
@@ -82,13 +83,13 @@
 <script>
 <script>
   import {
   import {
     produceTaskRecordRules,
     produceTaskRecordRules,
-    produceTaskRecordRulesBatchSave
+    produceTaskRecordRulesBatchSave,
+    produceTaskRecordRulesGetById
   } from '@/api/producetaskrecordrules';
   } from '@/api/producetaskrecordrules';
   import tableColumnsMixin from '@/mixins/tableColumnsMixin';
   import tableColumnsMixin from '@/mixins/tableColumnsMixin';
   import dictMixins from '@/mixins/dictMixins';
   import dictMixins from '@/mixins/dictMixins';
   import userSettingMatterAdd from './user-setting-matter-add.vue';
   import userSettingMatterAdd from './user-setting-matter-add.vue';
   import { mapGetters } from 'vuex';
   import { mapGetters } from 'vuex';
-  import { addMaterial } from '@/api/material/list';
 
 
   export default {
   export default {
     name: 'UserSettingMatter',
     name: 'UserSettingMatter',
@@ -173,14 +174,20 @@
         this.currentRow = row;
         this.currentRow = row;
         this.visible = true;
         this.visible = true;
         this.getMatterList(row);
         this.getMatterList(row);
+        // this.getDetails(row.id);
       },
       },
+      // 查询详情
+      // async getDetails(id) {
+      //   const data = await produceTaskRecordRulesGetById(id);
+      //   console.log('data 详情数据', data);
+      // },
       // 查询事项数据
       // 查询事项数据
       async getMatterList() {
       async getMatterList() {
         const { list } = await produceTaskRecordRules({
         const { list } = await produceTaskRecordRules({
           produceTaskId: this.currentRow.id,
           produceTaskId: this.currentRow.id,
           pageNum: 1,
           pageNum: 1,
-          size: 9999
-          // reportWorkType: this.reportWorkType
+          size: 9999,
+          reportWorkType: this.reportWorkType
         });
         });
         console.log('list', list);
         console.log('list', list);
         // 表格数据
         // 表格数据