From c3cda9b9aa93609969e356c6e72ced75944e85cb Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期五, 12 九月 2025 13:46:54 +0800
Subject: [PATCH] art: 班组管理 代码优化

---
 src/views/base/ShiftGroupManager.vue        |   18 ++-
 src/views/base/modules/group/GroupModal.vue |  293 ++++++++++++++++++++++++------------------------
 2 files changed, 160 insertions(+), 151 deletions(-)

diff --git a/src/views/base/ShiftGroupManager.vue b/src/views/base/ShiftGroupManager.vue
index 1e4f5c1..81d39ba 100644
--- a/src/views/base/ShiftGroupManager.vue
+++ b/src/views/base/ShiftGroupManager.vue
@@ -7,7 +7,13 @@
           <!-- 鎼滅储鍖哄煙 -->
           <a-form layout="inline" @keyup.enter.native="searchQuery">
             <a-row :gutter="24">
-              <a-col :md="6" :sm="8">
+              <a-col :xl="6" :lg="7" :md="8" :sm="24">
+                <a-form-item label="浜х嚎">
+                  <j-dict-select-tag placeholder="璇烽�夋嫨浜х嚎" v-model="queryParam.factoryId"
+                                     dictCode="base_factory,factory_name,id,del_flag=0 and factory_category='3'"></j-dict-select-tag>
+                </a-form-item>
+              </a-col>
+              <a-col :xl="6" :lg="7" :md="8" :sm="24">
                 <a-form-item label="鐝粍鍚嶇О" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}">
                   <a-input placeholder="" v-model="queryParam.groupName"></a-input>
                 </a-form-item>
@@ -89,7 +95,7 @@
               <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
             <a-col :md="9" :sm="24">
              <a-button type="primary" @click="searchQuery2" icon="search" style="margin-left: 21px">鏌ヨ</a-button>
-              <a-button type="primary" @click="searchReset2" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+              <a-button type="info" @click="searchReset2" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
 
             </a-col>
           </span>
@@ -170,7 +176,7 @@
         queryParam2: {},
         dataSource1: [],
         dataSource2: [],
-        ipagination1: {
+        ipagination: {
           current: 1,
           pageSize: 10,
           pageSizeOptions: ['10', '20', '30'],
@@ -192,9 +198,9 @@
           showSizeChanger: true,
           total: 0
         },
-        isorter1: {
-          column: 'createTime',
-          order: 'desc'
+        isorter: {
+          column: 'groupCode',
+          order: 'asc'
         },
         isorter2: {
           column: 'createTime',
diff --git a/src/views/base/modules/group/GroupModal.vue b/src/views/base/modules/group/GroupModal.vue
index 70dca51..4185b29 100644
--- a/src/views/base/modules/group/GroupModal.vue
+++ b/src/views/base/modules/group/GroupModal.vue
@@ -12,42 +12,37 @@
     style="top:5%;height: 85%;overflow-y: hidden">
 
     <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form"  v-bind="layout"  :model="model" :rules="validatorRules">
+      <a-form-model ref="form" :model="model" :rules="validatorRules">
         <a-form-model-item label="鐝粍缂栫爜" required prop="groupCode" :labelCol="labelCol" :wrapperCol="wrapperCol">
-          <a-input v-model="model.groupCode" :disabled="roleDisabled"  placeholder="璇疯緭鍏ョ彮缁勭紪鐮�"/>
+          <a-input v-model="model.groupCode" :disabled="roleDisabled" placeholder="璇疯緭鍏ョ彮缁勭紪鐮�" />
         </a-form-model-item>
         <a-form-model-item label="鐝粍鍚嶇О" required prop="groupName" :labelCol="labelCol" :wrapperCol="wrapperCol">
-          <a-input v-model="model.groupName" placeholder="璇疯緭鍏ョ彮缁勫悕绉�"/>
+          <a-input v-model="model.groupName" placeholder="璇疯緭鍏ョ彮缁勫悕绉�" />
         </a-form-model-item>
-         <a-form-model-item label="鐝粍闀�" prop="groupManager" :labelCol="labelCol" :wrapperCol="wrapperCol">
+        <a-form-model-item label="鐝粍闀�" prop="groupManager" :labelCol="labelCol" :wrapperCol="wrapperCol">
+          <j-search-select-tag
+            type="list"
+            v-model="model.groupManager"
+            :trigger-change="true"
+            dict="sys_user,realname,id, del_flag='0' and status='1'"
+            placeholder="璇烽�夋嫨鐝粍闀�"
+          />
+        </a-form-model-item>
+        <a-form-model-item label="浜х嚎" prop="factoryId" :labelCol="labelCol" :wrapperCol="wrapperCol">
+          <j-dict-select-tag placeholder="璇烽�夋嫨浜х嚎" v-model="model.factoryId"
+                             dictCode="base_factory,factory_name,id,del_flag=0 and factory_category='3'"></j-dict-select-tag>
+        </a-form-model-item>
+        <a-form-model-item label="鐝" prop="shiftId" :labelCol="labelCol" :wrapperCol="wrapperCol">
           <j-dict-select-tag
-                type="list"
-                v-model="model.groupManager"
-                :trigger-change="true"
-                dictCode="sys_user,realname,id"
-                placeholder="璇烽�夋嫨鐝粍闀�"
-              />
-        </a-form-model-item>
-         <a-form-model-item label="浜х嚎" prop="factoryId" :labelCol="labelCol" :wrapperCol="wrapperCol">
-         <j-select-factory
-            v-model="model.factoryId"
-            :multi="true"
-            @back="backFactoryInfo"
-            :backProduction="true"
-            :treeProductOpera="true"
-          ></j-select-factory>
-        </a-form-model-item>
-         <a-form-model-item label="鐝" prop="shiftId" :labelCol="labelCol" :wrapperCol="wrapperCol">
-          <j-dict-select-tag
-                type="list"
-                v-model="model.shiftId"
-                :trigger-change="true"
-                dictCode="base_shift,shift_name,id"
-                placeholder="璇烽�夋嫨鐝"
-              />
+            type="list"
+            v-model="model.shiftId"
+            :trigger-change="true"
+            dictCode="base_shift,shift_name,id"
+            placeholder="璇烽�夋嫨鐝"
+          />
         </a-form-model-item>
         <a-form-model-item label="澶囨敞" prop="remark" :labelCol="labelCol" :wrapperCol="wrapperCol">
-          <a-textarea :rows="5" v-model="model.remark" placeholder="璇疯緭鍏ュ娉�"/>
+          <a-textarea :rows="5" v-model="model.remark" placeholder="璇疯緭鍏ュ娉�" />
         </a-form-model-item>
       </a-form-model>
     </a-spin>
@@ -55,130 +50,138 @@
 </template>
 
 <script>
-  import {duplicateCheck } from '@/api/api'
-  import {postAction,requestPut} from '@/api/manage'
-  import JDictSelectTag from '@/components/dict/JDictSelectTag'
-  import JSelectFactory from '../../../../components/jeecgbiz/JSelectFactory'
-  export default {
-    name: "GroupModal",
-    components: {
-    JDictSelectTag,
-    JSelectFactory
+import { duplicateCheck } from '@/api/api'
+import { postAction, requestPut } from '@/api/manage'
+import JDictSelectTag from '@/components/dict/JDictSelectTag'
+
+export default {
+  name: 'GroupModal',
+  components: {
+    JDictSelectTag
   },
-    data () {
-      return {
-        title:"鎿嶄綔",
-        visible: false,
-        roleDisabled: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-        confirmLoading: false,
-        validatorRules:{
-          groupName: [
-            { required: true, message: '璇疯緭鍏ョ彮缁勫悕绉�!' },
-            { min: 2, max: 30, message: '闀垮害鍦� 2 鍒� 30 涓瓧绗�', trigger: 'blur' }
-          ],
-          groupCode: [
-            { required: true, message: '璇疯緭鍏ョ彮缁勫悕绉�!'},
-            { min: 0, max: 64, message: '闀垮害涓嶈秴杩� 64 涓瓧绗�', trigger: 'blur' },
-            { validator: this.validategroupCode}
-          ],
-          remark: [
-            { min: 0, max: 126, message: '闀垮害涓嶈秴杩� 126 涓瓧绗�', trigger: 'blur' }
-          ]
-        },
-        url: {
-          add: "/base/shiftGroup/add",
-          edit: "/base/shiftGroup/edit",
-        },
-        nextFactoryOptions: [],
-      }
+  data() {
+    return {
+      title: '鎿嶄綔',
+      visible: false,
+      roleDisabled: false,
+      model: {},
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 }
+      },
+      confirmLoading: false,
+      validatorRules: {
+        groupName: [
+          { required: true, message: '璇疯緭鍏ョ彮缁勫悕绉�!' },
+          { min: 2, max: 30, message: '闀垮害鍦� 2 鍒� 30 涓瓧绗�', trigger: 'blur' }
+        ],
+        groupCode: [
+          { required: true, message: '璇疯緭鍏ョ彮缁勫悕绉�!' },
+          { min: 0, max: 64, message: '闀垮害涓嶈秴杩� 64 涓瓧绗�', trigger: 'blur' },
+          { validator: this.validategroupCode }
+        ],
+        factoryId: [
+          { required: true, message: '璇烽�夋嫨浜х嚎!' },
+        ],
+        groupManager: [
+          { required: true, message: '璇烽�夋嫨鐝粍闀�!' },
+        ],
+        shiftId: [
+          { required: true, message: '璇烽�夋嫨鐝彮娆�!' },
+        ],
+        remark: [
+          { min: 0, max: 126, message: '闀垮害涓嶈秴杩� 126 涓瓧绗�', trigger: 'blur' }
+        ]
+      },
+      url: {
+        add: '/base/shiftGroup/add',
+        edit: '/base/shiftGroup/edit'
+      },
+      nextFactoryOptions: []
+    }
+  },
+  created() {
+    //澶囦唤model鍘熷鍊�
+    this.modelDefault = JSON.parse(JSON.stringify(this.model))
+  },
+  methods: {
+    add() {
+      this.edit(this.modelDefault)
     },
-    created () {
-      //澶囦唤model鍘熷鍊�
-      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    edit(record) {
+      this.model = Object.assign({}, record)
+      this.visible = true
     },
-    methods: {
-      add () {
-        this.edit(this.modelDefault);
-      },
-      edit (record) {
-        this.model = Object.assign({}, record);
-        this.visible = true;
-      },
-      close () {
-        this.$refs.form.clearValidate();
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        const that = this;
-        // 瑙﹀彂琛ㄥ崟楠岃瘉
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            that.confirmLoading = true;
-            let obj;
-            if(!this.model.id){
-              obj=postAction(this.url.add, this.model)
-            }else{
-              obj=requestPut(this.url.edit, this.model, {
-                    id: this.model.id
-                  })
-            }
-            obj.then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
+    close() {
+      this.$refs.form.clearValidate()
+      this.$emit('close')
+      this.visible = false
+    },
+    handleOk() {
+      const that = this
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          that.confirmLoading = true
+          let obj
+          if (!this.model.id) {
+            obj = postAction(this.url.add, this.model)
+          } else {
+            obj = requestPut(this.url.edit, this.model, {
+              id: this.model.id
             })
-          }else{
-            return false;
+          }
+          obj.then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.$emit('ok')
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false
+            that.close()
+          })
+        } else {
+          return false
+        }
+      })
+    },
+    handleCancel() {
+      this.close()
+    },
+    validategroupCode(rule, value, callback) {
+      if (/[\u4E00-\u9FA5]/g.test(value)) {
+        callback('鐝粍缂栫爜涓嶅彲杈撳叆姹夊瓧!')
+      } else {
+        let params = {
+          tableName: 'base_shift_group',
+          fieldName: 'group_code',
+          fieldVal: value,
+          dataId: this.model.id
+        }
+        duplicateCheck(params).then((res) => {
+          if (res.success) {
+            callback()
+          } else {
+            callback(res.message)
           }
         })
-      },
-      handleCancel () {
-        this.close()
-      },
-      validategroupCode(rule, value, callback){
-        if(/[\u4E00-\u9FA5]/g.test(value)){
-          callback("鐝粍缂栫爜涓嶅彲杈撳叆姹夊瓧!");
-        }else{
-          let params = {
-            tableName: "base_shift_group",
-            fieldName: "group_code",
-            fieldVal: value,
-            dataId: this.model.id,
-          };
-          duplicateCheck(params).then((res)=>{
-            if(res.success){
-              callback();
-            }else{
-              callback(res.message);
-            }
-          });
-        }
-      },
-      backFactoryInfo(info) {
-        this.model.factoryIds = this.model.factoryId
-        this.nextFactoryOptions = info.map((item, index, arr) => {
-          let c = { label: item.text, value: item.value + '' }
-          return c
-        })
-      },
+      }
+    },
+    backFactoryInfo(info) {
+      this.model.factoryIds = this.model.factoryId
+      this.nextFactoryOptions = info.map((item, index, arr) => {
+        let c = { label: item.text, value: item.value + '' }
+        return c
+      })
     }
   }
+}
 </script>
 
 <style scoped>

--
Gitblit v1.9.3