@dongkboy 2 лет назад
Родитель
Сommit
c9ac661897
1 измененных файлов с 321 добавлено и 83 удалено
  1. 321 83
      src/views/Sys/Deptall.vue

+ 321 - 83
src/views/Sys/Deptall.vue

@@ -5,86 +5,212 @@
       <el-main ref="elMain" style="padding: 0px">
         <!-- 新增展开折叠 -->
         <div style="margin-bottom: 20px; margin-top: 15px" class="flex a-start">
-          <el-button size="small" type="primary" plain icon="el-icon-plus" :label="$t('action.addCompany')"
-            @click="handleAddCompany">新增子公司</el-button>
-          <el-button size="small" type="warning" plain icon="el-icon-plus" :label="$t('action.addDept')"
-            @click="handleAddDept">新增部门</el-button>
-          <el-button size="small" type="info" plain icon="el-icon-sort" @click="fold()">展开折叠</el-button>
-          <el-form :inline="true" class="demo-form-inline" size="small" style="margin-left: 30px">
+          <el-button
+            size="small"
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            :label="$t('action.addCompany')"
+            @click="handleAddCompany"
+            >新增子公司</el-button
+          >
+          <el-button
+            size="small"
+            type="warning"
+            plain
+            icon="el-icon-plus"
+            :label="$t('action.addDept')"
+            @click="handleAddDept"
+            >新增部门</el-button
+          >
+          <el-button
+            size="small"
+            type="info"
+            plain
+            icon="el-icon-sort"
+            @click="fold()"
+            >展开折叠</el-button
+          >
+          <el-form
+            :inline="true"
+            class="demo-form-inline"
+            size="small"
+            style="margin-left: 30px"
+          >
             <el-form-item label="机构编码:">
-              <el-input clearable v-model="peopledeptid" placeholder="请输入机构编码"></el-input>
+              <el-input
+                clearable
+                v-model="peopledeptid"
+                placeholder="请输入机构编码"
+              ></el-input>
             </el-form-item>
             <el-form-item label="业务来源:">
-              <el-select v-model="managementSource" placeholder="选择业务来源" clearable>
-                <el-option v-for="val in business_sourceoptions" :key="val.value" :label="val.label"
-                  :value="val.value"></el-option>
+              <el-select
+                v-model="managementSource"
+                placeholder="选择业务来源"
+                clearable
+              >
+                <el-option
+                  v-for="val in business_sourceoptions"
+                  :key="val.value"
+                  :label="val.label"
+                  :value="val.value"
+                ></el-option>
               </el-select>
             </el-form-item>
             <el-form-item>
-              <el-button type="primary" size="small" @click="managementSourceQuery">查询</el-button>
+              <el-button
+                type="primary"
+                size="small"
+                @click="managementSourceQuery"
+                >查询</el-button
+              >
             </el-form-item>
           </el-form>
         </div>
         <!-- 表格渲染 -->
-        <el-table permsEdit="sys:dept:edit" height="50%" permsDelete="sys:dept:delete" row-key="id"
-          :expand-row-keys="['9']" v-loading="loading" border :data="ztreeNodes"
-          :tree-props="{ children: 'children', hasChildren: 'hasChilkdren' }" :header-cell-style="{
+        <el-table
+          permsEdit="sys:dept:edit"
+          height="720"
+          permsDelete="sys:dept:delete"
+          row-key="id"
+          :expand-row-keys="['9']"
+          v-loading="loading"
+          border
+          :data="ztreeNodes"
+          :tree-props="{ children: 'children', hasChildren: 'hasChilkdren' }"
+          :header-cell-style="{
             background: '#F2F7FC',
             fontWeight: '900',
             color: '#606266',
-          }" size="small" ref="expandTable" highlight-current-row @row-click="rowClick">
+          }"
+          size="small"
+          ref="expandTable"
+          highlight-current-row
+          @row-click="rowClick"
+        >
           <el-table-column prop="name" label="部门管理" width="300">
           </el-table-column>
-          <el-table-column prop="deptCount" label="部门数量" width="80" align="center">
+          <el-table-column
+            prop="deptCount"
+            label="部门数量"
+            width="80"
+            align="center"
+          >
           </el-table-column>
           <el-table-column prop="id" label="ID" width="150" align="center">
           </el-table-column>
-          <el-table-column prop="comlevel" label="机构级别" :formatter="comlevelFormatter" align="center"
-            width="150"></el-table-column>
-          <el-table-column prop="comattribute" label="机构性质" :formatter="comattributeFormatter" align="center" width="150">
+          <el-table-column
+            prop="comlevel"
+            label="机构级别"
+            :formatter="comlevelFormatter"
+            align="center"
+            width="150"
+          ></el-table-column>
+          <el-table-column
+            prop="comattribute"
+            label="机构性质"
+            :formatter="comattributeFormatter"
+            align="center"
+            width="150"
+          >
           </el-table-column>
-          <el-table-column prop="comtype" label="机构类型" :formatter="comtypeFormatter" align="center" width="150">
+          <el-table-column
+            prop="comtype"
+            label="机构类型"
+            :formatter="comtypeFormatter"
+            align="center"
+            width="150"
+          >
           </el-table-column>
-          <el-table-column prop="managementSource" label="业务来源" align="center" width="150">
+          <el-table-column
+            prop="managementSource"
+            label="业务来源"
+            align="center"
+            width="150"
+          >
             <template slot-scope="scope">
-              <span v-for="(item, index) in business_sourceoptions" :key="index"
-                v-show="item.value == scope.row.managementSource">{{ item.label }}</span>
+              <span v-for="(item, index) in business_sourceoptions" :key="index" v-show="item.value == scope.row.managementSource">{{ item.label }}</span>
             </template>
           </el-table-column>
           <el-table-column prop="address" label="机构地址" align="center">
           </el-table-column>
-          <el-table-column label="操作" fixed="right" align="center" width="150">
+          <el-table-column
+            label="操作"
+            fixed="right"
+            align="center"
+            width="150"
+          >
             <template slot-scope="scope">
-              <KtButton :perms="'sys:institution:edit'" :size="'medium'" :type="'text'" :label="'编辑'"
-                @click.native.stop="handleEdit(scope.row)" @findPage="findSubDeptPage"></KtButton>
-              <KtButton :perms="'sys:institution:delete'" v-show="scope.row.parentId != '0'" :size="'medium'"
-                :type="'text'" :label="'删除'" @click.native.stop="deleteMechanism(scope.row)"></KtButton>
+              <KtButton
+                :perms="'sys:institution:edit'"
+                :size="'medium'"
+                :type="'text'"
+                :label="'编辑'"
+                @click.native.stop="handleEdit(scope.row)"
+                @findPage="findSubDeptPage"
+              ></KtButton>
+              <KtButton
+                :perms="'sys:institution:delete'"
+                v-show="scope.row.parentId != '0'"
+                :size="'medium'"
+                :type="'text'"
+                :label="'删除'"
+                @click.native.stop="deleteMechanism(scope.row)"
+              ></KtButton>
             </template>
           </el-table-column>
         </el-table>
       </el-main>
     </el-container>
     <!-- 新增修改机构界面 -->
-    <el-dialog :title="dialogTitle" width="1000px" :visible.sync="dialogVisible" :close-on-click-modal="false"
-      v-dialogDrag @close="closeDialog">
-      <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="submitForm()" label-width="100px"
-        size="small" style="text-align: left">
+    <el-dialog
+      :title="dialogTitle"
+      width="1000px"
+      :visible.sync="dialogVisible"
+      :close-on-click-modal="false"
+      v-dialogDrag
+      @close="closeDialog"
+    >
+      <el-form
+        :model="dataForm"
+        :rules="dataRule"
+        ref="dataForm"
+        @keyup.enter.native="submitForm()"
+        label-width="100px"
+        size="small"
+        style="text-align: left"
+      >
         <el-row>
           <el-col :span="8">
             <el-form-item label="机构编码" prop="id">
-              <el-input style="width: 100%" v-model="dataForm.id" placeholder="机构编码"
-                :disabled="operType != 'ADDC'"></el-input>
+              <el-input
+                style="width: 100%"
+                v-model="dataForm.id"
+                placeholder="机构编码"
+                :disabled="operType != 'ADDC'"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="机构名称" prop="name">
-              <el-input style="width: 100%" v-model="dataForm.name" placeholder="机构名称"></el-input>
+              <el-input
+                style="width: 100%"
+                v-model="dataForm.name"
+                placeholder="机构名称"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="上级机构" prop="parentName">
-              <span style="width: 100%" v-if="currentTreeNode && currentTreeNode.id == dataForm.parentId
-                " class="span-disabled">{{ currentTreeNode.name }}</span>
+              <span
+                style="width: 100%"
+                v-if="
+                  currentTreeNode && currentTreeNode.id == dataForm.parentId
+                "
+                class="span-disabled"
+                >{{ currentTreeNode.name }}</span
+              >
               <!-- <span v-if="currentTreeNode && (currentTreeNode.id == dataForm.parentId)" class="span-disabled" >{{currentTreeNode.name}}-{{currentTreeNode.id}}</span> -->
               <span style="width: 100%" v-else class="span-disabled">{{
                 dataForm.parentId
@@ -96,28 +222,61 @@
           <el-col :span="24">
             <el-col :span="8">
               <el-form-item label="省公司" prop="province">
-                <el-select :disabled="!disabledAddress.province" @change="selectProvince" value-key="areaCname"
-                  style="width: 100%" v-model="selectAddress.province" placeholder="请选择省" size="small">
-                  <el-option v-for="item in provinces" :value="item" :key="item.areaCode"
-                    :label="item.areaCname"></el-option>
+                <el-select
+                  :disabled="!disabledAddress.province"
+                  @change="selectProvince"
+                  value-key="areaCname"
+                  style="width: 100%"
+                  v-model="selectAddress.province"
+                  placeholder="请选择省"
+                  size="small"
+                >
+                  <el-option
+                    v-for="item in provinces"
+                    :value="item"
+                    :key="item.areaCode"
+                    :label="item.areaCname"
+                  ></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="支公司" prop="city">
-                <el-select :disabled="!disabledAddress.city" @change="selectCity" value-key="areaCname"
-                  style="width: 100%" v-model="selectAddress.city" placeholder="请选择市" size="small">
-                  <el-option v-for="(item, index) in cities" :key="index" :value="item"
-                    :label="item.areaCname"></el-option>
+                <el-select
+                  :disabled="!disabledAddress.city"
+                  @change="selectCity"
+                  value-key="areaCname"
+                  style="width: 100%"
+                  v-model="selectAddress.city"
+                  placeholder="请选择市"
+                  size="small"
+                >
+                  <el-option
+                    v-for="(item, index) in cities"
+                    :key="index"
+                    :value="item"
+                    :label="item.areaCname"
+                  ></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="营销服务部" prop="area">
-                <el-select :disabled="!disabledAddress.area" @change="selectArea" value-key="areaCname"
-                  style="width: 100%" v-model="selectAddress.area" placeholder="请选择区" size="small">
-                  <el-option v-for="(item, index) in areas" :key="index" :value="item"
-                    :label="item.areaCname"></el-option>
+                <el-select
+                  :disabled="!disabledAddress.area"
+                  @change="selectArea"
+                  value-key="areaCname"
+                  style="width: 100%"
+                  v-model="selectAddress.area"
+                  placeholder="请选择区"
+                  size="small"
+                >
+                  <el-option
+                    v-for="(item, index) in areas"
+                    :key="index"
+                    :value="item"
+                    :label="item.areaCname"
+                  ></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -132,17 +291,29 @@
         <el-row v-if="dataForm.comlevel == '5'">
           <el-col :span="8">
             <el-form-item label="门店" prop="house">
-              <el-input style="width: 100%" placeholder="门店" v-model="dataForm.house"></el-input>
+              <el-input
+                style="width: 100%"
+                placeholder="门店"
+                v-model="dataForm.house"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="业务来源" prop="managementSource">
-              <el-select :disabled="operType == 'EDIT'" style="width: 100%" v-model="dataForm.managementSource">
+              <el-select
+                :disabled="operType == 'EDIT'"
+                style="width: 100%"
+                v-model="dataForm.managementSource"
+              >
                 <!-- <el-option label="渠道" value="1"></el-option>
                 <el-option label="个代" value="2"></el-option>
                 <el-option label="服务" value="3"></el-option> -->
-                <el-option v-for="val in business_sourceoptions" :key="val.value" :label="val.label"
-                  :value="val.value"></el-option>
+                <el-option
+                  v-for="val in business_sourceoptions"
+                  :key="val.value"
+                  :label="val.label"
+                  :value="val.value"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -151,26 +322,51 @@
         <el-row>
           <el-col :span="8">
             <el-form-item label="机构类型" prop="comtype">
-              <el-select style="width: 100%" v-model="dataForm.comtype" placeholder="请选择">
-                <el-option v-for="item in comtypeoptions" :key="item.label" :label="item.label"
-                  :value="item.value"></el-option>
+              <el-select
+                style="width: 100%"
+                v-model="dataForm.comtype"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in comtypeoptions"
+                  :key="item.label"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
 
           <el-col :span="8">
             <el-form-item label="机构级别" prop="comlevel">
-              <el-select style="width: 100%" disabled v-model="dataForm.comlevel" placeholder="请选择">
-                <el-option v-for="item in comleveloptions" :key="item.label" :label="item.label"
-                  :value="item.value"></el-option>
+              <el-select
+                style="width: 100%"
+                disabled
+                v-model="dataForm.comlevel"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in comleveloptions"
+                  :key="item.label"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="机构性质" prop="comattribute">
-              <el-select style="width: 100%" v-model="dataForm.comattribute" placeholder="请选择">
-                <el-option v-for="item in comattributeoptions" :key="item.label" :label="item.label"
-                  :value="item.value"></el-option>
+              <el-select
+                style="width: 100%"
+                v-model="dataForm.comattribute"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in comattributeoptions"
+                  :key="item.label"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -178,13 +374,20 @@
         <el-row>
           <el-col :span="16">
             <el-form-item label="机构地址" prop="address">
-              <el-input v-model="dataForm.address" placeholder="机构地址"></el-input>
+              <el-input
+                v-model="dataForm.address"
+                placeholder="机构地址"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="排序" prop="orderNum">
-              <el-input-number v-model="dataForm.orderNum" placeholder="排序" controls-position="right"
-                :min="0"></el-input-number>
+              <el-input-number
+                v-model="dataForm.orderNum"
+                placeholder="排序"
+                controls-position="right"
+                :min="0"
+              ></el-input-number>
             </el-form-item>
           </el-col>
         </el-row>
@@ -270,23 +473,47 @@
         <el-row> </el-row>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button size="small" type="primary" style="background-color: #ffc000; border: 1px solid #ffc000"
-          @click="dialogVisible = false">取消</el-button>
+        <el-button
+          size="small"
+          type="primary"
+          style="background-color: #ffc000; border: 1px solid #ffc000"
+          @click="dialogVisible = false"
+          >取消</el-button
+        >
         <el-button size="small" type="primary" @click="submitForm()">{{
           $t("action.comfirm")
         }}</el-button>
       </span>
     </el-dialog>
     <!-- 新增修改界面 -->
-    <el-dialog :title="dialogTitle" width="1000px" :visible.sync="deptDialogVisible" :close-on-click-modal="false"
-      v-dialogDrag @close="closeDeptDialog">
-      <el-form :model="deptDataForm" :rules="deptDataRule" ref="deptDataForm" @keyup.enter.native="deptSubmitForm()"
-        label-width="100px" size="small" style="text-align: left">
+    <el-dialog
+      :title="dialogTitle"
+      width="1000px"
+      :visible.sync="deptDialogVisible"
+      :close-on-click-modal="false"
+      v-dialogDrag
+      @close="closeDeptDialog"
+    >
+      <el-form
+        :model="deptDataForm"
+        :rules="deptDataRule"
+        ref="deptDataForm"
+        @keyup.enter.native="deptSubmitForm()"
+        label-width="100px"
+        size="small"
+        style="text-align: left"
+      >
         <el-row>
           <el-col :span="8">
             <el-form-item label="所属机构" prop="id">
-              <span style="width: 100%; overflow: hidden" v-if="currentTreeNode && currentTreeNode.id == deptDataForm.parentId
-                " class="span-disabled">{{ currentTreeNode.name }}-{{ currentTreeNode.id }}</span>
+              <span
+                style="width: 100%; overflow: hidden"
+                v-if="
+                  currentTreeNode && currentTreeNode.id == deptDataForm.parentId
+                "
+                class="span-disabled"
+                >{{ currentTreeNode.name }}-{{ currentTreeNode.id }}</span
+              >
               <span style="width: 100%" v-else class="span-disabled">{{
                 deptDataForm.id
               }}</span>
@@ -294,26 +521,42 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="部门编号" prop="id">
-              <el-input style="width: 100%" v-model="deptDataForm.id" placeholder="部门编号" disabled></el-input>
+              <el-input
+                style="width: 100%"
+                v-model="deptDataForm.id"
+                placeholder="部门编号"
+                disabled
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="部门名称" prop="name">
-              <el-input style="width: 100%" v-model="deptDataForm.name" placeholder="部门名称"></el-input>
+              <el-input
+                style="width: 100%"
+                v-model="deptDataForm.name"
+                placeholder="部门名称"
+              ></el-input>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="16">
             <el-form-item label="机构地址" prop="address">
-              <el-input v-model="deptDataForm.address" placeholder="机构地址"></el-input>
+              <el-input
+                v-model="deptDataForm.address"
+                placeholder="机构地址"
+              ></el-input>
             </el-form-item>
           </el-col>
 
           <el-col :span="8">
             <el-form-item label="排序" prop="orderNum">
-              <el-input-number v-model="deptDataForm.orderNum" placeholder="排序" controls-position="right"
-                :min="0"></el-input-number>
+              <el-input-number
+                v-model="deptDataForm.orderNum"
+                placeholder="排序"
+                controls-position="right"
+                :min="0"
+              ></el-input-number>
             </el-form-item>
           </el-col>
         </el-row>
@@ -363,11 +606,6 @@ export default {
     this.changeTreeWidth(); // 初始化树的宽度
     this.filters.id = "9";
     this.findSubDeptPage(); //初始化数据
-    setTimeout(() => {
-      let tableTop = that.$refs.commonTable.offsetTop;
-      let bottomTop = that.$refs.bottomFixed.offsetTop;
-      that.tableHeight = bottomTop - tableTop - 120 + "px";
-    }, 10);
   },
   data() {
     return {