zhangzengfei
2021-06-11 fa7044f3ccc9a91bc2bc117d1a06f650d86554f2
src/pages/shuohuangMonitorAnalyze/components/memberManage.vue
@@ -33,11 +33,12 @@
          <el-option
            v-for="item in genders"
            :key="item.id"
            :value="item.id"
            :value="item.name=='全部'?'':item.name"
            :label="item.name"
          >{{item.name}}</el-option>
        </el-select>
        <el-button type="primary" size="small" @click="renderMemberTable">查询</el-button>
        <el-button type="primary" size="small" @click="resetFilter">重置</el-button>
      </div>
      <div class="table-area">
        <div class="actions">
@@ -157,7 +158,7 @@
          <el-form-item label="身份证号:">
            <el-input v-model="memberEditForm.OwnerID" size="mini"></el-input>
          </el-form-item>
          <el-form-item label="手机号:">
          <el-form-item label="手机号:" prop="Tel">
            <el-input v-model="memberEditForm.Tel" size="mini"></el-input>
          </el-form-item>
          <div class="btns">
@@ -210,7 +211,7 @@
            @mouseover="showDemo=true"
            @mouseout="showDemo=false"
          >示例</a>),点击
          <a href="javascript:;">下载模板.excel</a>
          <a href="javascript:;" @click="downloadExcel">下载模板.excel</a>
          <img class="tip-demo" v-if="showDemo" :src="`${publicPath}images/shuohuang/tip.jpg`" alt />
        </p>
        <div class="flex-box">
@@ -220,9 +221,9 @@
        </div>
        <el-table class="thbg" :data="batchImportTableData" fit>
          <el-table-column type="index" label="序号"></el-table-column>
          <el-table-column prop="filename" label="文件名称"></el-table-column>
          <el-table-column prop="time" label="上传时间"></el-table-column>
          <el-table-column prop="state" label="状态"></el-table-column>
          <el-table-column prop="Name" label="文件名称"></el-table-column>
          <el-table-column prop="UploadTime" label="上传时间"></el-table-column>
          <el-table-column prop="Status" label="状态"></el-table-column>
        </el-table>
      </div>
    </el-dialog>
@@ -231,8 +232,7 @@
<script>
import { getShuohuangDepartTree, getOrganizeTree, getMemberList, updateMemberInfo, addMember, updateUnit, uploadMemberPic, uploadDirectory, uploadFile } from '@/api/shuohuang'
import { getShuohuangDepartTree, getOrganizeTree, getMemberList, updateMemberInfo, addMember, updateUnit, uploadMemberPic, uploadDirectory, uploadFile,downloadFile } from '@/api/shuohuang'
export default {
  data () {
    return {
@@ -247,7 +247,7 @@
      menuLeft: 0,
      keyword: '',
      gender: '',
      genders: [{ name: '男', id: 'g0' }, { name: '女', id: 'g1' }],
      genders: [{id:'g3',name:'全部'},{ name: '男', id: 'g0' }, { name: '女', id: 'g1' }],
      tableData: [],
      multipleTableSelection: [],
      PageIndex: 1,
@@ -255,7 +255,8 @@
      tableTotal: 0,
      PageSize: 8,
      organizeData: [],
      checkedOrg: '',
      checkedOrgID: '',
      checkedOrgName:"",
      organizeKeyword: '',
      memberEditDialogVisible: false,
      toggleOrganizeDialogVisible: false,
@@ -265,7 +266,8 @@
      memberEditFormRule: {
        Name: [{ required: true, message: '请输入姓名', trigger: 'change' }],
        UserName: [{ required: true, message: '请输入姓名', trigger: 'change' }],
        Sex: [{ required: true, message: '请选择性别', trigger: 'change' }]
        Sex: [{ required: true, message: '请选择性别', trigger: 'change' }],
        Tel: [{ validator: this.isPhone, trigger: 'change' }],
      },
      memberPicUrl: '',
      showDemo: false,
@@ -279,20 +281,51 @@
  },
  methods: {
    resetFilter(){
      this.keyword = '';
      this.gender = '';
      this.renderMemberTable();
    },
    isPhone (rule, value, callback) {
      if (!value) {
        return callback()
      } else if (value.trim()) {
         var pattern = /^1[345789]\d{9}$/
        if (pattern.test(value)) {
          return callback()
        }
        return callback(new Error('输入的手机号错误'))
      }
      // if (value.trim()) {
      //   var pattern = /^1[345789]\d{9}$/
      //   if (pattern.test(value)) {
      //     return callback()
      //   }
      //   return callback(new Error('输入的手机号错误'))
      // }
    },
    nodeContextMenu (e, data, node, comp) {
      this.showMenu = true;
      this.menuTop = e.pageY;
      this.menuLeft = e.pageX;
    },
    checkOrgNode (a, b, c) {
      this.checkedOrg = a.id
      this.checkedOrgID = a.id
      this.checkedOrgName = a.label
    },
    downloadExcel(){
      downloadFile().then(function (res) {
        // debugger
        console.log(res);
      })
    },
    updateOrg () {
      let ids = this.multipleTableSelection.map(row => {
        return row.ID
      });
      let params = {
        DeptID: this.checkedOrg,
        DeptID: this.checkedOrgID,
        DeptName:this.checkedOrgName,
        Users: ids.join(',')
      }
      updateUnit(params).then(res => {
@@ -303,6 +336,7 @@
          });
          this.toggleOrganizeDialogVisible = false;
          this.renderMemberTable();
          this.searchLeftTreeData()
        }
      })
@@ -313,7 +347,7 @@
    memberSave () {
      this.$refs['memberForm'].validate((valid) => {
        if (valid) {
          let params = Object.assign({DeptID:this.curLeftTreeNode.id},this.memberEditForm);
          let params = Object.assign({ DeptID: this.curLeftTreeNode.id }, this.memberEditForm);
          if (this.memberEditForm.ID) {
            updateMemberInfo(params).then(res => {
              if (res.success) {
@@ -379,7 +413,7 @@
      let _this = this;
      let params = {
        DeptID: this.deptId,
        keyword: this.keyword,
        Keyword: this.keyword,
        Sex: this.gender,
        PageIndex: this.PageIndex,
        PageSize: this.PageSize
@@ -396,16 +430,17 @@
      this.$refs['directoryInput'].click();
    },
    importDirectory () {
      let _this = this;
      //this.$refs['directoryInput'].files //文件夹map
      let formData = new FormData;
      for(var file in this.$refs['directoryInput'].files){
      for (var file in this.$refs['directoryInput'].files) {
        formData.append('files', this.$refs['directoryInput'].files[file])
      }
      //formData.append('files', this.$refs['directoryInput'].files)
      uploadDirectory(formData).then(res=>{
        debugger
      uploadDirectory(formData).then(res => {
        _this.batchImportTableData = res.data;
        _this.renderMemberTable();
      })
    },
@@ -483,10 +518,10 @@
          return obj
        });
        this.$nextTick(() => {
          if(!Object.keys(_this.curLeftTreeNode).length){
          if (!Object.keys(_this.curLeftTreeNode).length) {
            _this.curLeftTreeNode = _this.treeData[0];
            _this.$refs['leftTreeNodes'].setCurrentNode(_this.treeData[0]);
          }else{
          } else {
            _this.$refs['leftTreeNodes'].setCurrentNode(_this.curLeftTreeNode);
          }
          _this.checkNode(_this.curLeftTreeNode);