Sfoglia il codice sorgente

fix:新增基本信息模块

liqh 7 mesi fa
parent
commit
0204c11df4

+ 7 - 0
src/api/market-manage/index.js

@@ -12,6 +12,7 @@ export const clientManageApi = {
   CustomerAddition: (params) => {
     return postRequest('/portal/customer/create', params);
   },
+
   //客户新增表单提交
   customerDetails: (params) => {
     return getRequest(`/portal/customer/${params}`);
@@ -50,4 +51,10 @@ export const clientManageApi = {
   DeleteBankCard: (params) => {
     return postRequest('/portal/provider/bank/delete', params);
   },
+
+  //------------------ 银行账户信息 -------------------
+  //基本信息获取
+  getBasicInfo: (params) => {
+    return getRequest(`/portal/provider/${params}`);
+  },
 };

+ 6 - 6
src/views/market-manage/external-manage/account-manage/index.vue

@@ -13,7 +13,7 @@
       </template>
     </bs-table>
   </div>
-  <BankCardInfo ref="BankCardInfoRef" :refreshTable="refreshTable"></BankCardInfo>
+  <BankCardInfo ref="BankCardInfoRef" @refreshTable="refreshTable()"></BankCardInfo>
 </template>
 
 <script setup lang="jsx">
@@ -46,7 +46,7 @@
           },
 
           {
-            title: '户号',
+            title: '开户名称',
             field: 'bankName',
             align: 'center',
             width: 200,
@@ -132,7 +132,7 @@
         fieldSpan: 4,
         fields: [
           {
-            field: 'socialCode',
+            field: 'bankName',
             label: '',
             component: 'a-input',
             componentProps: {
@@ -167,10 +167,10 @@
 
   //删除银行卡信息
   function goDeleteBankCard(record) {
-    console.log('recode',record);
-    clientManageApi.DeleteBankCard(record.id);
+    console.log('recode', record);
+    clientManageApi.DeleteBankCard({ id: record.id });
+    refreshTable();
     message.success('删除成功');
-    fetchTableData();
   }
 </script>
 

+ 4 - 0
src/views/market-manage/external-manage/account-manage/modules/BankCardInfo.vue

@@ -73,6 +73,10 @@
   function showModal(params) {
     visible.value = true;
     if (params.id) {
+      delete params.createTime;
+      delete params.createUserId;
+      delete params.updateTime;
+      delete params.updateUserId;
       updateFormData(params);
     }
   }

+ 35 - 99
src/views/market-manage/external-manage/basic-info/index.vue

@@ -13,67 +13,49 @@
           <div class="steps-content">
             <a-row :gutter="24" class="smart-query-form-row">
               <a-col :span="8">
-                <a-form-item label="服务商类型" name="customerType" class="smart-query-form-item">
-                  <DictSelect
-                    key-code="BLINK_PROVIDER_TYPE"
-                    v-model:value="formModel.customerType"
-                    placeholder="请选择服务商类型"
-                    width="100%"
-                    disabled
-                  />
+                <a-form-item label="服务商类型" name="providerType" class="smart-query-form-item">
+                  {{formModel?.providerType?.[0]?.valueName}}
                 </a-form-item>
               </a-col>
             </a-row>
             <a-row :gutter="24" class="smart-query-form-row">
               <a-col :span="24">
-                <a-form-item label="企业名称" name="customerType" class="smart-query-form-item">
-                  <DictSelect
-                    key-code="BLINK_PROVIDER_TYPE"
-                    v-model:value="formModel.customerType"
-                    placeholder="请选择企业名称"
-                    width="100%"
-                    disabled
-                  />
+                <a-form-item label="企业名称" name="providerName" class="smart-query-form-item">
+                 {{formModel.providerName}}
                 </a-form-item>
               </a-col>
             </a-row>
             <a-row :gutter="16" class="smart-query-form-row">
               <a-col :span="8">
-                <a-form-item label="所在地区" name="socialCode" class="smart-query-form-item">
-                  <a-input v-model:value="formModel.socialCode" placeholder="请输入所在地区" disabled />
+                <a-form-item label="所在地区" name="countryRegion" class="smart-query-form-item">
+                 {{formModel.countryRegion}}
                 </a-form-item>
               </a-col>
               <a-col :span="8">
                 <a-form-item label="省市区" name="companyRegisterDate" class="smart-query-form-item">
-                  <AreaCascader
-                    type="province_city_district"
-                    style="width: 100%"
-                    v-model:value="provinceCityDistrict"
-                    placeholder="请选择省市区"
-                    @change="changeArea"
-                  />
+                 {{formModel.provinceName+'-'+formModel.cityName+'-'+formModel.districtName}}
                 </a-form-item>
               </a-col>
               <a-col :span="8">
-                <a-form-item label="详细地址" name="companyRegisterCapital" class="smart-query-form-item">
-                  <a-input v-model:value="formModel.companyRegisterCapital" placeholder="请输入详细地址" disabled />
+                <a-form-item label="详细地址" name="address" class="smart-query-form-item">
+                  {{formModel.address}}
                 </a-form-item>
               </a-col>
             </a-row>
             <a-row :gutter="16" class="smart-query-form-row">
               <a-col :span="8">
                 <a-form-item label="统一社会代码" name="socialCode" class="smart-query-form-item">
-                  <a-input v-model:value="formModel.socialCode" placeholder="请输入统一社会代码" disabled />
+                  {{formModel.socialCode}}
                 </a-form-item>
               </a-col>
               <a-col :span="8">
-                <a-form-item label="法定代表人" name="companyRegisterDate" class="smart-query-form-item">
-                  <a-input v-model:value="formModel.socialCode" placeholder="请输入法定代表人" disabled />
+                <a-form-item label="法定代表人" name="legalPerson" class="smart-query-form-item">
+                 {{ formModel.legalPerson }}
                 </a-form-item>
               </a-col>
               <a-col :span="8">
                 <a-form-item label="销售团队" name="companyRegisterCapital" class="smart-query-form-item">
-                  <a-input-number v-model:value="formModel.companyRegisterCapital" placeholder="请输入销售团队" style="width: 100%" disabled />
+                 {{formModel.teamNumber}}
                 </a-form-item>
               </a-col>
             </a-row>
@@ -93,42 +75,42 @@
             <a-row :gutter="16" class="smart-query-form-row">
               <a-col :span="8">
                 <a-form-item label="联系人" name="invoiceTitle" class="smart-query-form-item">
-                  <a-input v-model:value="formModel.invoiceTitle" placeholder="请输入联系人" disabled />
+                   {{ formModel.contactPeople }}
                 </a-form-item>
               </a-col>
               <a-col :span="8">
                 <a-form-item label="联系电话" name="invoiceCode" class="smart-query-form-item">
-                  <a-input v-model:value="formModel.invoiceCode" placeholder="请输入联系电话" disabled />
+                   {{ formModel.contactPhone }}
                 </a-form-item>
               </a-col>
               <a-col :span="8">
                 <a-form-item label="当前职务" name="invoiceAddress" class="smart-query-form-item">
-                  <a-input v-model:value="formModel.invoiceAddress" placeholder="请输入职务" disabled />
+                  {{ formModel.currentPosition }}
                 </a-form-item>
               </a-col>
             </a-row>
             <a-row :gutter="16" class="smart-query-form-row">
               <a-col :span="8">
-                <a-form-item label="是否有项目在手" name="invoiceTitle" class="smart-query-form-item">
-                  <a-input v-model:value="formModel.invoiceTitle" placeholder="是否有项目在手" disabled />
+                <a-form-item label="是否有项目在手" name="inHandState" class="smart-query-form-item">
+                   <!-- {{formModel?.inHandState === 1 ? '是' : '否'  }} -->
                 </a-form-item>
               </a-col>
             </a-row>
             <a-row :gutter="16" class="smart-query-form-row">
               <a-col :span="24">
-                <a-form-item label="企业业务简介" name="invoiceTitle" class="smart-query-form-item">
-                  <a-textarea v-model:value="formModel.invoiceTitle" placeholder="企业业务简介" disabled />
+                <a-form-item label="企业业务简介" name="companyDescription" class="smart-query-form-item">
+                 {{formModel.companyDescription}}
                 </a-form-item>
               </a-col>
             </a-row>
             <a-row :gutter="16" class="smart-query-form-row">
               <a-col :span="24">
-                <a-form-item label="业务资源简介" name="invoiceTitle" class="smart-query-form-item">
-                  <a-textarea v-model:value="formModel.invoiceTitle" placeholder="业务资源简介" disabled />
+                <a-form-item label="业务资源简介" name="companyNature" class="smart-query-form-item">
+                  {{formModel.companyNature}}
                 </a-form-item>
               </a-col>
             </a-row>
-            <a-row :gutter="16" class="smart-query-form-row">
+            <!-- <a-row :gutter="16" class="smart-query-form-row">
               <a-col :span="24">
                 <a-form-item label="营业执照" name="attachment" class="smart-query-form-item">
                   <Upload
@@ -141,7 +123,7 @@
                   />
                 </a-form-item>
               </a-col>
-            </a-row>
+            </a-row> -->
           </div>
         </div>
       </div>
@@ -162,68 +144,22 @@
   const router = useRouter();
 
   // --------------------- 数据 ---------------------
-  const formModel = reactive({
-    customerCode: undefined, //服务商名称
-    customerName: undefined, //服务商地址
-    socialCode: undefined, //服务商类别
-    partnerLevel: undefined, //统一社会代码
-    customerStatus: undefined, //注册时间
-    address: undefined, //注册资本
-    customerType: undefined, //营业执照
-    customerSource: undefined, //经营范围
-    customerManager: undefined, //联系人
-    customerManagerMobile: undefined, //联系电话
-    companyRegisterCapital: undefined, //身份证件号
-    companyRegisterDate: undefined, //身份证正面
-    customerDescription: undefined, //身份证反面
-  });
+  const formModel = reactive({});
 
-  // --------------------- 校验规则 ---------------------
-  const formRules = {
-    // customerName: [{ required: true, message: '请输入客户名称', trigger: 'change' }],
-    customerManagerMobile: [{ pattern: /^1[3-9]\d{9}$/, message: '请输入有效的手机号码', trigger: 'blur' }],
-    invoiceMobile: [{ pattern: /^1[3-9]\d{9}$/, message: '请输入有效的手机号码', trigger: 'blur' }],
-  };
+  onMounted(() => {
+    console.log('子组件接收到的 descData:');
+    getBasicInfo();
+  });
 
   const labelCol = { style: { width: '120px', height: '50px' } };
 
-  // ----------------------- 上传附件 ----------------------------
-  // 已上传的附件列表
-  const defaultFileList = ref([]);
-  function changeAttachment(fileList) {
-    defaultFileList.value = fileList;
-    formModel.attachment = _.isEmpty(fileList) ? [] : fileList;
-  }
-
-  // ----------------------- 步骤相关 ---------------------------
-
-  const submit = () => {
-    console.log('formModel', formModel);
-    stepFormRef.value
-      .validateFields()
-      .then((values) => {
-        Modal.confirm({
-          title: '提示',
-          content: '确定要提交吗?',
-          okText: '确认',
-          onOk() {
-            postFormData();
-          },
-          cancelText: '取消',
-          onCancel() {},
-        });
-      })
-      .catch((error) => {
-        console.log('step1_error', error);
-      });
-  };
-
-  const postFormData = () => {
-    clientManageApi.CustomerAddition(formModel).then((res) => {
-      message.success('提交成功');
-      router.push({ path: '/market-manage/external-manage/customer-manage/customer-list' });
+  //获取基本信息
+  function getBasicInfo() {
+    clientManageApi.getBasicInfo('f8e94a089cc777ee1840849089a28605').then((res) => {
+      console.log("resrresrserse",res.data);
+      Object.assign(formModel,res.data)
     });
-  };
+  }
 </script>
 
 <style scoped lang="less">

+ 21 - 12
src/views/market-manage/external-manage/customer-manage/customer-list/index.vue

@@ -32,12 +32,13 @@
 
   const router = useRouter();
   const selectedStatus = ref(''); // 定义状态变量
-  const pagerConfig1 = ref('1');
+  const pagerConfig = ref('0');
 
   //自定义tab页切换信息
-  const tabsOptions = [
+   // 自定义tab页切换信息,定义为响应式变量
+  const tabsOptions = ref([
     {
-      title: `全部(${pagerConfig1.value})`,
+      title: `全部`,
       icon: 'AppstoreOutlined',
       params: {
         a: 1,
@@ -48,7 +49,7 @@
       },
     },
     {
-      title: `审核中(${pagerConfig1.value})`,
+      title: `审核中`,
       icon: 'FileSyncOutlined',
       params: {},
       onClick: (value) => {
@@ -56,14 +57,14 @@
       },
     },
     {
-      title: `无效客户(${pagerConfig1.value})`,
+      title: `无效客户`,
       icon: 'UserDeleteOutlined',
       params: {},
       onClick: (value) => {
         searchFormDate('wxkh');
       },
     },
-  ];
+  ]);
 
   //自定义表单信息
   const {
@@ -134,7 +135,6 @@
           },
           {
             title: '操作人',
-            // field: 'createUserId',
             align: 'center',
             width: 150,
             slots: {
@@ -216,16 +216,25 @@
         const searchParams = getValue('searchConfig.data');
         setValue('searchConfig.data', { ...searchParams, status: selectedStatus.value });
       },
-       mounted() {
-      const total = getValue('pagerConfig');
-      console.log('pagerConfig1', total);
-      },
     },
   });
 
-  onMounted(() => {
+  onMounted(async () => {
     console.log('表格已加载');
+    await fetchTableData(); // 确保数据加载完成
+    getTotal(); 
   });
+
+  const getTotal = () => {
+    pagerConfig.value = getValue('pagerConfig.total');
+    if (tabsOptions.value.length > 0) {
+      tabsOptions.value[0].title = `全部(${pagerConfig.value})`;
+       tabsOptions.value[1].title = `审核中(${pagerConfig.value})`;
+        tabsOptions.value[2].title = `无效客户(${pagerConfig.value})`;
+    }
+  };
+
+  
   //自定义搜索传值
   function searchFormDate(status) {
     selectedStatus.value = status; // 更新状态值

+ 2 - 0
src/views/market-manage/external-manage/customer-manage/single-customer/components/customer-info.vue

@@ -173,6 +173,7 @@
   });
   // ---------------------- 表格样式配置 ----------------------------
   const labelCol = { style: { width: '120px' } };
+
   // ---------------------- 字段自定义 ----------------------------
   const formModel = reactive({});
   const stepFormRef = ref(null);
@@ -183,6 +184,7 @@
       formModel.survivalStatus=props?.descData?.survivalStatus?.[0].valueCode
       formModel.customerType=props?.descData?.customerType?.[0].valueName
       formModel.regionType=props?.descData?.regionType?.[0].valueName
+      formModel.provinceCityDistrict=props?.descData?.provinceName+`-`+props?.descData?.cityName
     }
   });
 

+ 20 - 20
src/views/market-manage/external-manage/project-manage/project-list/index.vue

@@ -174,26 +174,26 @@
             width: 150,
           },
           {
-            fixed: 'center',
-            cellRender: {
-              name: 'CellOption',
-              extraProps: {
-                buttons: [
-                  {
-                    title: '编辑',
-                    code: 'edit',
-                    display: ({ row }) => {
-                      return DISPLAY_STATE.VISIBLE;
-                    },
-                    disabled({ row }) {
-                      return false;
-                    },
-                    onClick({ row }) {
-                      goDetailPage(row);
-                    },
-                    extraProps: {},
-                  },
-                ],
+            field: 'opt',
+            title: '操作',
+            width: '10%',
+            fixed: 'right',
+            align: 'center',
+            slots: {
+              default({ row, column }) {
+                return (
+                  <>
+                    <a-button
+                      type='text'
+                      size='small'
+                      onClick={() => {
+                        goDetailPage(row);
+                      }}
+                    >
+                      项目详情
+                    </a-button>
+                  </>
+                );
               },
             },
           },

+ 50 - 54
src/views/market-manage/external-manage/project-manage/single-project/components/file-info.vue

@@ -11,6 +11,8 @@
           </a-button>
         </a-space>
       </template>
+
+      <FilePreviewModal ref="filePreviewModalRef" />
     </bs-table>
   </div>
 </template>
@@ -19,6 +21,7 @@
   import BsTable, { useBsTable } from '/@/components/BsUi/Table/index.js';
   import { onMounted, ref, watch } from 'vue';
   import { useRouter } from 'vue-router';
+  import FilePreviewModal from '/@/components/support/file-preview-modal/index.vue';
 
   const props = defineProps({
     selectedRulesId: String,
@@ -31,7 +34,7 @@
     getTablePropsValue: getValue,
   } = useBsTable({
     tableOptions: {
-      url: '/supports/risk/rule/queryPage',
+      url: '/support/file/queryPage',
       gridOptions: {
         loading: false,
         columns: [
@@ -42,38 +45,29 @@
           },
           {
             title: '附件名称',
-            field: 'riskDimension',
+            field: 'fileName',
+            align: 'center',
             width: 185,
             ellipsis: true,
-            formatter: ({ cellValue }) => {
-              return cellValue && cellValue.length > 0 ? cellValue[0].valueName : '';
-            },
           },
           {
             title: '附件大小',
-            field: 'riskModel',
+            field: 'fileSize',
+            align: 'center',
             width: 85,
             ellipsis: true,
-            slots: {
-              default({ row, column }) {
-                return <span>{row?.riskModel?.[0].valueName}</span>;
-              },
-            },
           },
           {
             title: '操作人',
-            field: 'riskLevel',
+            field: 'creatorName',
+            align: 'center',
             width: 120,
             ellipsis: true,
-            slots: {
-              default({ row, column }) {
-                return <span>{row?.riskLevel?.[0].valueName}</span>;
-              },
-            },
           },
           {
             title: '操作时间',
-            field: 'riskMetrics',
+            field: 'createTime',
+            align: 'center',
             width: 110,
             ellipsis: true,
           },
@@ -86,31 +80,35 @@
             slots: {
               default({ row, column }) {
                 return (
-                  <><a-button
-                    type='text'
-                    size='small'
-                    onClick={() => {
-                      goDetailPage(row);
-                    } }
-                  >
-                    预览
-                  </a-button><a-button
-                    type='text'
-                    size='small'
-                    onClick={() => {
-                      goDetailPage(row);
-                    } }
-                  >
+                  <>
+                    <a-button
+                      type='text'
+                      size='small'
+                      onClick={() => {
+                        goPreview(row);
+                      }}
+                    >
+                      预览
+                    </a-button>
+                    <a-button
+                      type='text'
+                      size='small'
+                      onClick={() => {
+                        goDownLoad(row);
+                      }}
+                    >
                       下载
-                    </a-button><a-button
+                    </a-button>
+                    <a-button
                       type='text'
                       size='small'
                       onClick={() => {
-                        goDetailPage(row);
-                      } }
+                        goDeleteFileInfo(row);
+                      }}
                     >
                       删除
-                    </a-button></>
+                    </a-button>
+                  </>
                 );
               },
             },
@@ -146,22 +144,6 @@
               placeholder: '请输入服务商名称',
             },
           },
-          {
-            field: 'name1',
-            label: '',
-            component: 'a-select',
-            componentProps: {
-              placeholder: '请选择地址',
-            },
-          },
-          {
-            field: 'name2',
-            label: '',
-            component: 'a-select',
-            componentProps: {
-              placeholder: '请选择服务商类型',
-            },
-          },
         ],
       },
       pagerConfig: {
@@ -193,7 +175,14 @@
   });
 
   const router = useRouter();
-  function goDetailPage(record) {
+
+  const filePreviewModalRef = ref();
+  //文件预览
+  function goPreview(record) {
+    filePreviewModalRef.value.showPreview(record);
+  }
+  //文件下载
+  function goDownLoad(record) {
     console.log('record', record);
     router.push({
       path: '/market-manage/external-manage/customer-manage/customer-create',
@@ -202,6 +191,13 @@
       },
     });
   }
+  //删除上传的文件
+  function goDeleteFileInfo(record) {
+    console.log('recode', record);
+    clientManageApi.DeleteBankCard({ id: record.id });
+    refreshTable();
+    message.success('删除成功');
+  }
 </script>
 
 <style scoped lang="scss">

+ 1 - 34
src/views/market-manage/external-manage/project-manage/single-project/components/project-info.vue

@@ -97,34 +97,6 @@
             </a-row>
           </div>
         </div>
-        <div>
-          <div class="basic-title">
-            <div class="basic-title-left">
-              <div class="basic-title-line"></div>
-              <span class="basic-title-text">其他信息</span>
-            </div>
-            <div class="basic-title-right">
-              <!-- <a-button type="primary">提交</a-button> -->
-            </div>
-          </div>
-          <div class="steps-content">
-            <a-row :gutter="16" class="smart-query-form-row">
-              <a-col :span="24">
-                <a-form-item label="附件" name="attachment" class="smart-query-form-item">
-                  <Upload
-                    :defaultFileList="defaultFileList"
-                    :maxUploadSize="10"
-                    :folder="FILE_FOLDER_TYPE_ENUM.COMMON.value"
-                    buttonText="上传附件"
-                    listType="text"
-                    extraMsg="最多上传10个附件"
-                    @change="changeAttachment"
-                  />
-                </a-form-item>
-              </a-col>
-            </a-row>
-          </div>
-        </div>
       </div>
     </a-form>
   </a-card>
@@ -135,12 +107,7 @@
   import { message, Modal } from 'ant-design-vue';
 
   import _ from 'lodash';
-  import { useBsTable } from '/@/components/BsUi/Table/index.js';
-  import { FILE_FOLDER_TYPE_ENUM } from '/@/constants/support/file-const';
-  import { clientManageApi } from '/@/api/market-manage/index.js';
-  import AreaCascader from '/@/components/framework/area-cascader/index.vue';
-  import DictSelect from '/@/components/support/dict-select/index.vue';
-  import Upload from '/@/components/support/file-upload/index.vue';
+
 
   const props = defineProps({
     id: {

+ 11 - 9
src/views/market-manage/external-manage/project-manage/single-project/index.vue

@@ -6,21 +6,21 @@
           <a-flex vertical gap="small">
             <div class="header-info">
               <div class="header-info-top">
-                <span>{{ singleProjValue?.projectName }}</span>
-                <a-tag color="#D4AF37" style="font-size: 15px">{{ singleProjValue?.partnerLevel?.[0]?.valueName }}</a-tag>
+                <span>{{ singleProjValue?.projectCode }}</span>
+                <a-tag color="#D4AF37" style="font-size: 15px">{{ singleProjValue?.projectCode }}</a-tag>
               </div>
               <div class="header-info-bottom">
                 <div>
                   客户类型:
-                  <span>{{ singleProjValue?.customerType?.[0]?.valueName}}</span>
+                  <span>{{ singleProjValue?.projectCode}}</span>
                 </div>
                 <div>
                   客户编码:
-                  <span>{{ singleProjValue?.customerCode }}</span>
+                  <span>{{ singleProjValue?.projectCode }}</span>
                 </div>
                 <div>
                   所在省市:
-                  <span>{{ `${singleProjValue?.provinceName}-${singleProjValue?.cityName}` }}</span>
+                  <span>{{ `${singleProjValue?.projectCode}-${singleProjValue?.projectCode}` }}</span>
                 </div>
               </div>
             </div>
@@ -82,13 +82,15 @@
   function getSingleProjList() {
     clientManageApi.ProjectDetails(query.id).then(
       (res) => {
+        console.log("2323232",res);
+        
         singleProjValue.value = res.data;
         // 动态更新 descList
         descList.value = [
-          { id: '1', label: '预计合同金额', value: singleProjValue.value.contractQuantity },
-          { id: '2', label: '招标方式', value: singleProjValue.value.totalOutputValue },
-          { id: '3', label: '对接营销经理', value: singleProjValue.value.invoiceAmount },
-          { id: '4', label: '营销经理联系电话', value: singleProjValue.value.unlicensedAmount },
+          { id: '1', label: '预计合同金额', value: singleProjValue.value.projectCode },
+          { id: '2', label: '招标方式', value: singleProjValue.value.projectCode },
+          { id: '3', label: '对接营销经理', value: singleProjValue.value.projectCode },
+          { id: '4', label: '营销经理联系电话', value: singleProjValue.value.projectCode },
         ];
       },
       (err) => {