From 841fc64c31a1e96c8f68acb547be2518606926c6 Mon Sep 17 00:00:00 2001
From: wjt <1797368093@qq.com>
Date: 星期二, 25 六月 2024 15:01:11 +0800
Subject: [PATCH] 修改首页字段

---
 src/views/infomanger/companymanger/components/exportRecord.vue |  155 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 139 insertions(+), 16 deletions(-)

diff --git a/src/views/infomanger/companymanger/components/exportRecord.vue b/src/views/infomanger/companymanger/components/exportRecord.vue
index bc4196d..6879481 100644
--- a/src/views/infomanger/companymanger/components/exportRecord.vue
+++ b/src/views/infomanger/companymanger/components/exportRecord.vue
@@ -1,32 +1,155 @@
 <template>
    <el-dialog title="瀵煎叆璁板綍" v-model="dialogVisible" width="1200px" append-to-body @close="closeDialog"
   >
-    <el-table>
-      <el-table-column label="搴忓彿"></el-table-column>
-      <el-table-column label="瀵煎叆鏂囦欢"></el-table-column>
-      <el-table-column label="瀵煎叆浜�"></el-table-column>
-      <el-table-column label="瀵煎叆鏃堕棿"></el-table-column>
-      <el-table-column label="杩涘害"></el-table-column>
-      <el-table-column label="瀵煎叆缁撴灉"></el-table-column>
-      <el-table-column label="瀵煎叆缁撴灉鏂囦欢"></el-table-column>
+    <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 { importTemplateRecord } from '@/api/system/company/company'
+import { checkImport as checkImportHttp, saveImport } from '@/api/system/company/company'
+import { ElMessage} from 'element-plus'
 const dialogVisible = ref(false)
-const closeDialog = () => {
-  dialogVisible.value = false
-}
-const openDialog = () => {
+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 importTemplateRecord() {
-  console.log('鑾峰彇瀵煎叆璁板綍')
+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>
\ No newline at end of file
+</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