hurx 4 minggu lalu
induk
melakukan
4b49c110dc

+ 32 - 19
src/views/customer/info/components/BasicInfoTab.vue

@@ -14,20 +14,21 @@
         <el-row :gutter="12" class="form-row">
           <el-col :span="8">
             <el-form-item label="所属公司:" required>
-              <el-select v-model="detailData.ownedCompany" placeholder="请选择" clearable filterable style="width: 100%;">
+              <el-select v-model="detailData.ownedCompany" placeholder="请选择" clearable filterable style="width: 100%" :disabled="isViewMode">
                 <el-option v-for="company in companyOptions" :key="company.id" :label="company.companyName" :value="company.id" />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="企业名称:" required>
-              <el-input v-model="detailData.enterpriseName" placeholder="请输入企业名称" />
+              <el-input v-model="detailData.enterpriseName" placeholder="请输入企业名称" :disabled="isViewMode" />
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="工商名称:" required>
               <el-input
                 v-model="detailData.businessName"
+                :disabled="isViewMode"
                 placeholder="请输入工商名称"
                 @blur="isAddMode && !isBasicInfoSaved && !isViewMode && emit('getBusinessInfo')"
                 @keyup.enter="isAddMode && !isBasicInfoSaved && !isViewMode && emit('getBusinessInfo')"
@@ -39,19 +40,19 @@
         <el-row :gutter="12" class="form-row">
           <el-col :span="8">
             <el-form-item label="企业简称:" required>
-              <el-input v-model="detailData.shortName" placeholder="请输入企业简称" />
+              <el-input v-model="detailData.shortName" placeholder="请输入企业简称" :disabled="isViewMode" />
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="供应商等级:" required>
-              <el-select v-model="detailData.cooperateLevel" placeholder="请选择" clearable filterable style="width: 100%;">
+              <el-select v-model="detailData.cooperateLevel" placeholder="请选择" clearable filterable style="width: 100%" :disabled="isViewMode">
                 <el-option v-for="level in supplierLevelOptions" :key="level.id" :label="level.supplierLevelName" :value="String(level.id)" />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="企业规模:" required>
-              <el-select v-model="detailData.membershipSize" placeholder="请选择" clearable filterable style="width: 100%;">
+              <el-select v-model="detailData.membershipSize" placeholder="请选择" clearable filterable style="width: 100%" :disabled="isViewMode">
                 <el-option v-for="scale in enterpriseScaleOptions" :key="scale.id" :label="scale.enterpriseScaleName" :value="scale.id" />
               </el-select>
             </el-form-item>
@@ -61,14 +62,19 @@
         <el-row :gutter="12" class="form-row">
           <el-col :span="8">
             <el-form-item label="行业类别:" required>
-              <el-select v-model="detailData.industrCategory" placeholder="请选择" clearable filterable style="width: 100%;">
-                <el-option v-for="industry in industryCategoryOptions" :key="industry.id" :label="industry.industryCategoryName" :value="industry.id" />
+              <el-select v-model="detailData.industrCategory" placeholder="请选择" clearable filterable style="width: 100%" :disabled="isViewMode">
+                <el-option
+                  v-for="industry in industryCategoryOptions"
+                  :key="industry.id"
+                  :label="industry.industryCategoryName"
+                  :value="industry.id"
+                />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="供应商类型:" required>
-              <el-select v-model="detailData.supplierType" placeholder="请选择" clearable filterable style="width: 100%;">
+              <el-select v-model="detailData.supplierType" placeholder="请选择" clearable filterable style="width: 100%" :disabled="isViewMode">
                 <el-option v-for="type in supplierTypeOptions" :key="type.id" :label="type.supplierTypeName" :value="type.id" />
               </el-select>
             </el-form-item>
@@ -88,17 +94,17 @@
         <el-row :gutter="12" class="form-row">
           <el-col :span="8">
             <el-form-item label="传真:">
-              <el-input v-model="detailData.fax" placeholder="请输入传真" @blur="onFaxBlur" />
+              <el-input v-model="detailData.fax" placeholder="请输入传真" @blur="onFaxBlur" :disabled="isViewMode" />
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="企业邮箱:">
-              <el-input v-model="detailData.mailbox" placeholder="请输入企业邮箱" />
+              <el-input v-model="detailData.mailbox" placeholder="请输入企业邮箱" :disabled="isViewMode" />
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="开始时间:">
-              <el-date-picker v-model="detailData.validityFromDate" type="date" placeholder="请选择" style="width: 100%;" />
+              <el-date-picker v-model="detailData.validityFromDate" type="date" placeholder="请选择" style="width: 100%" :disabled="isViewMode" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -106,17 +112,17 @@
         <el-row :gutter="12" class="form-row">
           <el-col :span="8">
             <el-form-item label="结束时间:">
-              <el-date-picker v-model="detailData.validityToDate" type="date" placeholder="请选择" style="width: 100%;" />
+              <el-date-picker v-model="detailData.validityToDate" type="date" placeholder="请选择" style="width: 100%" :disabled="isViewMode" />
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="邮政编码:" :error="postCodeError">
-              <el-input v-model="detailData.postCode" placeholder="请输入邮政编码" @blur="onPostCodeBlur" />
+              <el-input v-model="detailData.postCode" placeholder="请输入邮政编码" @blur="onPostCodeBlur" :disabled="isViewMode" />
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="网址:">
-              <el-input v-model="detailData.url" placeholder="请输入网址" />
+              <el-input v-model="detailData.url" placeholder="请输入网址" :disabled="isViewMode" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -124,12 +130,21 @@
         <el-row :gutter="12" class="form-row">
           <el-col :span="8">
             <el-form-item label="详细地址:" required>
-              <el-cascader v-model="selectedOfficeRegionProxy" :options="regionOptions" placeholder="请选择省市区" clearable filterable style="width: 100%;" @change="onOfficeRegionChange" />
+              <el-cascader
+                v-model="selectedOfficeRegionProxy"
+                :options="regionOptions"
+                placeholder="请选择省市区"
+                clearable
+                filterable
+                style="width: 100%"
+                @change="onOfficeRegionChange"
+                :disabled="isViewMode"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label=" " label-width="0">
-              <el-input v-model="detailData.officeAddress" placeholder="请输入详细地址" />
+              <el-input v-model="detailData.officeAddress" placeholder="请输入详细地址" :disabled="isViewMode" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -200,7 +215,7 @@
         <el-col :span="24">
           <div class="form-item">
             <span class="label">工商地址:</span>
-            <el-input v-model="businessInfo.businessAddress" placeholder="工商地址" style="width: 70%;" />
+            <el-input v-model="businessInfo.businessAddress" placeholder="工商地址" style="width: 70%" :disabled="isViewMode" />
           </div>
         </el-col>
       </el-row>
@@ -261,8 +276,6 @@
           </template>
         </el-table-column>
       </el-table>
-
-
     </div>
   </div>
 </template>

+ 10 - 3
src/views/customer/info/components/PurchaseInfoTab.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="tab-content">
     <div class="info-section">
-      <div class="section-title" style="display: flex; align-items: center; justify-content: space-between;">
+      <div class="section-title" style="display: flex; align-items: center; justify-content: space-between">
         <span>采购信息</span>
         <el-button v-if="!isViewMode" type="primary" icon="Document" @click="emit('save')">保存</el-button>
       </div>
@@ -10,7 +10,14 @@
         <el-col :span="12">
           <div class="form-item">
             <span class="label">产品经理:</span>
-            <el-select v-model="selectedProductManagerProxy" placeholder="请选择产品经理" filterable clearable style="width: 300px;">
+            <el-select
+              v-model="selectedProductManagerProxy"
+              placeholder="请选择产品经理"
+              filterable
+              clearable
+              style="width: 300px"
+              :disabled="isViewMode"
+            >
               <el-option v-for="item in staffOptions" :key="item.staffId" :label="item.displayText" :value="item.staffId" />
             </el-select>
           </div>
@@ -18,7 +25,7 @@
         <el-col :span="12">
           <div class="form-item">
             <span class="label">采购员:</span>
-            <el-select v-model="selectedBuyerProxy" placeholder="请选择采购员" filterable clearable style="width: 300px;">
+            <el-select v-model="selectedBuyerProxy" placeholder="请选择采购员" filterable clearable style="width: 300px" :disabled="isViewMode">
               <el-option v-for="item in staffOptions" :key="item.staffId" :label="item.displayText" :value="item.staffId" />
             </el-select>
           </div>

+ 16 - 5
src/views/customer/info/components/SupplyInfoTab.vue

@@ -8,7 +8,7 @@
         <el-button v-if="!isViewMode" type="primary" icon="Document" @click="emit('saveCategories')">保存</el-button>
       </div>
 
-      <el-checkbox-group v-model="selectedCategoriesProxy" class="category-group">
+      <el-checkbox-group v-model="selectedCategoriesProxy" class="category-group" :disabled="isViewMode">
         <el-checkbox v-for="category in productCategoryList" :key="category.id" :label="String(category.id)">
           {{ category.categoryName }}
         </el-checkbox>
@@ -25,10 +25,16 @@
         </div>
       </div>
       <div class="brand-display-wrapper">
-        <el-tag v-for="brand in selectedBrands" :key="brand.id" closable @close="emit('removeBrand', brand)" style="margin-right: 10px; margin-bottom: 10px;">
+        <el-tag
+          v-for="brand in selectedBrands"
+          :key="brand.id"
+          closable
+          @close="emit('removeBrand', brand)"
+          style="margin-right: 10px; margin-bottom: 10px"
+        >
           {{ brand.brandName }}
         </el-tag>
-        <span v-if="selectedBrands.length === 0" style="color: #999;">暂无品牌信息</span>
+        <span v-if="selectedBrands.length === 0" style="color: #999">暂无品牌信息</span>
       </div>
     </div>
 
@@ -94,8 +100,13 @@
         </el-table-column>
       </el-table>
 
-      <div style="margin-top: 20px; display: flex; justify-content: flex-end;">
-        <Pagination v-model:page="authorizationPagination.pageNum" v-model:limit="authorizationPagination.pageSize" :total="authorizationPagination.total" @pagination="emit('authorizationPagination')" />
+      <div style="margin-top: 20px; display: flex; justify-content: flex-end">
+        <Pagination
+          v-model:page="authorizationPagination.pageNum"
+          v-model:limit="authorizationPagination.pageSize"
+          :total="authorizationPagination.total"
+          @pagination="emit('authorizationPagination')"
+        />
       </div>
     </div>
   </div>

+ 1 - 1
src/views/customer/info/detail.vue

@@ -3,7 +3,7 @@
     <!-- 页面头部 -->
     <div class="detail-header">
       <el-icon class="back-icon" @click="goBack"><ArrowLeft /></el-icon>
-      <span class="header-title">查看供应商</span>
+      <span class="header-title">供应商</span>
     </div>
 
     <!-- 标签页 -->