马宇豪
2024-01-29 5c357cd927e74cc57531bd0a95338635e39be9af
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
<template>
  <div class="riskBox">
    <el-table v-loading="loading" ref="tableRef" :data="tableData" :border="true">
      <el-table-column type="index" width="55" />
      <el-table-column label="人员姓名" prop="name" align="center"/>
      <el-table-column label="联系电话" prop="phone" align="center"/>
      <el-table-column label="职位" prop="phone" align="center"/>
      <el-table-column label="项目担任角色" prop="username" align="center"/>
      <el-table-column label="评价师等级" prop="username" align="center"/>
      <el-table-column label="专业能力" prop="username" align="center"/>
      <el-table-column label="人员类型" prop="username" align="center"/>
      <el-table-column label="扫脸时间" prop="username" align="center"/>
      <el-table-column label="是否扫脸" prop="username" align="center"/>
      <el-table-column label="是否变更" prop="username" align="center"/>
      <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.socialAttach && scope.row.socialAttach.length>0">
            <el-image
                style="width: 100px; height: 100px"
                :src= "scope.row.socialAttach[0]"
                :zoom-rate="1.2"
                :max-scale="7"
                :min-scale="0.2"
                :preview-src-list="scope.row.socialAttach"
                :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.socialAttach && scope.row.socialAttach.length>0">
            <el-image
                style="width: 100px; height: 100px"
                :src= "scope.row.socialAttach[0]"
                :zoom-rate="1.2"
                :max-scale="7"
                :min-scale="0.2"
                :preview-src-list="scope.row.socialAttach"
                :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">
          <el-button link>承诺书</el-button>
        </template>
      </el-table-column>
    </el-table>
 
    <pagination
        v-show="total > 0"
        :total="total"
        v-model:page="queryParams.pageNum"
        v-model:limit="queryParams.pageSize"
        @pagination="getList"
    />
  </div>
</template>
<script setup>
 
import {defineEmits, onMounted, reactive, ref, toRefs} from "vue";
import {ElMessage} from "element-plus";
import {Search} from '@element-plus/icons-vue'
import {addRisk, editRisk, getRiskDetail} from "@/api/projectManage/riskAnalysis"
import {delPic} from "@/api/login"
import { getToken } from "@/utils/auth";
import Cookies from "js-cookie"
const emit = defineEmits(["getNextStatus"]);
 
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;
  }
})
 
const riskOpen = async (type,val) => {
  state.formData.projectId = val
  if(type === 'detail' || type === 'edit' ){
    const res = await getRiskDetail({projectId: val});
    if(res.code == 200){
      state.formData = res.data;
    }else {
      ElMessage.warning(res.message)
    }
  }
  if(type === 'add' || type === 'clickEdit') {
    const valid = await formRef.value.validate();
    if(valid){
      if (isAmin.value) {
        ElMessage.warning("当前用户暂无权限");
        return;
      }
      if(type === 'add'){
        const {id, ...data} = JSON.parse(JSON.stringify(state.formData))
        const res = await addRisk(data);
        if (res.code == 200) {
          ElMessage.success('保存成功')
          formRef.value.clearValidate();
          emit('getNextStatus', res.data)
        } else {
          ElMessage.warning(res.message)
        }
      }else if(type === 'clickEdit'){
        const { ...data} = JSON.parse(JSON.stringify(state.formData))
        const res = await editRisk(data);
        if (res.code == 200) {
          ElMessage.success('变更成功')
          formRef.value.clearValidate();
          // emit('getNextStatus', data.project.id);
        } else {
          ElMessage.warning(res.message)
        }
      }
    }
  }
}
 
defineExpose({
  riskOpen
});
 
 
</script>
<style scoped lang="scss">
.riskBox{
  :deep(.el-form .el-form-item__label) {
    font-size: 15px;
  }
}
 
</style>