1
lzhe
2024-04-08 0633a5c0cb8bb8dce0cc039814f7f71b053dbc90
src/views/master/person/main/personPerson.vue
@@ -17,7 +17,7 @@
            <el-input v-model="input" placeholder="请输入内容" size="small"></el-input>
         </div>
         <div class="person-tree">
            千文科技
            <div v-for="item in organizationList" :data-id="item.id">{{item.name}}</div>
         </div>
      </div>
      <div class="person-person-right">
@@ -73,7 +73,7 @@
               <el-table-column fixed="right" label="操作" width="140">
                  <template #default="scope">
                     <el-button type="text" size="small" @click="table_edit(scope.row, scope.$index)">编辑</el-button>
                     <el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">查看</el-button>
                     <el-button text type="primary" size="small" @click="table_del(scope.row, scope.$index)">删除</el-button>
                  </template>
               </el-table-column>
            </el-table>
@@ -84,7 +84,7 @@
               :page-sizes="[100, 200, 300, 400]"
               :page-size="100"
               layout="total, sizes, prev, pager, next, jumper"
               :total="400">
               :total="total">
            </el-pagination>
         </div>
      </div>
@@ -107,8 +107,21 @@
         <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="departmentSubmit()">保 存</el-button>
      </template>
   </el-dialog>
   <!-- 删除 -->
   <el-dialog title="" v-model="delPersonModel" :width="300" destroy-on-close>
      <div>
         <div style="margin-bottom: 6px;"><span class="delIcon">!</span>请你谨慎选择!</div>
         <div style="text-indent: 24px;">删除数据会影响已关联的业务 ,若您想在已关联的业务中依然显示这些数据, 您可以选择 停用 操作。停用后此数据将不能再被新业务使用。</div>
      </div>
      <template #footer>
         <div class="footerDiv">
            <div class="delBtn" @click="delData(0)">删除</div>
            <div class="delBtn" @click="delData(1)">停用</div>
         </div>
      </template>
   </el-dialog>
   
   <save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSuccess" @closed="dialog.save=false"></save-dialog>
   <save-dialog v-if="dialog.save" ref="saveDialog" @success="personHandleSuccess" @closed="dialog.save=false"></save-dialog>
</template>
<script>
   import saveDialog from './save'
@@ -116,16 +129,18 @@
      name: "personPerson",
      data(){
         return {
            organizationList: [],
            delPersonModel: false,
            searchIcon: "el-icon-search",
            searchData: {
               current: 1,
               size: 15,
               total: 0,
               status: "1",
               keywords: "",
               postId: "",
               organizationCode: "00001"
               postId: "",  //postId
               organizationCode: "00001"  //组织code
            },
            total: 0,
            isSaveing: false,
            groups: [],
            departmentFrom: {
@@ -152,12 +167,32 @@
      },
      mounted(){
         this.getStatus();
         this.searchPerson(); //员工列表
         this.searchPerson();
         this.getOrganizationList();  //部门
      },
      components: {
         saveDialog
      },
      methods: {
         getOrganizationList() {  //部门
            this.$HTTP.get(`/api/blade-cps/organization/tree?groupType=group_organization&groupCategory=1`).then(res=> {
               if(res.code == 200) {
                  this.organizationList = res.data;
               }
            })
         },
         delData(type) {
            this.$HTTP.get(`/api/blade-cps/employee/remove?ids=${this.selectId}&type=${type}`).then(res=> {
               if(res.code == 200) {
                  this.delPersonModel = false;
                  this.searchPerson();
                  this.getOrganizationList();
               }
            })
         },
         personHandleSuccess() {
            this.searchPerson();
         },
         searchPerson() {
            this.$HTTP.get(`/api/blade-cps/employee/list?`+this.$TOOL.qsStringify(this.searchData)).then(res=> {
               if(res.code == 200) {
@@ -193,12 +228,10 @@
               this.$refs.saveDialog.open('edit').setData(row)
            })
         },
         //查看
         table_show(row){
            this.dialog.save = true
            this.$nextTick(() => {
               this.$refs.saveDialog.open('show').setData(row)
            })
         //删除
         table_del(row) {
            this.selectId = row.id;
            this.delPersonModel = true;
         },
         handleSelectionChange() {},
         delPerson() {},
@@ -318,4 +351,39 @@
   .multipleTableRef {
      margin-bottom: 8px;
   }
   .footerDiv {
      text-align: center;
   }
   .delBtn {
       color: #fff;
       width: 112px;
       height: 32px;
       display: inline-block;
       color: #fa554c;
       background-color: #fff;
       border: 1px solid #fdbbb7;
       text-align: center;
       line-height: 32px;
       cursor: pointer;
   }
   .delBtn:nth-child(1) {
      margin-right:4px;
   }
   .delBtn:hover {
      background-color: #f34d5b;
       border-color: #f34d5b;
       color: #fff;
   }
   .delIcon {
      color: #fff;
       background: red;
       border-radius: 50%;
       display: inline-block;
       width: 20px;
       height: 20px;
       font-size: 14px;
       text-align: center;
       line-height: 20px;
       margin-right: 6px;
   }
</style>