From 1a2cc996d29c0cdffb2cf2eae2f034146e0e4613 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期二, 22 三月 2022 16:56:37 +0800
Subject: [PATCH] ''

---
 src/views/doublePreventAction/riskLevelManage/controlAction/index.vue |    1 
 src/views/specialWork/taskCreate/components/taskBasic/index.vue       |    2 
 src/views/systemManage/userManage/index.vue                           |  846 +++++++++++++++++++++++++-----------------
 src/views/doublePreventAction/riskLevelManage/event/index.vue         |    1 
 src/api/user.js                                                       |   68 +++
 src/views/specialWork/taskCreate/components/taskCreate.vue            |    2 
 src/components/Tab/Label.vue                                          |    1 
 src/views/systemManage/userManage/components/workLicense/index.vue    |  274 +++++++++++++
 src/views/specialWork/taskInfo/components/reviewInfo/index.vue        |    1 
 src/views/specialWork/taskCreate/components/fireMan/index.vue         |    1 
 src/views/specialWork/taskInfo/index.vue                              |    1 
 11 files changed, 845 insertions(+), 353 deletions(-)

diff --git a/src/api/user.js b/src/api/user.js
index ef9d80f..bb163b2 100644
--- a/src/api/user.js
+++ b/src/api/user.js
@@ -166,3 +166,71 @@
         params: params || {}
     })
 }
+
+
+export function getWorkLicenseList(mobile) {
+    return request({
+        headers: {
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API + '/getWorkCert?mobile=' + mobile,
+        method: 'get',
+    })
+}
+
+export function addWorkLicense(data) {
+    return request({
+        headers: {
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API + '/addWorkCert',
+        method: 'post',
+        data
+    })
+}
+
+export function updateWorkLicense(data) {
+    return request({
+        headers: {
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API + '/editWorkCert',
+        method: 'post',
+        data
+    })
+}
+
+export function deleteWorkLicense(data) {
+    return request({
+        headers: {
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API + '/delWorkCert',
+        method: 'post',
+        data
+    })
+}
+
+
+
+export function setInvalidDel(data) {
+    return request({
+        headers: {
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API + '/setInvalidDel',
+        method: 'post',
+        data
+    })
+}
+export function bindCard(data) {
+    return request({
+        headers: {
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API + '/bindCard',
+        method: 'post',
+        data
+    })
+}
+
diff --git a/src/components/Tab/Label.vue b/src/components/Tab/Label.vue
index 00979f4..9071a4f 100644
--- a/src/components/Tab/Label.vue
+++ b/src/components/Tab/Label.vue
@@ -188,7 +188,6 @@
     },
     focusHandle(markerId) {
       if (global.map) {
-        debugger
         const entity = global.map.getPlotById(markerId);
         if (entity) {
           global.map.viewer.flyTo(entity, { duration: 1 });
diff --git a/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue b/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue
index 3a2fb13..2987144 100644
--- a/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue
@@ -237,7 +237,6 @@
             async getClassify(){
                 let res = await getClassify({pageSize:1000,pageIndex:1,filter:{riskEventName:''}})
                 if(res.data.code === '200'){
-                    debugger
                     this.classifyOneList = res.data.result
                 }else{
                     this.$message({
diff --git a/src/views/doublePreventAction/riskLevelManage/event/index.vue b/src/views/doublePreventAction/riskLevelManage/event/index.vue
index a8bc8ca..5c9aefb 100644
--- a/src/views/doublePreventAction/riskLevelManage/event/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/event/index.vue
@@ -166,7 +166,6 @@
             async getAnalyseUnitData(){
                 let res = await getAnalyseUnitList({pageSize:1000,pageIndex:1,filter:{ riskUnitName:''}})
                 if(res.data.code === '200'){
-                    debugger
                     this.analyseUnitList = res.data.result.records
                 }else{
                     this.$message({
diff --git a/src/views/specialWork/taskCreate/components/fireMan/index.vue b/src/views/specialWork/taskCreate/components/fireMan/index.vue
index 76f28af..f066b3b 100644
--- a/src/views/specialWork/taskCreate/components/fireMan/index.vue
+++ b/src/views/specialWork/taskCreate/components/fireMan/index.vue
@@ -110,7 +110,6 @@
             this.$emit('confirmConstruction')
         },
         async getWorker(){
-            debugger
             let params = {}
             params['pageIndex'] = 1
             params['pageSize'] = 1000
diff --git a/src/views/specialWork/taskCreate/components/taskBasic/index.vue b/src/views/specialWork/taskCreate/components/taskBasic/index.vue
index 764cca6..174b7cf 100644
--- a/src/views/specialWork/taskCreate/components/taskBasic/index.vue
+++ b/src/views/specialWork/taskCreate/components/taskBasic/index.vue
@@ -742,7 +742,6 @@
           ifIncludeArea: {
             handler(newName, oldName) {
                 if(newName === 1){
-                    debugger
                     this.ifAnalysis = true
                     this.taskBasicForm.isanalysis = 1
                 }else{
@@ -963,7 +962,6 @@
                       message:'请上传盲板位置图'
                   })
               }else {
-                  debugger
                   this.taskBasicForm.hazard = this.taskBasicForm.hazard.join('、')
                   let addForm = JSON.parse(JSON.stringify(this.taskBasicForm))
                   let level = []
diff --git a/src/views/specialWork/taskCreate/components/taskCreate.vue b/src/views/specialWork/taskCreate/components/taskCreate.vue
index f2e183e..02aa3ea 100644
--- a/src/views/specialWork/taskCreate/components/taskCreate.vue
+++ b/src/views/specialWork/taskCreate/components/taskCreate.vue
@@ -278,7 +278,6 @@
                     this.$refs.taskBasic.type = 2
                     this.$refs.taskBasic.resetFormRules()
                     this.$refs.taskBasic.taskBasicForm = JSON.parse(JSON.stringify(value))
-                    debugger
                     this.$refs.taskBasic.taskBasicForm.hazard = this.$refs.taskBasic.taskBasicForm.hazard.split('、')
                     let form = JSON.parse(JSON.stringify(value)).subTaskInfos
                     this.$refs.taskBasic.taskBasicForm.type = ''
@@ -953,7 +952,6 @@
             }
         },
         changeToSecond(val){
-            debugger
             if(val.isanalysis === 1){
                 this.taskCreateDialog = false
             }else if(this.title === '新增' || this.title === '编辑' || this.title === '复制'){
diff --git a/src/views/specialWork/taskInfo/components/reviewInfo/index.vue b/src/views/specialWork/taskInfo/components/reviewInfo/index.vue
index b1649a9..e08804e 100644
--- a/src/views/specialWork/taskInfo/components/reviewInfo/index.vue
+++ b/src/views/specialWork/taskInfo/components/reviewInfo/index.vue
@@ -47,7 +47,6 @@
         methods:{
             openReviewInfo(value){
                 this.reviewInfoDialog = true
-                debugger
                 this.activities = JSON.parse(JSON.stringify(value.taskReviews))
                 for(let i in this.activities){
                     if(this.activities[i].pictures !== null && this.activities[i].pictures.length !== 0){
diff --git a/src/views/specialWork/taskInfo/index.vue b/src/views/specialWork/taskInfo/index.vue
index 4f80df2..62bb67a 100644
--- a/src/views/specialWork/taskInfo/index.vue
+++ b/src/views/specialWork/taskInfo/index.vue
@@ -356,7 +356,6 @@
             this.supervisorForm.approversupervisor = ''
         },
         editWorker(value){
-            debugger
             this.workerDialog = true
             this.code = value.code
             this.taskWorkers = value.taskWorkers
diff --git a/src/views/systemManage/userManage/components/workLicense/index.vue b/src/views/systemManage/userManage/components/workLicense/index.vue
new file mode 100644
index 0000000..3da573b
--- /dev/null
+++ b/src/views/systemManage/userManage/components/workLicense/index.vue
@@ -0,0 +1,274 @@
+<template>
+    <el-dialog
+    :visible.sync="workLicenseDialog"
+    :close-on-click-modal="false"
+    title="工作证"
+    width="60%"
+    >
+        <div class="app-container">
+            <div class="filter-container">
+                <div class="basic_search">
+                    <el-button type="primary" @click="showLicenseForm('','新增')">新增</el-button>
+                    <el-button type="primary" icon="el-icon-search">查询</el-button>
+                </div>
+            </div>
+            <div class="table_content">
+                <el-table :data="workLicenseData" v-loading="listLoading" :key="tableKey" fit border highlight-current-row style="width: 100%;">
+                    <el-table-column type="index" label="" align="center" width="60"/>
+                    <el-table-column label="姓名" prop="realname" align="center" sortable="custom">
+                    </el-table-column>
+                    <el-table-column label="手机号" prop="mobile" align="center" sortable="custom">
+                    </el-table-column>
+                    <el-table-column label="身份证" prop="idcard" align="center" sortable="custom">
+                    </el-table-column>
+                    <el-table-column label="特殊作业工种" prop="branch" align="center" sortable="custom">
+                    </el-table-column>
+                    <el-table-column label="特殊作业证件号" prop="certname" align="center" sortable="custom">
+                    </el-table-column>
+                    <el-table-column label="文件路径" prop="certpath" align="center" sortable="custom">
+                        <template slot-scope="scope">
+                            <a :href="baseUrl+scope.row.certpath" target="_blank">{{baseUrl+scope.row.url}}</a>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="有效期开始时间" prop="starttime" align="center" >
+                    </el-table-column>
+                    <el-table-column label="有效期结束时间" prop="endtime" align="center" >
+                    </el-table-column>
+                    <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width">
+                        <template slot-scope="scope">
+                            <el-button type="text" @click="showLicenseForm(scope.row,'编辑')">编辑</el-button>
+                            <el-button type="text" style="color: red" @click="deleteById(scope.row)">删除</el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+            </div>
+        </div>
+        <el-dialog
+            :visible.sync="LicenseFormDialog"
+            :close-on-click-modal="false"
+            :append-to-body="true"
+            :title="title"
+            width="30%"
+        >
+            <el-form ref="licenseForm" :rules="licenseRules" :model="licenseForm" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
+                <el-form-item label="真实姓名:" prop="realname">
+                    <el-input v-model.trim="licenseForm.realname" :disabled="true"/>
+                </el-form-item>
+                <el-form-item label="联系方式:" prop="mobile">
+                    <el-input v-model.trim="licenseForm.mobile" :disabled="true"/>
+                </el-form-item>
+                <el-form-item label="身份证:" prop="idcard">
+                    <el-input v-model.trim="licenseForm.idcard" :disabled="true"/>
+                </el-form-item>
+                <el-form-item label="特种作业工种:" prop="branch">
+                    <el-select v-model.trim="licenseForm.branch">
+                    <el-option
+                        v-for="item in branchList"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.name"
+                    >
+                    </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="特种作业证件号:" prop="certname">
+                    <el-input v-model.trim="licenseForm.certname"/>
+                </el-form-item>
+                <el-form-item label="受否人员安全健康证:" prop="ishealth">
+                    <el-select v-model.trim="licenseForm.ishealth">
+                        <el-option
+                        v-for="item in isHealthList"
+                        :key="item.id"
+                        :value="item.id"
+                        :label="item.name"
+                        >
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="有效期开始时间:" prop="starttime">
+                    <el-date-picker
+                        value-format="yyyy-MM-dd"
+                        v-model="licenseForm.starttime"
+                        type="date"
+                        placeholder="选择日期时间">
+                    </el-date-picker>
+                </el-form-item>
+                <el-form-item label="有效期结束时间:" prop="endtime">
+                    <el-date-picker
+                        value-format="yyyy-MM-dd"
+                        v-model="licenseForm.endtime"
+                        type="date"
+                        placeholder="选择日期时间">
+                    </el-date-picker>
+                </el-form-item>
+                <el-form-item label="文件:" prop="upload">
+                    <input id="upload" ref="upload"  type="file"/>
+                </el-form-item>
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="LicenseFormDialog = false">取消</el-button>
+                <el-button  type="primary" @click="submit()">确定</el-button>
+            </div>
+        </el-dialog>
+    </el-dialog>
+</template>
+
+<script>
+import { addWorkLicense, deleteWorkLicense, getWorkLicenseList, updateWorkLicense } from '@/api/user'
+import { parseError } from '@/utils/messageDialog'
+
+export default {
+    name: 'index',
+    data(){
+        return{
+            baseUrl: process.env.IMG_API,
+            title:'',
+            tableKey:'',
+            mobile:'',
+            listLoading:false,
+            workLicenseData:[],
+            isHealthList:[{id:1,name:'是'},{id:0,name:'否'},],
+            branchList:[{id:1,name:'电工作业'},{id:2,name:'焊接与热切割作业'},{id:3,name:'高处作业'},{id:4,name:'制冷与空调作业'},{id:5,name:'煤矿安全作业'},{id:6,name:'压力容器作业'},{id:7,name:'采掘(剥)作业'},{id:8,name:'矿山提升运输作业'},{id:9,name:'矿山安全检查作业'},{id:10,name:'矿山通风作业'},{id:11,name:'矿山排水作业'},],
+            workLicenseDialog:false,
+            LicenseFormDialog:false,
+            licenseForm:{
+                id:'',
+                realname:'',
+                mobile:'',
+                idcard:'',
+                certname:'',
+                starttime:'',
+                endtime:'',
+                branch:'',
+                ishealth:0,
+            },
+            licenseRules:{
+
+            }
+        }
+    },
+    methods:{
+        openWorkLicense(row){
+            this.workLicenseDialog = true
+            this.licenseForm.realname = row.realname
+            this.licenseForm.mobile = row.username
+            this.licenseForm.idcard = row.idcard
+            this.licenseForm.branch = row.branch
+            this.getWorkLicenseData()
+        },
+        async getWorkLicenseData(){
+            let res = await getWorkLicenseList(this.licenseForm.mobile)
+            if(res.data.code === '200'){
+                this.workLicenseData  = res.data.result
+            }else{
+                this.$message({
+                    type:'warning',
+                    message:res.data.message
+                })
+            }
+        },
+        showLicenseForm(value,type){
+            this.LicenseFormDialog = true
+            if(type === '新增'){
+                this.licenseForm.certname = ''
+                this.licenseForm.starttime = ''
+                this.licenseForm.endtime = ''
+                this.licenseForm.branch = ''
+                this.licenseForm.ishealth = 0
+                this.title = '新增'
+            }else{
+                this.title = '编辑'
+                this.licenseForm = value
+            }
+        },
+        submit(){
+            if(this.title === '新增'){
+                const formData = new FormData();
+                for (const i in this.licenseForm) {
+                    if (
+                        this.licenseForm[i] != undefined &&
+                        this.licenseForm[i].toString() != ""
+                    ) {
+                        formData.append(i, this.licenseForm[i]);
+                    }
+                }
+                if(this.$refs["upload"].files.length !== 0){
+                    formData.append('file', this.$refs["upload"].files[0])
+                }
+                addWorkLicense(formData).then(res =>{
+                    if(res.data.code === '200'){
+                        this.LicenseFormDialog = false
+                        this.getWorkLicenseData()
+                        this.$notify({
+                            title:'成功',
+                            message:'新增成功',
+                            duration:2000,
+                            type:'success'
+                        })
+                    }else{
+                        this.$message({
+                            type:'warning',
+                            message:res.data.message
+                        })
+                    }
+                }).catch(error => {
+                    parseError({ error: error, vm: this })
+                })
+            }else{
+                const formData = new FormData();
+                for (const i in this.licenseForm) {
+                    if (
+                        this.licenseForm[i] != undefined &&
+                        this.licenseForm[i].toString() != ""
+                    ) {
+                        formData.append(i, this.licenseForm[i]);
+                    }
+                }
+                if(this.$refs["upload"].files.length !== 0){
+                    formData.append('file', this.$refs["upload"].files[0])
+                }
+                updateWorkLicense(formData).then(res =>{
+                    if(res.data.code === '200'){
+                        this.LicenseFormDialog = false
+                        this.getWorkLicenseData()
+                        this.$notify({
+                            type:'success',
+                            message:'新增成功',
+                            duration:2000,
+                            title:'成功'
+                        })
+                    }else{
+                        this.$message({
+                            message:res.data.message,
+                            type:'warning'
+                        })
+                    }
+                }).catch(error =>{
+                    parseError({error:error,vm:this})
+                })
+            }
+        },
+        deleteById(row){
+            this.$confirm('删除此条工作证,是否继续','提示',{
+                confirmButtonText:'确定',
+                cancelButtonText:'取消',
+                type:'warning',
+            }).then(()=> {
+                deleteWorkLicense({id:row.id}).then( ()=>{
+                    this.getWorkLicenseData()
+                    this.$notify({
+                        title:'成功',
+                        message:'删除成功',
+                        type:'success',
+                        duration:2000,
+                    })
+                })
+            }).catch(error => parseError({error:error, vm:this}))
+        }
+    }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/systemManage/userManage/index.vue b/src/views/systemManage/userManage/index.vue
index 4bf8644..6db12dd 100644
--- a/src/views/systemManage/userManage/index.vue
+++ b/src/views/systemManage/userManage/index.vue
@@ -49,6 +49,7 @@
                 <el-form-item>
                     <el-button
                         v-if="getBtnPermission('add')"
+                        v-show="userType != 3"
                         class="filter-item"
                         style="margin-left: 10px;"
                         type="primary"
@@ -59,6 +60,7 @@
                 <el-form-item>
                     <el-button
                         v-if="getBtnPermission('import')"
+                        v-show="userType != 3"
                         class="filter-item"
                         style="margin-left: 10px;"
                         type="primary"
@@ -66,77 +68,66 @@
                         @click="showImportHandle"
                     >导入</el-button>
                 </el-form-item>
-                <el-form-item>
-                    <el-button
-                        v-if="getBtnPermission('import')"
-                        v-show="userType != 3"
-                        class="filter-item"
-                        style="margin-left: 10px;"
-                        type="primary"
-                        icon="el-icon-upload2"
-                        @click="showImportHandle2"
-                    >导入统一社会信用代码</el-button>
-                </el-form-item>
             </el-form>
         </div>
-        <div style="display: block;margin-top: -10px">
-            <div class="basic_search">
-                <span>区域:</span>
-                <el-select v-model="queryForm.province" clearable filterable @change="changeArea('province')">
-                    <el-option
-                        v-for="item in provinceList"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.name"
-                    >
-                    </el-option>
-                </el-select>
-            </div>
-            <div class="basic_search">
-                <el-select v-model="queryForm.city" prop="city" clearable filterable @change="changeArea('city')">
-                    <el-option
-                        v-for="item in cityList"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.name"
-                    >
-                    </el-option>
-                </el-select>
-            </div>
-            <div class="basic_search">
-                <el-select v-model="queryForm.area" clearable filterable @change="changeArea('area')">
-                    <el-option
-                        v-for="item in districtList"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.name"
-                    >
-                    </el-option>
-                </el-select>
-            </div>
-            <div class="basic_search">
-                <el-select v-model="queryForm.town" clearable filterable @change="changeArea('town')" >
-                    <el-option
-                        v-for="item in streetList"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.name"
-                    >
-                    </el-option>
-                </el-select>
-            </div>
-            <div class="basic_search">
-                <el-select v-model="queryForm.community" clearable filterable>
-                    <el-option
-                        v-for="item in committeeList"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.name"
-                    >
-                    </el-option>
-                </el-select>
-            </div>
-        </div>
+        <!--        <div style="display: block;margin-top: -10px;margin-bottom: 10px">-->
+        <!--            <div class="basic_search">-->
+        <!--                <span>区域:</span>-->
+        <!--                <el-select v-model="queryForm.province" clearable filterable @change="changeArea('province')">-->
+        <!--                    <el-option-->
+        <!--                        v-for="item in provinceList"-->
+        <!--                        :key="item.id"-->
+        <!--                        :label="item.name"-->
+        <!--                        :value="item.name"-->
+        <!--                    >-->
+        <!--                    </el-option>-->
+        <!--                </el-select>-->
+        <!--            </div>-->
+        <!--            <div class="basic_search">-->
+        <!--                <el-select v-model="queryForm.city" prop="city" clearable filterable @change="changeArea('city')">-->
+        <!--                    <el-option-->
+        <!--                        v-for="item in cityList"-->
+        <!--                        :key="item.id"-->
+        <!--                        :label="item.name"-->
+        <!--                        :value="item.name"-->
+        <!--                    >-->
+        <!--                    </el-option>-->
+        <!--                </el-select>-->
+        <!--            </div>-->
+        <!--            <div class="basic_search">-->
+        <!--                <el-select v-model="queryForm.area" clearable filterable @change="changeArea('area')">-->
+        <!--                    <el-option-->
+        <!--                        v-for="item in districtList"-->
+        <!--                        :key="item.id"-->
+        <!--                        :label="item.name"-->
+        <!--                        :value="item.name"-->
+        <!--                    >-->
+        <!--                    </el-option>-->
+        <!--                </el-select>-->
+        <!--            </div>-->
+        <!--            <div class="basic_search">-->
+        <!--                <el-select v-model="queryForm.town" clearable filterable @change="changeArea('town')" >-->
+        <!--                    <el-option-->
+        <!--                        v-for="item in streetList"-->
+        <!--                        :key="item.id"-->
+        <!--                        :label="item.name"-->
+        <!--                        :value="item.name"-->
+        <!--                    >-->
+        <!--                    </el-option>-->
+        <!--                </el-select>-->
+        <!--            </div>-->
+        <!--            <div class="basic_search">-->
+        <!--                <el-select v-model="queryForm.community" clearable filterable>-->
+        <!--                    <el-option-->
+        <!--                        v-for="item in committeeList"-->
+        <!--                        :key="item.id"-->
+        <!--                        :label="item.name"-->
+        <!--                        :value="item.name"-->
+        <!--                    >-->
+        <!--                    </el-option>-->
+        <!--                </el-select>-->
+        <!--            </div>-->
+        <!--        </div>-->
         <div class="table_content">
             <el-table
                 v-loading="listLoading"
@@ -149,71 +140,110 @@
                 @sort-change="sortUserChange"
             >
                 <el-table-column type="index" label="" align="center" width="60"/>
-                <el-table-column label="用户名" prop="username" align="center" sortable="custom">
+                <el-table-column label="用户名" prop="username" align="center" sortable="custom" width="100px">
                     <template slot-scope="scope">
                         <span>{{ scope.row.username }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="单位" prop="company" align="center" width="150" sortable="custom">
+                <el-table-column label="真实姓名" prop="realname" align="center" sortable="custom" width="100px">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.realname }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="身份证号" prop="idcard" align="center" sortable="custom" width="100px">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.idcard }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="单位" prop="company" align="center" sortable="custom" width="100px">
                     <template slot-scope="scope">
                         <span>{{ scope.row.company }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="办公电话" prop="phone" align="center" sortable="custom">
+                <el-table-column label="部门" prop="department" align="center" sortable="custom" width="100px">
                     <template slot-scope="scope">
-                        <span>{{ scope.row.phone }}</span>
+                        <span>{{ scope.row.department }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="手机号" prop="mobile" align="center" sortable="custom">
-                    <template slot-scope="scope">
-                        <span>{{ scope.row.mobile }}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="邮箱" prop="email" align="center" sortable="custom">
-                    <template slot-scope="scope">
-                        <span>{{ scope.row.email }}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="部门" prop="department" align="center" sortable="custom">
-                    <template slot-scope="scope">
-                        <span>{{ scope.row.department? scope.row.department.name:'' }}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="职务" prop="job" align="center" sortable="custom">
+                <el-table-column label="职位" prop="job" align="center" sortable="custom" width="100px">
                     <template slot-scope="scope">
                         <span>{{ scope.row.job }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="统一社会信用代码" prop="code" align="center" sortable="custom">
+                <el-table-column label="用户类型" prop="type" align="center" width="100px">
                     <template slot-scope="scope">
-                        <span>{{ scope.row.code }}</span>
+                        <span>{{ scope.row.type | parseType}}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="用户分类" prop="type" align="center">
-                    <template slot-scope="scope">
-                        <span>{{ scope.row.type | filterUserType }}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="角色" prop="role" align="center">
+                <el-table-column label="角色" prop="role" align="center" width="100px">
                     <template slot-scope="scope">
                         <span>{{ scope.row.roles | parseRoles }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="管辖地区" prop="province" align="center" width="300" sortable="custom">
+                <el-table-column label="人员MAC地址" prop="deviceNo" align="center" width="100px">
                     <template slot-scope="scope">
-                        <span>{{ scope.row.province+'-'+scope.row.city+'-'+scope.row.area+'-'+scope.row.town+'-'+scope.row.community | parseGX}}</span>
+                        <span>{{ scope.row.deviceNo}}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="更新时间" prop="lastmodifieddate" align="center" sortable="custom">
+                <el-table-column label="人脸数据" prop="role" align="center" width="100px">
                     <template slot-scope="scope">
-                        <span>{{ scope.row.lastmodifieddate | parseTime('{y}-{m}-{d}') }}</span>
+                        <span>{{ scope.row.code == null || scope.row.code === '' ?"":"已采集" }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
+                <el-table-column label="是否通过考试" prop="ispass" align="center" width="100px">
+                    <template slot-scope="scope">
+                        <div v-for="item in isList">
+                            <div v-if="item.id === scope.row.ispass">
+                                <span>{{item.name}}</span>
+                            </div>
+                        </div>
+                    </template>
+                </el-table-column>
+                <el-table-column label="考试合格有效期" prop="starttime" align="center" width="300px">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.starttime}}</span>
+                        <span>-</span>
+                        <span>{{ scope.row.endtime}}</span>
+                    </template>
+
+                </el-table-column>
+                <el-table-column label="是否单位负责人" prop="iscompany" align="center" width="100px">
+                    <template slot-scope="scope">
+                        <div v-for="item in isList">
+                            <div v-if="item.id === scope.row.iscompany">
+                                <span>{{item.name}}</span>
+                            </div>
+                        </div>
+                    </template>
+                </el-table-column>
+                <el-table-column label="是否部门负责人" prop="isdepartment" align="center" width="100px">
+                    <template slot-scope="scope">
+                        <div v-for="item in isList">
+                            <div v-if="item.id === scope.row.isdepartment">
+                                <span>{{item.name}}</span>
+                            </div>
+                        </div>
+                    </template>
+                </el-table-column>
+                <el-table-column label="状态" prop="status" align="center" width="100px">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.status | parseStatus }}</span>
+                    </template>
+                </el-table-column>
+
+                <!--                <el-table-column label="更新时间" prop="lastmodifieddate" align="center" sortable="custom">-->
+                <!--                    <template slot-scope="scope">-->
+                <!--                        <span>{{ scope.row.lastmodifieddate | parseTime('{y}-{m}-{d}') }}</span>-->
+                <!--                    </template>-->
+                <!--                </el-table-column>-->
+                <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width" fixed="right">
                     <template slot-scope="scope">
                         <el-button type="text" @click="showEditHandle(scope.row)">编辑</el-button>
                         <el-button  v-show="userType != 3" :disabled="disableRole(scope.row)" type="text" align="center" @click="showAssignRole(scope.row)">分配角色</el-button>
-                        <el-button   :disabled="scope.row.type==1" type="text" style="color:red;" @click="deleteHandle(scope.row)">删除</el-button>
+                        <el-button type="text" @click="showWorkLicense(scope.row)">查看工作证</el-button>
+                        <el-button  v-show="userType != 3" :disabled="scope.row.type==1" type="text" style="color:red;" @click="deleteHandle(scope.row)">删除</el-button>
+                        <el-button  v-if="scope.row.cardId === ''" v-show="userType !== 3" :disabled="scope.row.type===1" type="text" @click="bindCardHandle(scope.row)">绑定人员卡</el-button>
+                        <el-button  v-else v-show="userType !== 3" :disabled="scope.row.type===1" type="text" style="color:red;" @click="setInvalidDel(scope.row)">删除人员卡</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -231,108 +261,175 @@
                 @current-change="handleCurrentChange"
             />
         </div>
-        <el-dialog :title="dialogStatus==='create'?'新增':'编辑'" :visible.sync="dialogFormVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="700px">
-            <el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="100px" style="margin-left:50px;width:500px;" element-loading-text="保存中...">
-                <el-form-item label="用户名:" prop="username">
-                    <el-input v-model.trim="dataForm.username"/>
-                </el-form-item>
+        <el-dialog :title="dialogStatus==='create'?'新增':'编辑'" :visible.sync="dialogFormVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="50%">
+            <el-form ref="dataForm" :rules="dialogStatus==='create'?dataFormRules:rules" :model="dataForm" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="用户名(手机号):" prop="username">
+                            <el-input v-model.trim="dataForm.username"/>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="真实姓名:" prop="realname">
+                            <el-input v-model.trim="dataForm.realname"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
                 <div v-if="dialogStatus=='create'">
-                    <el-form-item label="密码:" prop="password">
-                        <el-input v-model.trim="dataForm.password" :type="passwordType" placeholder="请输入密码">
-                            <el-button slot="append" icon="el-icon-view" @click="showPwd"/>
-                        </el-input>
-                    </el-form-item>
-                    <el-form-item label="确认密码:" prop="confirmPassword">
-                        <el-input v-model.trim="dataForm.confirmPassword" :type="confirmPasswordType" placeholder="请输入确认密码" @change="passwordChangeEvent">
-                            <el-button slot="append" icon="el-icon-view" @click="showConfirmPwd"/>
-                        </el-input>
-                    </el-form-item>
+                    <el-row>
+                        <el-col :span="12">
+                            <el-form-item label="密码:" prop="password">
+                                <el-input v-model.trim="dataForm.password" :type="passwordType" placeholder="请输入密码">
+                                    <el-button slot="append" icon="el-icon-view" @click="showPwd"/>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="确认密码:" prop="confirmPassword">
+                                <el-input v-model.trim="dataForm.confirmPassword" :type="confirmPasswordType" placeholder="请输入确认密码" @change="passwordChangeEvent">
+                                    <el-button slot="append" icon="el-icon-view" @click="showConfirmPwd"/>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+
                 </div>
                 <div v-else>
-                    <el-form-item label="密码:">
-                        <el-input v-model.trim="dataForm.password" :type="passwordType" placeholder="请输入密码">
-                            <el-button slot="append" icon="el-icon-view" @click="showPwd"/>
-                        </el-input>
-                    </el-form-item>
-                    <el-form-item label="确认密码:">
-                        <el-input v-model.trim="dataForm.confirmPassword" :type="confirmPasswordType" placeholder="请输入确认密码" @change="passwordChangeEvent">
-                            <el-button slot="append" icon="el-icon-view" @click="showConfirmPwd"/>
-                        </el-input>
-                    </el-form-item>
+                    <el-row>
+                        <el-col :span="12">
+                            <el-form-item label="密码:" prop="password">
+                                <el-input v-model.trim="dataForm.password" :type="passwordType" placeholder="请输入密码">
+                                    <el-button slot="append" icon="el-icon-view" @click="showPwd"/>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="确认密码:" prop="confirmPassword">
+                                <el-input v-model.trim="dataForm.confirmPassword" :type="confirmPasswordType" placeholder="请输入确认密码" @change="passwordChangeEvent">
+                                    <el-button slot="append" icon="el-icon-view" @click="showConfirmPwd"/>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
                 </div>
-                <el-form-item label="单位:" prop="company">
-                    <el-input v-model.trim="dataForm.company"/>
-                </el-form-item>
-                <el-form-item label="办公电话:" prop="phone">
-                    <el-input v-model.trim="dataForm.phone"/>
-                </el-form-item>
-                <el-form-item label="手机号:" prop="mobile">
-                    <el-input v-model.trim="dataForm.mobile" oninput="value=value.replace(/^\.+|[^\d.]/g,'')"/>
-                </el-form-item>
-                <el-form-item label="邮箱:" prop="email">
-                    <el-input v-model.trim="dataForm.email"/>
-                </el-form-item>
-                <el-form-item label="部门:" prop="department">
-                    <el-input v-model.trim="dataForm.department"/>
-                </el-form-item>
-                <el-form-item label="职务:" prop="job">
-                    <el-input v-model.trim="dataForm.job"/>
-                </el-form-item>
-                <el-form-item label="统一社会信用代码:" prop="job">
-                    <el-input v-model.trim="dataForm.code"/>
-                </el-form-item>
-                <el-form-item label="管辖地区:">
-                    <el-select v-model="dataForm.province" filterable placeholder="请选择省份" @change="resetCity">
-                        <el-option
-                            v-for="item in provinceList"
-                            :key="item.name"
-                            :label="item.name"
-                            :value="item.name">
-                        </el-option>
-                    </el-select>
-                    <el-select v-model="dataForm.city"  placeholder="请选择城市" @change="resetArea">
-                        <el-option
-                            v-for="item in cityList"
-                            :key="item.name"
-                            :label="item.name"
-                            :value="item.name"
-                        >
-                        </el-option>
-                    </el-select>
-                    <el-select v-model="dataForm.area"  placeholder="请选择区县" @change="resetTown">
-                        <el-option
-                            v-for="item in areaList"
-                            :key="item.name"
-                            :label="item.name"
-                            :value="item.name"
-                        >
-                        </el-option>
-                    </el-select>
-                    <el-select v-model="dataForm.town"  placeholder="请选择街道" @change="resetCommunity">
-                        <el-option
-                            v-for="item in townList"
-                            :key="item.name"
-                            :label="item.name"
-                            :value="item.name"
-                        >
-                        </el-option>
-                    </el-select>
-                    <el-select v-model="dataForm.community"  placeholder="请选择社区">
-                        <el-option
-                            v-for="item in communityList"
-                            :key="item.name"
-                            :label="item.name"
-                            :value="item.name"
-                        >
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="用户类型:" prop="type">
-                    <el-select v-model.trim="dataForm.type" placeholder="请选择用户类型" auto-complete="on" style="width:100%;">
-                        <el-option v-show="userType != 3" :value="2" label="管理员"/>
-                        <el-option :value="3" label="普通用户"/>
-                    </el-select>
-                </el-form-item>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="身份证号:" prop="idcard">
+                            <el-input v-model.trim="dataForm.idcard"/>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="邮箱:" prop="email">
+                            <el-input v-model.trim="dataForm.email"/>
+                        </el-form-item>
+                    </el-col>
+
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="单位:" prop="company">
+                            <el-select v-model.trim="dataForm.company"  auto-complete="on" style="width:100%;">
+                                <el-option
+                                    v-for="item in companyList"
+                                    :key="item.id"
+                                    :value="item.company"
+                                    :label="item.company"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="部门:" prop="department">
+                            <el-select v-model.trim="dataForm.department"  auto-complete="on" style="width:100%;">
+                                <el-option
+                                    v-for="item in departmentList"
+                                    :key="item.id"
+                                    :value="item.department"
+                                    :label="item.department"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="职务:" prop="job">
+                            <el-input v-model.trim="dataForm.job"/>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="用户类型:" prop="type">
+                            <el-select v-model.trim="dataForm.type" placeholder="请选择用户类型" auto-complete="on" style="width:100%;">
+                                <el-option
+                                    v-for="item in typeList"
+                                    :key="item.id"
+                                    :value="item.id"
+                                    :label="item.name"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="是否单位负责人:" prop="iscompany">
+                            <el-select v-model.trim="dataForm.iscompany"   style="width:100%;">
+                                <el-option
+                                    v-for="item in isList"
+                                    :key="item.id"
+                                    :value="item.id"
+                                    :label="item.name"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="是否部门负责人:" prop="isdepartment">
+                            <el-select v-model.trim="dataForm.isdepartment" style="width:100%;">
+                                <el-option
+                                    v-for="item in isList"
+                                    :key="item.id"
+                                    :value="item.id"
+                                    :label="item.name"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="状态:" prop="status">
+                            <el-select v-model.trim="dataForm.status"  auto-complete="on" style="width:100%;">
+                                <el-option
+                                    v-for="item in statusList"
+                                    :key="item.id"
+                                    :value="item.id"
+                                    :label="item.name"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="定位卡编号:" prop="empNo">
+                            <el-input v-model.trim="dataForm.empNo"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="定位卡MAC地址:" prop="deviceNo">
+                            <el-input v-model.trim="dataForm.deviceNo"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button @click="dialogFormVisible = false">取消</el-button>
@@ -379,38 +476,48 @@
             </div>
         </el-dialog>
         <el-dialog
-            :visible.sync="importDialogFormVisible2"
+            :visible.sync="bindDialogFormVisible"
             :modal-append-to-body="false"
             :close-on-click-modal="false"
-            title="用户统一社会信用代码导入"
-            width="700px"
+            title="绑定人员卡"
+            width="550px"
         >
             <el-form
                 ref="importForm"
                 label-position="right"
                 label-width="120px"
-                style="margin-left:50px;width:500px;"
-                element-loading-text="导入中..."
-            >
-                <el-form-item label="导入文件:">
-                    <input ref="importLabInput2" type="file" accept=".xls, .xlsx" >
-                </el-form-item>
-                <el-form-item label="excel参考模板:">
-                    <el-button type="text" @click="viewHandle2">下载模板</el-button>
-                </el-form-item>
+                style="margin-left:30px;width:400px;">
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item label="定位卡编号:" prop="empNo">
+                            <el-input v-model.trim="cardDataForm.empNo"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item label="定位卡MAC地址:" prop="deviceNo">
+                            <el-input v-model.trim="cardDataForm.deviceNo"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+
             </el-form>
             <div slot="footer" class="dialog-footer">
-                <el-button @click="importDialogFormVisible2 = false">取消</el-button>
-                <el-button :disabled="importDisabled2" type="primary" @click="importHandle2()">导入</el-button>
+                <el-button @click="bindDialogFormVisible = false">取消</el-button>
+                <el-button type="primary" @click="bindCard()">确认</el-button>
             </div>
         </el-dialog>
         <div style="clear: both;"/>
+        <workLicense ref="workLicense"></workLicense>
     </div>
 </template>
 
 <script>
+    import workLicense from './components/workLicense/index'
     import { mapGetters } from 'vuex'
-    import { userList, createUser, deleteUser, updateUser, importUser,importUserCode, importDistrict,getDistrict,getDistrictByName,updateUserRole} from '@/api/user'
+    import { userList, createUser, deleteUser, updateUser, importUser,
+        importDistrict,getDistrict,getDistrictByName,updateUserRole,setInvalidDel,bindCard} from '@/api/user'
     import { checkBtnPermission } from '@/utils/permission'
     import { roleList } from '@/api/role'
     import { parseTime, computePageCount, parseUserType } from '@/utils'
@@ -418,8 +525,9 @@
     import Cookies from 'js-cookie'
     import { Message, MessageBox } from 'element-ui'
     import {getCityListData, getProvinceListData} from "@/api/area";
+    import { getAllCompany } from '../../../api/unitManage'
+    import { getAllDepartment } from '../../../api/departmentManage'
     const exampleFile = require('@/assets/example/user.xlsx')
-    const exampleFile2 = require('@/assets/example/userCode.xlsx')
     export default {
         name: 'UserTable',
         filters: {
@@ -435,6 +543,20 @@
                     message = message.substring(0, message.lastIndexOf(','))
                 }
                 return message
+            },
+            parseType(type){
+                let typeList = [{id:1,name:'超级管理员'},{id:2,name:'管理员'},{id:3,name:'普通用户'}]
+                if(type){
+                    let a = typeList.find(item => item.id === type)
+                    return a.name
+                }
+            },
+            parseStatus(status){
+                if(status === 1){
+                    return "正常"
+                }else if(status === 0){
+                    return "停用"
+                }
             },
             filterSafety(value) {
                 if (value) {
@@ -483,6 +605,9 @@
                 'username'
             ])
         },
+        components:{
+            workLicense
+        },
         data() {
             let _ref = this;
             const validateEmail = (rule, value, callback) => {
@@ -509,6 +634,7 @@
                 tableKey: 0,
                 userData: null,
                 listLoading: true,
+                iscompanyList:[{id:1,name:'否'},{id:0,name:'是'}],
                 queryForm: {
                     username: '',
                     company:'',
@@ -524,42 +650,58 @@
                     id: '',
                     username: '',
                     password: '',
-                    email: '',
-                    phone: '',
-                    mobile: '',
-                    company: '',
-                    department: '',
-                    province: '',
-                    city: '',
-                    area: '',
-                    town: '',
-                    community: '',
-                    type:'',
+                    realname:'',
+                    idcard:'',
+                    email:'',
+                    company:'',
+                    department:'',
                     job:'',
-                    code:'',
+                    type:'',
+                    iscompany:'',
+                    isdepartment:'',
+                    ispass:'',
+                    starttime:'',
+                    endtime:'',
+                    status:'',
+                    createdby:'',
+                    createddate:'',
+                    lastmodifiedby:'',
+                    lastmodifieddate:'',
+                    empNo:'',
+                    deviceNo:'',
+                },
+                cardDataForm:{
+                    username:'',
+                    empNo:'',
+                    deviceNo:''
                 },
                 importDialogFormVisible: false,
-                importDialogFormVisible2: false,
                 importDisabled: false,
-                importDisabled2: false,
                 dialogFormVisible: false,
-                dialogFormVisible2: false,
+                bindDialogFormVisible: false,
                 dialogStatus: '',
                 dataFormRules: {
-                    name: [{ required: true, message: '用户名不能为空', trigger: 'blur' }],
-                    email: [{ validator: validateEmail, trigger: 'blur' }],
+                    username: [{ required: true, message: '用户名不能为空', trigger: 'blur' }],
+                    realname: [{ required: true, message: '真实姓名不能为空', trigger: 'blur' }],
+                    // email: [{ validator: validateEmail, trigger: 'blur' }],
                     password: [{ required: true, message: '密码不能为空', trigger: 'blur' }],
                     confirmPassword: [{ required: true, message: '确认密码不能为空', trigger: 'blur' }],
-                    type: [{ required: true, message: '用户类型不能为空', trigger: 'blur' }]
+                    type: [{ required: true, message: '用户类型不能为空', trigger: 'change' }],
+                    status: [{ required: true, message: '状态不能为空', trigger: 'change' }],
+                    isanalysis: [{ required: true, message: '是否气体检测中心不能为空', trigger: 'change' }]
                 },
-                provinceList:[],
-                cityList:[],
-                areaList:[],
-                townList:[],
-                communityList:[],
-                districtList:[],
-                streetList:[],
-                committeeList:[],
+                rules: {
+                    username: [{ required: true, message: '用户名不能为空', trigger: 'blur' }],
+                    realname: [{ required: true, message: '真实姓名不能为空', trigger: 'blur' }],
+                    // email: [{ validator: validateEmail, trigger: 'blur' }],
+                    // password: [{ required: true, message: '密码不能为空', trigger: 'blur' }],
+                    // confirmPassword: [{ required: true, message: '确认密码不能为空', trigger: 'blur' }],
+                    type: [{ required: true, message: '用户类型不能为空', trigger: 'change' }],
+                    status: [{ required: true, message: '状态不能为空', trigger: 'change' }],
+                    isanalysis: [{ required: true, message: '是否气体检测中心不能为空', trigger: 'change' }]
+                },
+                isList:[{id:1,name:'是'},{id:0,name:'否'}],
+                typeList:[{id:1,name:'超级管理员'},{id:2,name:'管理员'},{id:3,name:'普通用户'}],
                 dialogUserRoleFormVisible: false,
                 userRoleDataForm: {
                     userRoles: [],
@@ -573,13 +715,16 @@
                 confirmPasswordType: 'password',
                 templateRadio: '',
                 instituteList: [],
-                departmentList: []
+                departmentList: [],
+                companyList:[],
+                statusList:[{id:1,name:'正常'},{id:0,name:'停用'}],
             }
         },
         created() {
-            console.log(this.userType)
             this.getUserList()
             this.getProvince()
+            this.getDepartmentData()
+            this.getCompanyData()
         },
         methods: {
             refreshHandle: function() {
@@ -604,7 +749,7 @@
                 params['type'] = _this.userType
                 for (const i in _this.queryForm) {
                     if (_this.queryForm[i] != undefined && _this.queryForm[i].toString() != '') {
-                        params[i] = this.queryForm[i]
+                        params[i] = _this.queryForm[i]
                     }
                 }
                 _this.listLoading = true
@@ -618,7 +763,7 @@
                         _this.currentPage = result.pageIndex
                         _this.userData = result.result
                     } else {
-                        parseError({ error: res.message, vm: _this })
+                        parseError({ error: res.data.message, vm: _this })
                     }
                     _this.listLoading = false
                 }).catch(error => {
@@ -626,6 +771,11 @@
                     parseError({ error: error, vm: _this })
                 })
             },
+
+            showWorkLicense(row){
+                this.$refs.workLicense.openWorkLicense(row)
+            },
+
             createHandle: function() {
                 this.$refs['dataForm'].validate((valid) => {
                     const _this = this
@@ -646,7 +796,7 @@
                                 })
                                 _this.getUserList()
                             } else {
-                                parseError({ error: res.message, vm: _this })
+                                parseError({ error: res.data.message, vm: _this })
                             }
                         }).catch(error => {
                             parseError({ error: error, vm: _this })
@@ -682,7 +832,7 @@
                         })
                         _this.getUserList()
                     } else {
-                        parseError({ error: res.message, vm: _this })
+                        parseError({ error: res.data.message, vm: _this })
                     }
                 }).catch(error => {
                     parseError({ error: error, vm: _this })
@@ -693,23 +843,52 @@
                     id: '',
                     username: '',
                     password: '',
-                    email: '',
-                    phone: '',
-                    mobile: '',
-                    company: '',
-                    department: '',
-                    province: '',
-                    city: '',
-                    area: '',
-                    town: '',
-                    community: '',
-                    type: '',
-                    job: ''
+                    realname:'',
+                    idcard:'',
+                    email:'',
+                    company:'',
+                    department:'',
+                    job:'',
+                    type:'',
+                    iscompany:'',
+                    isdepartment:'',
+                    ispass:'',
+                    starttime:'',
+                    endtime:'',
+                    status:'',
+                    createdby:'',
+                    createddate:'',
+                    lastmodifiedby:'',
+                    lastmodifieddate:'',
                 }
-                this.cityList = []
-                this.areaList = []
-                this.townList = []
-                this.communityList = []
+            },
+            getDepartmentData(){
+                getAllDepartment().then(res=>{
+                    if(res.data.code === '200'){
+                        this.departmentList = res.data.result
+                    }else{
+                        this.$message({
+                            type:'warning',
+                            message:res.data.message
+                        })
+                    }
+                }).catch(error =>{
+                    parseError({error:error,vm:this})
+                })
+            },
+            getCompanyData(){
+                getAllCompany().then(res=>{
+                    if(res.data.code === '200'){
+                        this.companyList = res.data.result
+                    }else{
+                        this.$message({
+                            type:'warning',
+                            message:res.data.message
+                        })
+                    }
+                }).catch(error =>{
+                    parseError({error:error,vm:this})
+                })
             },
             showCreateHandle() {
                 this.resetDataForm()
@@ -741,7 +920,7 @@
                                 })
                                 _this.getUserList()
                             } else {
-                                parseError({ error: res.message, vm: _this })
+                                parseError({ error: res.data.message, vm: _this })
                             }
                         }).catch(error => {
                             parseError({ error: error, vm: _this })
@@ -758,7 +937,7 @@
                         const roleList = res.result
                         _this.roleList = roleList
                     } else {
-                        parseError({ error: res.message, vm: _this })
+                        parseError({ error: res.data.message, vm: _this })
                     }
                 })
             },
@@ -799,7 +978,7 @@
                                 })
                                 _this.getUserList()
                             } else {
-                                parseError({ error: res.message, vm: _this })
+                                parseError({ error: res.data.message, vm: _this })
                             }
                         })
                     }
@@ -807,43 +986,12 @@
             },
             showEditHandle: function(row) {
                 this.resetDataForm()
-                this.dialogStatus = 'editor'
-                this.dataForm.id = row.id
-                this.dataForm.username = row.username
-                this.dataForm.email = row.email
-                this.dataForm.phone = row.phone
-                this.dataForm.company = row.company
-                this.dataForm.department = row.department
-                this.dataForm.province = row.province
-                this.dataForm.city = row.city
-                this.dataForm.area = row.area
-                this.dataForm.town = row.town
-                this.dataForm.community = row.community
-                this.dataForm.job = row.job
-                this.dataForm.type = row.type
+                this.dataForm = row
+                this.dataForm.password = null
+                this.dialogStatus = 'update'
                 this.dialogFormVisible = true
                 this.$nextTick(() => {
                     this.$refs['dataForm'].clearValidate()
-                })
-                const _this = this
-                const params = {}
-                params['province'] = row.province
-                params['city'] = row.city
-                params['area'] = row.area
-                params['town'] = row.town
-                params['community'] = row.community
-                getDistrictByName(params).then(response => {
-                    const res = response.data
-                    if (res.code == 200){
-                        this.provinceList = res.result.provinceList;
-                        this.cityList = res.result.cityList;
-                        this.areaList = res.result.areaList;
-                        this.townList = res.result.townList;
-                        this.communityList = res.result.communityList;
-                    } else {
-                        parseError({ error: res.message, vm: _this })
-                    }
-                }).catch(error => {
                 })
 
             },
@@ -900,15 +1048,8 @@
                 this.importDisabled = false
                 this.importDialogFormVisible = true
             },
-            showImportHandle2() {
-                this.importDisabled2 = false
-                this.importDialogFormVisible2 = true
-            },
             viewHandle() {
                 window.open(exampleFile, '_blank')
-            },
-            viewHandle2() {
-                window.open(exampleFile2, '_blank')
             },
             importHandle() {
                 const _this = this
@@ -931,35 +1072,7 @@
                             })
                             _this.getUserList()
                         } else {
-                            parseError({ error: res.message, vm: _this })
-                        }
-                    })
-                    .catch((error) => {
-                        parseError({ error: error, vm: _this })
-                    })
-            },
-            importHandle2() {
-                const _this = this
-                const formData = new FormData()
-                const userName = Cookies.get('userName')
-                formData.append('operator', userName)
-                const files = this.$refs['importLabInput2'].files
-                if (files && files.length > 0) {
-                    formData.append('file', files[0])
-                }
-                formData.append('action', 'import')
-                importUserCode(formData)
-                    .then((response) => {
-                        const res = response.data
-                        if (res.code == 200) {
-                            _this.importDialogFormVisible = false
-                            _this.$message({
-                                message: '导入成功',
-                                type: 'success'
-                            })
-                            _this.getUserList()
-                        } else {
-                            parseError({ error: res.message, vm: _this })
+                            parseError({ error: res.data.message, vm: _this })
                         }
                     })
                     .catch((error) => {
@@ -976,7 +1089,7 @@
                     if (res.code == 200){
                         this.provinceList = res.result;
                     } else {
-                        parseError({ error: res.message, vm: _this })
+                        parseError({ error: res.data.message, vm: _this })
                     }
                 }).catch(error => {
                 })
@@ -999,7 +1112,7 @@
                         this.dataForm.town = '';
                         this.dataForm.community = '';
                     } else {
-                        parseError({ error: res.message, vm: _this })
+                        parseError({ error: res.data.message, vm: _this })
                     }
                 }).catch(error => {
                 })
@@ -1020,7 +1133,7 @@
                         this.dataForm.town = '';
                         this.dataForm.community = '';
                     } else {
-                        parseError({ error: res.message, vm: _this })
+                        parseError({ error: res.data.message, vm: _this })
                     }
                 }).catch(error => {
                 })
@@ -1039,7 +1152,7 @@
                         this.dataForm.town = '';
                         this.dataForm.community = '';
                     } else {
-                        parseError({ error: res.message, vm: _this })
+                        parseError({ error: res.data.message, vm: _this })
                     }
                 }).catch(error => {
                 })
@@ -1056,7 +1169,7 @@
                         this.communityList = res.result;
                         this.dataForm.community = '';
                     } else {
-                        parseError({ error: res.message, vm: _this })
+                        parseError({ error: res.data.message, vm: _this })
                     }
                 }).catch(error => {
                 })
@@ -1114,6 +1227,53 @@
                     }
                 }
             },//市、镇、街道、委员会
+
+            bindCardHandle(row){
+                this.cardDataForm = {
+                    username:'',
+                    empNo:'',
+                    deviceNo:''
+                };
+
+                this.cardDataForm.username = row.username;
+                this.bindDialogFormVisible = true;
+            },
+
+            bindCard(){
+                const _this = this;
+                bindCard(_this.cardDataForm).then(response => {
+                    const res = response.data
+                    if (res.code === '200'){
+                        _this.$message({
+                            message: '绑定成功',
+                            type: 'success'
+                        })
+                        this.bindDialogFormVisible = false;
+                        _this.getUserList();
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                }).catch(error => {
+
+                })
+            },
+            setInvalidDel(row){
+                const _this = this;
+                setInvalidDel(row).then(response => {
+                    const res = response.data
+                    if (res.code === '200'){
+                        _this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        })
+                        _this.getUserList();
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                }).catch(error => {
+                })
+
+            },
         }
     }
 </script>

--
Gitblit v1.9.2