zhouwx
2024-04-19 4502510c1763590b3d90d9dcc74a99f8f371642f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<template>
  <div class="riskBox">
    <el-table v-loading="loading" ref="tableRef" :data="tableData" :border="true" style="margin-top: 20px">
      <el-table-column label="序号" type="index" width="55" />
      <el-table-column label="人员姓名" prop="planPerson.person.name" align="center"/>
      <el-table-column label="联系电话" prop="planPerson.person.phone" align="center"/>
      <el-table-column label="职位" prop="planPerson.person.post" align="center"/>
      <el-table-column label="项目担任角色" prop="username" align="center">
        <template #default="scope">
          <span>{{ scope.row.planPerson.playRole === 1?'项目负责人': scope.row.planPerson.playRole === 2?
              '项目组成员':scope.row.planPerson.playRole === 3?
                  '过程控制负责人':scope.row.planPerson.playRole === 4?
                      '机构评价负责人':scope.row.planPerson.playRole === 5?
                          '技术负责人':scope.row.planPerson.playRole === 6?'内部审核员':''}}
          </span>
        </template>
      </el-table-column>
      <el-table-column label="评价师等级" prop="planPerson.person.level" align="center"/>
      <el-table-column label="专业能力" prop="planPerson.person.majorNames" align="center"/>
      <el-table-column label="工作类型"  align="center">
        <template #default="scope">
          <span>{{scope.row.planPerson.jobType === 1 ? '普通人员' : scope.row.planPerson.jobType === 2?'组长': ''}}</span>
        </template>
      </el-table-column>
      <el-table-column label="扫脸时间" prop="faceRecord.updateTime" align="center" width="120"/>
      <el-table-column label="是否扫脸" prop="username" align="center">
        <template #default="scope">
          <span v-if="scope.row.facePic.length>0">是</span>
          <span v-else>否</span>
        </template>
      </el-table-column>
<!--      <el-table-column label="是否变更" prop="username" align="center"/>-->
      <el-table-column label="人脸照片" prop="socialSecurity" align="center" width="120">
        <template #default="scope">
          <div class="demo-image__preview" v-if="scope.row.facePic && scope.row.facePic.length>0">
            <el-image
                style="width: 100px; height: 100px"
                :src= "scope.row.facePic[0]"
                :zoom-rate="1.2"
                :max-scale="7"
                :min-scale="0.2"
                :preview-src-list="scope.row.facePic"
                :initial-index="0"
                fit="cover"
                :preview-teleported=true
            />
          </div>
        </template>
      </el-table-column>
      <el-table-column label="签字图片" prop="socialSecurity" align="center" width="120">
        <template #default="scope">
          <div class="demo-image__preview" v-if="scope.row.signPic && scope.row.signPic.length>0">
            <el-image
                style="width: 100px; height: 100px"
                :src= "scope.row.signPic[0]"
                :zoom-rate="1.2"
                :max-scale="7"
                :min-scale="0.2"
                :preview-src-list="scope.row.signPic"
                :initial-index="0"
                fit="cover"
                :preview-teleported=true
            />
          </div>
        </template>
      </el-table-column>
      <el-table-column label="承诺书" prop="socialSecurity" align="center" width="120">
        <template #default="scope">
          <div class="demo-image__preview" v-if="scope.row.commitPic && scope.row.commitPic.length>0">
            <el-image
                style="width: 100px; height: 100px"
                :src= "scope.row.commitPic[0]"
                :zoom-rate="1.2"
                :max-scale="7"
                :min-scale="0.2"
                :preview-src-list="scope.row.commitPic"
                :initial-index="0"
                fit="cover"
                :preview-teleported=true
            />
          </div>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>
<script setup>
 
import {defineEmits, defineProps, onMounted, reactive, ref, toRefs} from "vue";
import {ElMessage} from "element-plus";
import {Search} from '@element-plus/icons-vue'
import {
  addFaceRecognition,
  addRisk, checkAll,
  editRisk,
  getRecognitionDetail,
  getRiskDetail
} from "@/api/projectManage/riskAnalysis"
import {delPic} from "@/api/login"
import { getToken } from "@/utils/auth";
import Cookies from "js-cookie"
import {getDetail} from "@/api/projectManage/contractMng";
const emit = defineEmits(["getNextStatus"]);
const props = defineProps(['projectId'])
const state = reactive({
  loading: false,
  queryParams: {
    pageNum: 1,
    pageSize: 10,
  },
  total: 0,
  tableData: []
})
 
const {loading,queryParams,total,tableData} = toRefs(state)
 
const isAmin = ref(false)
const formRef = ref()
onMounted(() => {
  const userInfo = JSON.parse(Cookies.get('userInfo'))
  if(userInfo.identity === 0){
    isAmin.value = true;
  }
  if(props.projectId){
    getRecognition(props.projectId);
  }
})
const getRecognition = async (val) =>{
  const res = await getRecognitionDetail({projectId: val});
  if(res.code == 200){
    state.tableData = res.data.map(item => {
      return {
        ...item,
        facePic: item.faceRecord.facePath ? [import.meta.env.VITE_APP_BASE_API + '/' + item.faceRecord.facePath ] : [],
        signPic: item.signPath ? [import.meta.env.VITE_APP_BASE_API + '/' + item.signPath] : [],
        commitPic: item.insurancePath ? [import.meta.env.VITE_APP_BASE_API + '/' + item.insurancePath] : [],
      }
    })
   console.log("res", state.tableData)
  }else {
    ElMessage.warning(res.message)
  }
}
 
 
 
const riskOpen = async (type,val) => {
  // if((type === 'detail' || type === 'edit') && !props.projectId){
  //   getRecognition(val);
  // }
  if(type === 'add' || type === 'clickEdit') {
    if (isAmin.value) {
      ElMessage.warning("当前用户暂无权限");
      return;
    }
    if(type === 'add'){
      const res = await addFaceRecognition({projectId: val});
      if (res.code == 200) {
        ElMessage.success('保存成功')
        emit('getNextStatus', val);
      } else {
        ElMessage.warning(res.message)
      }
    }
  }
}
 
defineExpose({
  riskOpen
});
 
 
</script>
<style scoped lang="scss">
.riskBox{
  :deep(.el-form .el-form-item__label) {
    font-size: 15px;
  }
}
 
</style>