From 3c496c263fca58417fa9b35beb9707ad147e6c7d Mon Sep 17 00:00:00 2001 From: wjt <1797368093@qq.com> Date: 星期一, 22 七月 2024 15:01:33 +0800 Subject: [PATCH] Merge branch 'main' of http://218.28.192.34:9999/r/sqys/sqys_web --- src/views/infomanger/infoLook/components/exportRecord.vue | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 155 insertions(+), 0 deletions(-) diff --git a/src/views/infomanger/infoLook/components/exportRecord.vue b/src/views/infomanger/infoLook/components/exportRecord.vue new file mode 100644 index 0000000..6879481 --- /dev/null +++ b/src/views/infomanger/infoLook/components/exportRecord.vue @@ -0,0 +1,155 @@ +<template> + <el-dialog title="瀵煎叆璁板綍" v-model="dialogVisible" width="1200px" append-to-body @close="closeDialog" + > + <el-table :data="recordValue" border> + <el-table-column label="浼佷笟鍚�(浼佷笟鍏ㄧО)" prop="companyName"> + <template #default="scope"> + <div class="flex-box-per"> + <el-input v-model="scope.row.companyName" @blur="checkImport(scope.row, scope.$index)"></el-input> + <el-tooltip v-if="scope.row.errorList.length && scope.row.errorList.find(item => item.index == 0)" :content="scope.row.errorList.find(item => item.index == 0).msg"> + <div class="ml5"> + <el-icon size="large" color="red" class="ml5"><CircleCloseFilled /></el-icon> + </div> + </el-tooltip> + </div> + </template> + </el-table-column> + <el-table-column label="缁熶竴绀句細淇$敤浠g爜" prop="companyCode"> + <template #default="scope"> + <div class="flex-box-per"> + <el-input v-model="scope.row.companyCode" @blur="checkImport(scope.row, scope.$index)"></el-input> + <el-tooltip v-if="scope.row.errorList.length && scope.row.errorList.find(item => item.index == 1)" :content="scope.row.errorList.find(item => item.index == 1).msg"> + <div class="ml5"> + <el-icon size="large" color="red" class="ml5"><CircleCloseFilled /></el-icon> + </div> + </el-tooltip> + + </div> + </template> + </el-table-column> + <el-table-column label="浼佷笟鑱旂郴浜�" prop="companyUser"> + <template #default="scope"> + <div class="flex-box-per"> + <el-input v-model="scope.row.companyUser" @blur="checkImport(scope.row, scope.$index)"></el-input> + <el-tooltip v-if="scope.row.errorList.length && scope.row.errorList.find(item => item.index == 2)" :content="scope.row.errorList.find(item => item.index == 2).msg"> + <div class="ml5" v-if="scope.row.errorList.length &&scope.row.errorList.find(item => item.index == 2)"> + <el-icon size="large" color="red" class="ml5"><CircleCloseFilled /></el-icon> + </div> + </el-tooltip> + + </div> + + </template> + </el-table-column> + <el-table-column label="鑱旂郴浜虹數璇�" prop="companyPhone"> + <template #default="scope"> + <div class="flex-box-per"> + <el-input type="numer" :maxlength="11" v-model="scope.row.companyPhone" @blur="checkImport(scope.row, scope.$index, 'companyPhone')"></el-input> + <el-tooltip v-if="scope.row.errorList.length && scope.row.errorList.find(item => item.index == 3)" :content="scope.row.errorList.find(item => item.index == 3).msg"> + <div class="ml5"> + <el-icon size="large" color="red" class="ml5"><CircleCloseFilled /></el-icon> + </div> + </el-tooltip> + + </div> + + </template> + </el-table-column> + <el-table-column label="浼佷笟鍦板潃" prop="companyAddress"> + <template #default="scope"> + <div class="flex-box-per"> + <el-input v-model="scope.row.companyAddress" @blur="checkImport(scope.row, scope.$index)"></el-input> + <el-tooltip v-if="scope.row.errorList.length && scope.row.errorList.find(item => item.index == 4)" :content="scope.row.errorList.find(item => item.index == 4).msg"> + <div class="ml5" v-if="scope.row.errorList.length && scope.row.errorList.find(item => item.index == 4)"> + <el-icon size="large" color="red" class="ml5"><CircleCloseFilled /></el-icon> + </div> + </el-tooltip> + </div> + + </template> + </el-table-column> + <el-table-column label="澶囨敞" prop="mark"> + <template #default="scope"> + <div class="flex-box-per"> + <el-input v-model="scope.row.mark" @blur="checkImport(scope.row, scope.$index)"></el-input> + <el-tooltip v-if="scope.row.errorList.length && scope.row.errorList.find(item => item.index == 5)" :content="scope.row.errorList.find(item => item.index == 5).msg"> + <div class="ml5"> + <el-icon size="large" color="red" class="ml5"><CircleCloseFilled /></el-icon> + </div> + </el-tooltip> + + </div> + + </template> + </el-table-column> + </el-table> + <template #footer> + <div class="dialog-footer"> + <el-button @click="closeDialog">鍙� 娑�</el-button> + <el-button type="primary" @click="addCompany">纭� 瀹�</el-button> + </div> + </template> + </el-dialog> +</template> + +<script setup lang="ts"> +import { checkImport as checkImportHttp, saveImport } from '@/api/system/company/company' +import { ElMessage} from 'element-plus' +const dialogVisible = ref(false) +const emits = defineEmits() +const props = defineProps({ + recordRow: { type: Array, default: () => [] }, +}) +const recordValue = ref([]) +watch(() => props.recordRow, (newValue) => { + // console.log(props.recordRow) + recordValue.value = newValue +}) +function openDialog() { + dialogVisible.value = true +} +function closeDialog() { + dialogVisible.value = false +} +function checkImport(row, index, item) { + // row.companyPhone + if(item && item == 'companyPhone') { + if(row.companyPhone) { + const reg = /^1[3|4|5|6|7|8|9][0-9]\d{8}$/ + if(!reg.test(row.companyPhone)){ + ElMessage.error('璇疯緭鍏ユ纭殑鎵嬫満鍙�') + } + } + } + checkImportHttp({voList: [row]}).then(val => { + // recordValue.value.splice(index, 1, val.data.voList[0]) + recordValue.value[index] = val.data.voList[0] + // ElMessage.success('淇敼鎴愬姛') + }) +} +function addCompany() { + saveImport({voList: recordValue.value}).then(val =>{ + ElMessage.success('瀵煎叆鎴愬姛') + closeDialog() + emits('uploadList') + }) +} +defineExpose({ + openDialog, + closeDialog +}) +</script> +<style > +.dialog-footer{ + text-align: center; +} +.flex-box-per{ + display: flex; + justify-content: flex-start; + align-items: center; +} +.ml5{ + /* margin-left: 5px; */ + line-height: 15px; +} +</style> \ No newline at end of file -- Gitblit v1.9.1