Explorar o código

新增网点层级、 机构穿梭组件新增 网点层级筛选

zhulu hai 1 ano
pai
achega
ebe2cb6e87

+ 3 - 0
src/components/elDialog/dialog.vue

@@ -32,6 +32,9 @@ export default {
 .dialog-footer {
   text-align: right;
 }
+.el-dialog__body {
+    padding-top: 10px !important;
+  }
 
 .dialog-footer-withmargin{
   text-align: right;

+ 69 - 12
src/components/orgSelect/zl.orgSelect.vue

@@ -1,6 +1,6 @@
 <!--编写穿梭框的插件,左右都有很多搜索条件-->
 <template>
-  <div>
+  <div class="zlOrgselect">
     <div style="height:32px">
       <div class="tags-box" :class="{'tags-box-disabled':disabled,'tags-box-mini':size === 'mini'}"  @click="showDialog">
           <el-tag type="success" :size="size" v-for="v in currentTempList" :key="v.id">{{ v.shortName }}</el-tag>
@@ -17,12 +17,16 @@
       top="10vh"
       :close-on-click-modal="false"
       append-to-body
+      custom-class="orgSelectDialog"
       @opened="open"
       @closed="closed"
     >
       <el-row class="el-row-top">
-        <el-col :span="11">
+        <el-col :span="11">          
           <el-card class="box-card leftbox" :body-style="{ height: '100%' }">
+            <el-row class="result_row">
+              <el-col :span="12">搜索条件</el-col>
+            </el-row>
             <el-form
               ref="formleft"
               v-model="left.condition"
@@ -30,7 +34,7 @@
               size="mini"
               style="width: 95%"
             >
-              <el-form-item label="上级机构:">
+              <el-form-item label="组织机构:">
                 <tree-select
                   v-model="left.condition.orgId"
                   :searchable="searchable"
@@ -69,6 +73,24 @@
                   />
                 </el-select>
               </el-form-item>
+              <el-form-item label="网点层级:" >
+                <el-select
+                  prop="type"
+                  label="网点层级"
+                  v-model="left.condition.yewdLevel"
+                  style="width: 100%"
+                  placeholder="请选择网点层级"
+                  @change="leftSearch"
+                  clearable
+                >
+                  <el-option
+                    v-for="dict in dict.type.sys_org_yewd_level"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  />
+                </el-select>
+              </el-form-item>
               <el-form-item label="机构名称:">
                 <el-input
                   v-model="left.condition.orgName"
@@ -86,7 +108,7 @@
             </el-row>
             <el-table
               style="width: 100%"
-              height="calc(100% - 160px)"
+              height="calc(100% - 248px)"
               :data="left.data"
               @selection-change="handleLeftSelectionChange"
             >
@@ -105,6 +127,9 @@
         </el-col>
         <el-col :span="11">
           <el-card class="box-card" :body-style="{ height: '100%' }">
+            <el-row class="result_row">
+              <el-col :span="12">搜索条件</el-col>
+            </el-row>
             <el-form
               ref="formRight"
               v-model="right.condition"
@@ -151,6 +176,24 @@
                   />
                 </el-select>
               </el-form-item>
+              <el-form-item label="网点层级:" >
+                <el-select
+                  prop="type"
+                  label="网点层级"
+                  v-model="right.condition.yewdLevel"
+                  style="width: 100%"
+                  placeholder="请选择网点层级"
+                  @change="rightSearch"
+                  clearable
+                >
+                  <el-option
+                    v-for="dict in dict.type.sys_org_yewd_level"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  />
+                </el-select>
+              </el-form-item>
               <el-form-item label="机构名称:">
                 <el-input
                   v-model="right.condition.orgName"
@@ -167,7 +210,7 @@
               >
             </el-row>
             <el-table
-              height="calc(100% - 160px)"
+              height="calc(100% - 248px)"
               :data="right.data"
               @selection-change="handleRightSelectionChange"
             >
@@ -218,7 +261,7 @@ const defaultData = {
 }
 export default {
   name: "orgSelect",
-  dicts: ["sys_org_type"],
+  dicts: ["sys_org_type","sys_org_yewd_level"],
   props: {
     // orgList : {
     //   type: Array,
@@ -300,6 +343,7 @@ export default {
           deviceName: "",
           searchChild: false,
           isleftOrgTypeDisabled:false,
+          yewdLevel:null
         },
         total: 0,
         selectedCount: 0,
@@ -311,6 +355,7 @@ export default {
           orgId: this.$store.getters.orgId,
           deviceName: "",
           searchChild: false,
+          yewdLevel:null
         },
         total: 0,
         selectedCount: 0,
@@ -553,7 +598,12 @@ export default {
         .filter(
           // 过滤父级机构
           (d) => !condition.orgPath || d.path.includes(condition.orgPath)
+        )
+        .filter(
+          // 过滤网点层级
+          (d) => !condition.yewdLevel || d.yewdLevel == condition.yewdLevel
         );
+
     },
     rightSearch() {
       const {condition} = this.right;
@@ -571,6 +621,9 @@ export default {
           .filter(
             // 过滤父级机构
             (d) => !condition.orgPath || d.path.includes(condition.orgPath)
+          ).filter(
+          // 过滤网点层级
+            (d) => !condition.yewdLevel || d.yewdLevel == condition.yewdLevel
           );
       }
     },
@@ -588,6 +641,13 @@ export default {
   },
 };
 </script>
+<style lang="scss" >
+::v-deep .orgSelectDialog {
+   .el-dialog__body {
+    padding-top: 0 !important;
+  }
+}
+</style>
 
 <style lang="scss" scoped>
 
@@ -605,14 +665,11 @@ export default {
   height: 60px;
 }
 
-::v-deep .el-dialog__body {
-  padding: 10px 5px;
-}
-
 ::v-deep .el-card__body {
-  padding: 10px 5px;
+  padding: 15px 5px;  
 }
 
+
 .controller {
   margin: auto;
   width: 80px;
@@ -626,7 +683,7 @@ export default {
 }
 
 .el-row-top {
-  height: 500px;
+  height: 550px;
   display: flex;
 
   v-deep & > .el-col {

+ 69 - 35
src/views/system/dept/index.vue

@@ -387,16 +387,27 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="负责人" prop="manager" v-if="false">
-              <el-input
-                v-model="form.manager"
-                placeholder="请输入负责人"
-                maxlength="20"
-                :disabled="form.source == 1"
-              />
+          <!-- 营业网点是显示 -->
+          <el-col :span="12" v-if="form.type==4">
+            <el-form-item label="网点层级" prop="yewdLevel">
+              <el-select
+                prop="yewdLevel"
+                label="网点层级"
+                v-model="form.yewdLevel"
+                placeholder="请选择网点层级"
+                style="width: 100%"
+                clearable
+              >
+                <el-option
+                  v-for="dict in dict.type.sys_org_yewd_level"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="parseInt(dict.value)"
+                />
+              </el-select>
             </el-form-item>
           </el-col>
+         
           <el-col :span="12">
             <el-form-item label="排序号" prop="sort">
               <el-input-number
@@ -407,7 +418,41 @@
                 :max="999999"
               />
             </el-form-item>
+          </el-col> 
+          <el-col :span="12">
+            <el-form-item v-if="isEdit" label="机构缩略词" prop="breviary">
+              <el-input
+                :maxlength="5"
+                style="width: 200px;"
+                v-model="form.breviary"
+                placeholder="请输入机构缩略词"
+
+              />
+            </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="机构状态" prop="isLock">
+              <el-radio-group v-model="form.isLock">
+                <el-radio
+                  v-for="dict in dict.type.sys_normal_disable"
+                  :key="dict.value"
+                  :label="dict.value"
+                  :disabled="form.source == 1"
+                  >{{ dict.label }}</el-radio
+                >
+              </el-radio-group>
+            </el-form-item>
+          </el-col> 
+          <el-col :span="12">
+            <el-form-item label="负责人" prop="manager" v-if="false">
+              <el-input
+                v-model="form.manager"
+                placeholder="请输入负责人"
+                maxlength="20"
+                :disabled="form.source == 1"
+              />
+            </el-form-item>
+          </el-col>        
         </el-row>
 
         <el-row>
@@ -424,6 +469,17 @@
         </el-row>
 
         <el-row>
+          <!-- <el-col :span="12">
+            <el-form-item label="排序号" prop="sort">
+              <el-input-number
+                v-model="form.sort"
+                controls-position="right"
+                style="width: 100%"
+                :min="0"
+                :max="999999"
+              />
+            </el-form-item>
+          </el-col> -->
           <el-col :span="12" v-if="false">
             <el-form-item label="邮箱" prop="email">
               <el-input
@@ -433,32 +489,6 @@
               />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="isEdit" label="机构缩略词" prop="breviary">
-              <el-input
-                :maxlength="5"
-                style="width: 200px;"
-                v-model="form.breviary"
-                placeholder="请输入机构缩略词"
-
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="机构状态" prop="isLock">
-              <el-radio-group v-model="form.isLock">
-                <el-radio
-                  v-for="dict in dict.type.sys_normal_disable"
-                  :key="dict.value"
-                  :label="dict.value"
-                  :disabled="form.source == 1"
-                  >{{ dict.label }}</el-radio
-                >
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-
-
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -498,7 +528,7 @@ import { findAreaList } from "@/api/core/weather";
 import OrgTree from "@/components/orgTree";
 export default {
   name: "Dept",
-  dicts: ["sys_normal_disable", "sys_org_type"],
+  dicts: ["sys_normal_disable", "sys_org_type","sys_org_yewd_level"],
   components: { Treeselect, DialogEdit, OrgTree },
   data() {
     return {
@@ -565,6 +595,9 @@ export default {
           { required: true, message: "显示排序不能为空", trigger: "blur" },
         ],
         isLock: [{ required: true, message: "状态不能为空", trigger: "blur" }],
+        yewdLevel: [
+          { required: true, message: "网点层级不能为空", trigger: "blur" },
+        ],
         email: [
           {
             type: "email",
@@ -778,6 +811,7 @@ this.isEdit=response.isEdit;
         status: "0",
         isLock: "0",
         type: null,
+        yewdLevel:null,
       };
       this.resetForm("form");
     },