cuiqian2004
2025-06-05 a2f5317f01290597eb44aaf80aa535ff468a61c5
pages/selpsn/index.vue
@@ -1,7 +1,8 @@
<template>
   <view class="uni-page-selpsn">
   <view class="uni-page-selpsn" :class="largeMode?'large-mode':''">
      <view style="height:90%;">
         <input type="text" class="txt_search" v-model="searchVal" @input="onkeyup" :placeholder="translate('input_user_name_jp_query')">
         <input type="text" class="txt_search" v-model="searchVal" @input="onkeyup"
            :placeholder="translate('input_user_name_jp_query')">
         <!-- <div class="dv_query_body" >
            <div class="psn">
               <checkbox-group class="ischeck" @change="onchange" data-ischeck="false" data-index="0" >
@@ -30,10 +31,14 @@
</template>
<script>
   import {
      querySelPsn
   } from "@/api/index.js"
   export default {
      data() {
         return {
            title:this.translate('select_user'),
               largeMode: getApp().globalData.largeMode || false,
            title: this.translate('select_user'),
            mulit: '',
            param: {},
            searchVal: '',
@@ -44,81 +49,89 @@
      onLoad(options) {
         console.log(options);
         var param = JSON.parse(options.param);
         this.$data.param = param;
         this.$data.mulit = options.mulit;
         // console.log(this.$data.param);
         this.param = param;
         this.mulit = options.mulit;
         // console.log(this.param);
      },
      methods: {
         setData(obj) {
            let that = this;
            let keys = [];
            let val, data;
            Object.keys(obj).forEach(function(key) {
               keys = key.split(".");
               val = obj[key];
               data = that.$data;
               keys.forEach(function(key2, index) {
                  if (index + 1 == keys.length) {
                     that.$set(data, key2, val);
                  } else {
                     if (!data[key2]) {
                        that.$set(data, key2, {});
                     }
                  }
                  data = data[key2];
               });
            });
         },
         onkeyup(e) {
            console.log(e);
            console.log(this.$data.searchVal);
            if (this.$data.searchVal) {
            console.log(this.searchVal);
            if (this.searchVal) {
               var datainfo = {
                  jp: this.$data.searchVal,
                  jp: this.searchVal,
                  dept_id: ''
               };
               // console.log(datainfo);
               this.$store.dispatch('querySelpsn', datainfo).then(success => {
                  console.log(success);
                  if (success.code == '00000') { //Mobox2
                     for (var i in success.data) {
                        success.data[i].ischeck = false;
                     }
                     this.$data.data = success.data;
                  } else if (success.err_code == 0) { //Mobox3
               querySelPsn(datainfo).then(res => {
                     const result = res || []
                     var json = [];
                     for (var i in success.result) {
                     for (var i in result) {
                        json.push({
                           Login: success.result[i].login,
                           Name: success.result[i].name,
                           NamePY: success.result[i].name_py,
                           Sex: success.result[i].gender,
                           State: success.result[i].status,
                           Level: success.result[i].level,
                           Login: result[i].login,
                           Name: result[i].name,
                           NamePY: result[i].name_py,
                           Sex: result[i].gender,
                           State: result[i].status,
                           Level: result[i].level,
                           Depart: "",
                           Unit: "",
                           ischeck: false
                        })
                     }
                     this.$data.data = json;
                  } else {
                     this.data = json;
                  })
                  .catch(ex => {
                     // console.log(ex);
                     uni.showModal({
                        title: this.translateSys("error"),
                        content: success.msg ? success.msg : success.err_msg,
                        content: ex.errMsg,
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                        confirmText: this.translateSys("close")
                     });
                  }
               }).catch(ex => {
                  // console.log(ex);
                  uni.showModal({
                     title: this.translateSys("error"),
                     content: ex.errMsg,
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                  });
               });
            } else
               this.$data.data = [];
               this.data = [];
         },
         onchange(e) {
            // console.log(e.target);
            var data = this.$data.data;
            this.$data.data = [];
            if (this.$data.mulit == "false") {
            var data = this.data;
            this.data = [];
            if (this.mulit == "false") {
               for (var i in data) {
                  data[i].ischeck = false;
               }
            }
            data[e.target.dataset.index].ischeck = e.target.dataset.ischeck ? false : true
            this.$data.data = data;
            this.data = data;
         },
         sava() { //点击功能点跳转页面
            var data = [];
            for (var i in this.$data.data) {
               if (this.$data.data[i].ischeck == true) {
                  data.push(this.$data.data[i]);
            for (var i in this.data) {
               if (this.data[i].ischeck == true) {
                  data.push(this.data[i]);
               }
            }
            if (data.length == 0) {
@@ -126,13 +139,13 @@
                  title: this.translateSys("tip"),
                  content: this.translate('tip_no_select_user'),
                  showCancel: false,
                  confirmText:this.translateSys("cancel")
                  confirmText: this.translateSys("close")
               });
               return;
            }
            const eventChannel = this.$scope.eventChannel;
            const eventChannel = this.getOpenerEventChannel();
            // const eventChannel = this.getOpenerEventChannel();
            eventChannel.emit('AddPer', data, this.$data.param);
            eventChannel.emit('AddPer', data, this.param);
            uni.navigateBack()
         },