renzx пре 1 месец
родитељ
комит
27e948b5d1

+ 242 - 15
ruoyi-ui-vue2/src/views/quotation/editQuotation.vue

@@ -63,7 +63,7 @@
         <!--          <div class="card-title">{{ $t('quotation.baseInfo') }}</div>-->
         <!--        </div>-->
         <el-form class="account-form" ref="form" :model="form" :rules="rules" label-position="top">
-          <el-row :gutter="20" v-if="versionFlag">
+          <el-row :gutter="20" v-if="versionFlag && type !== 'view'">
             <el-col :span="6">
               <!--报价编号-->
               <el-form-item :label="$t('quotation.quotationNo')" prop="quotationNo">
@@ -87,7 +87,7 @@
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row :gutter="20">
+          <el-row :gutter="20" v-if="type !== 'view'">
             <el-col :span="12">
               <!-- 关联项目 -->
               <el-form-item :label="$t('follow.relatedProject')" prop="relatedProjectId">
@@ -119,7 +119,7 @@
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row :gutter="20">
+          <el-row :gutter="20" v-if="type !== 'view'">
             <el-col :span="6">
               <!--代理商-->
               <el-form-item :label="$t('agent.agent')" prop="agentId">
@@ -158,6 +158,77 @@
               </el-form-item>
             </el-col>
           </el-row>
+          <el-row :gutter="24" v-if="type === 'view'">
+            <el-col :span="6">
+              <!--报价编号-->
+              <el-form-item :label="$t('quotation.quotationNo')" prop="quotationNo">
+                <el-input :disabled="true" v-model="form.quotationNo" style="width:16vw;"
+                          :placeholder="$t('common.pleaseInput') + $t('quotation.quotationNo')">
+                </el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <!--版本 -->
+              <el-form-item :label="$t('quotation.version')" prop="version">
+                <el-input :disabled="true" v-model="form.version"
+                          :placeholder="$t('common.pleaseInput') + $t('quotation.version')" style="width: 16vw;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <!--报价者 -->
+              <el-form-item :label="$t('quotation.quoter')" prop="quoter">
+                <el-input :disabled="true" v-model="form.quoter"
+                          :placeholder="$t('common.pleaseInput') + $t('quotation.quoter')" style="width: 16vw;"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <!-- 关联项目 -->
+              <el-form-item :label="$t('follow.relatedProject')" prop="relatedProjectId">
+                <div class="disabled-box" style="width: 16vw;">
+                  <span class="link-type" @click="$router.push('/project-view/' + form.projectId)">
+                    {{ form.projectNo }}
+                  </span>
+                </div>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <!--币种 -->
+              <el-form-item :label="$t('project.currency')" prop="currencyId">
+                <el-select :disabled="true" v-model="form.currencyId" clearable style="width:16vw;"
+                           :placeholder="$t('common.pleaseSelect') + $t('project.currency')">
+                  <el-option v-for="dict in dict.type.currency_type" :key="dict.value"
+                             :label="dict.label" :value="dict.value"/>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <!--代理商-->
+              <el-form-item :label="$t('agent.agent')" prop="agentId">
+                <el-select :disabled="true" v-model="form.agentId" clearable style="width:16vw;"
+                           :placeholder="$t('common.pleaseSelect') + $t('agent.agent')">
+                  <el-option v-for="dict in agentList" :key="dict.value"
+                             :label="dict.label" :value="dict.value"/>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <!--国家 -->
+              <el-form-item :label="$t('account.country')" prop="countryId">
+                <el-select :disabled="true" v-model="form.countryId" clearable style="width:16vw;"
+                           :placeholder="$t('common.pleaseSelect') + $t('account.country')">
+                  <el-option v-for="dict in countryList" :key="Number(dict.value)"
+                             :label="dict.label" :value="Number(dict.value)"/>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <!--城市 -->
+              <el-form-item :label="$t('project.city')" prop="city">
+                <el-input :disabled="true" v-model="form.city" maxlength="100" clearable style="width:16vw;"
+                          :placeholder="$t('common.pleaseInput') + $t('project.city')"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
         </el-form>
 
         <!-- 电梯一览 -->
@@ -457,7 +528,7 @@
 <!--                  <el-input v-model="priceForm.priceTotalFormat" style="width: 16vw;" disabled key="priceTotal3"
                             :placeholder="$t('common.pleaseInput') + $t('quotation.priceTotal')"/>-->
                   <span style="color: #b1b0b0;font-weight: bold;font-size: 20px;text-decoration: line-through;">{{priceForm.priceTotalFormat}}</span>
-                  <span style="color: black;font-weight: bold;font-size: 20px;"> {{priceForm.discountPriceFormat}}</span>
+                  <span style="color: red;font-weight: bold;font-size: 20px;"> {{priceForm.discountPriceFormat}}</span>
                   <span> ({{$t('quotation.discountRate')}}{{priceForm.discountRate}}%)</span>
                 </el-form-item>
               </el-col>
@@ -480,7 +551,7 @@
         </el-form>
       </div>
 
-      <div class="card card-base" style="width: 97.6vw;margin-top: 20px"  v-if="form.quotationStatus === '9'">
+<!--      <div class="card card-base" style="width: 97.6vw;margin-top: 20px"  v-if="form.quotationStatus === '9'">
         <div class="flex-center-left mb16">
           <img class="item-size" src="@/assets/images/account-item.png" alt="">
           <div class="card-title">{{ $t('project.priceTotal') }}</div>
@@ -489,15 +560,15 @@
         <el-form class="account-form" ref="priceForm" :model="priceForm" label-position="top">
           <el-row :gutter="20">
             <el-col :span="8">
-              <!-- 价格合计 -->
+              &lt;!&ndash; 价格合计 &ndash;&gt;
               <el-form-item :label="$t('quotation.priceTotal')" prop="priceTotal">
-<!--                <el-input disabled v-model="priceForm.discountPriceFormat" class="input-price" key="priceTotal2"
-                          :placeholder="$t('common.pleaseInput') + $t('quotation.priceTotal')" style="width: 16vw;"/>-->
+&lt;!&ndash;                <el-input disabled v-model="priceForm.discountPriceFormat" class="input-price" key="priceTotal2"
+                          :placeholder="$t('common.pleaseInput') + $t('quotation.priceTotal')" style="width: 16vw;"/>&ndash;&gt;
                 <span style="color: red;font-weight: bold;font-size: 20px;"> {{priceForm.discountPriceFormat}}</span>
               </el-form-item>
             </el-col>
             <el-col :span="8" v-if="!this.agentFlag">
-              <!-- 基准价格折率 -->
+              &lt;!&ndash; 基准价格折率 &ndash;&gt;
               <el-form-item :label="rateLabel" prop="discountRate">
                 <el-input disabled v-model="priceForm.discountRate" key="discountRate2"
                           :placeholder="$t('common.pleaseInput') + rateLabel" style="width: 16vw;"/>
@@ -506,26 +577,179 @@
           </el-row>
         </el-form>
 
-      </div>
-      <div class="card card-base" style="width: 97.6vw;margin-top: 20px"  v-if="type === 'view' && form.quotationStatus !== '9'">
+      </div>-->
+      <!--   以下是查看时显示的内容   -->
+<!--      <div class="card card-base" style="width: 97.6vw;margin-top: 20px"  v-if="type === 'view' && form.quotationStatus !== '9'">
         <div class="flex-center-left mb16">
           <img class="item-size" src="@/assets/images/account-item.png" alt="">
           <div class="card-title">{{ $t('project.priceTotal') }}</div>
         </div>
-
         <el-form class="account-form" ref="priceForm" :model="priceForm" label-position="top">
           <el-row :gutter="20">
             <el-col :span="8">
-              <!-- 价格合计 -->
+              &lt;!&ndash; 价格合计 &ndash;&gt;
               <el-form-item :label="$t('quotation.priceTotal')" prop="priceTotal">
-                <!--                <el-input disabled v-model="priceForm.discountPriceFormat" class="input-price" key="priceTotal2"
-                                          :placeholder="$t('common.pleaseInput') + $t('quotation.priceTotal')" style="width: 16vw;"/>-->
                 <span style="color: red;font-weight: bold;font-size: 20px;"> {{priceForm.discountPriceFormat}}</span>
               </el-form-item>
             </el-col>
           </el-row>
         </el-form>
+      </div>-->
+      <div class="card card-base" style="width: 97.6vw;margin-top: 20px" v-if="type === 'view'">
+        <div class="flex-center-left mb16">
+          <img class="item-size" src="@/assets/images/account-item.png" alt="">
+          <div class="card-title" v-if="form.quotationStatus !== '9'">{{ $t('quotation.negotiatedPrice') }}</div>
+          <div class="card-title" v-if="form.quotationStatus === '9'">{{ $t('project.priceTotal') }}</div>
+        </div>
+        <el-form class="account-form" ref="priceForm" :model="priceForm" label-position="top">
+          <!--议价-->
+          <div v-if="form.quotationStatus === '6' || form.quotationStatus ==='10'">
+            <el-row :gutter="20">
+              <el-col :span="8">
+                <!-- 价格合计 -->
+                <el-form-item :label="$t('quotation.priceTotal')" prop="priceTotal">
+                  <!--                  <el-input v-model="priceForm.priceTotalFormat" style="width: 16vw;" disabled key="priceTotal0"-->
+                  <!--                            :placeholder="$t('common.pleaseInput') + $t('quotation.priceTotal')"/>-->
+                  <span style="color: red;font-weight: bold;font-size: 20px;">{{priceForm.priceTotalFormat}}</span>
+                </el-form-item>
+              </el-col>
+            </el-row>
+<!--            <el-row :gutter="24">
+              <el-col :span="3" v-if="this.priceForm.bargainMethod === 1">
+                &lt;!&ndash;价格 &ndash;&gt;
+                <el-form-item :label="$t('quotation.exceptedPrice')" prop="discountPriceTotal">
+                  <span style="width: 16vw;font-weight: bold;font-size: 20px;">{{priceForm.expectedPriceFormat}}</span>
+                </el-form-item>
+              </el-col>
+              <el-col :span="5">
+                &lt;!&ndash; 议价方式 &ndash;&gt;
+                <el-form-item :label="$t('quotation.bargainMethod')" prop="bargainMethod">
+                  <el-select v-model="priceForm.bargainMethod" style="width:16vw;" key="bargainMethod" disabled
+                             :placeholder="$t('common.pleaseSelect') + $t('quotation.bargainMethod')">
+                    <el-option v-for="dict in bargainMethodList" :key="dict.value"
+                               :label="dict.label" :value="dict.value"/>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="5" v-if="this.priceForm.bargainMethod === 1">
+                &lt;!&ndash; 折率 &ndash;&gt;
+                <el-form-item :label="$t('quotation.discountRate')" prop="discountRate">
+                  <el-input-number v-model="priceForm.expectedRate" style="width: 16vw;" :precision="0" key="discountRate0" disabled
+                                   :min="0" :max="priceForm.discountRate" @change="expectedRateChange" :controls="false"
+                                   :placeholder="$t('common.pleaseInput') + $t('quotation.discountRate')"/>
+                </el-form-item>
+              </el-col>
+              <el-col :span="5" v-if="this.priceForm.bargainMethod === 0">
+                &lt;!&ndash;价格 &ndash;&gt;
+                <el-form-item :label="$t('quotation.exceptedPrice')" prop="discountPriceTotal">
+                  <el-input-number v-model="priceForm.expectedPrice" style="width: 16vw;" :precision="0" class="input-price" :min="0" key="discountPriceTotal0"
+                                   :max="priceForm.priceTotal" @change="expectedPriceChange" :controls="false" disabled
+                                   :placeholder="$t('common.pleaseInput') + $t('quotation.price')"/>
+                </el-form-item>
+              </el-col>
+            </el-row>-->
+          </div>
 
+          <!--议价审批-->
+          <div v-if="form.quotationStatus === '7' || form.quotationStatus === '8'">
+            <el-row :gutter="24">
+              <el-col :span="5">
+                <!-- 价格合计 -->
+                <el-form-item :label="$t('quotation.priceTotal')+':'" prop="priceTotal">
+                  <span style="font-weight: bold;font-size: 20px;">{{priceForm.priceTotalFormat}}</span>
+                  <span> ({{priceForm.basicPriceFormat}}+{{priceForm.optionalPriceFormat}})</span>
+                </el-form-item>
+              </el-col>
+              <el-col :span="5">
+                <!-- 希望价格 -->
+                <el-form-item :label="$t('quotation.exceptedPrice')+':'" prop="expectedPrice">
+                  <span style="font-weight: bold;font-size: 20px;">{{priceForm.expectedPriceFormat}}</span>
+                  <span> ({{rateLabel}}{{priceForm.expectedBasicRate}}%)</span>
+                </el-form-item>
+              </el-col>
+              <el-col :span="5">
+                <!-- 价格合计 -->
+                <el-form-item :label="$t('quotation.priceTotal')+':'" prop="priceTotal">
+                  <span style="color: red;font-weight: bold;font-size: 20px;">{{priceForm.discountPriceFormat}}</span>
+                  <span> ({{rateLabel}}{{priceForm.discountRate}}%)</span>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <!--            <el-row :gutter="20">
+                          <el-col :span="8">
+                            &lt;!&ndash; 价格合计 &ndash;&gt;
+                            <el-form-item :label="$t('quotation.priceTotal')" prop="priceTotal">
+                              <el-input disabled v-model="priceForm.priceTotalFormat" key="priceTotal1"
+                                        :placeholder="$t('common.pleaseInput') + $t('quotation.priceTotal')" style="width: 16vw;"/>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="8">
+                            &lt;!&ndash; 基准价格合计 &ndash;&gt;
+                            <el-form-item :label="$t('quotation.benchmarkPriceTotal')" prop="benchmarkPriceTotal">
+                              <el-input disabled v-model="priceForm.basicPriceFormat" key="benchmarkPriceTotal1"
+                                        :placeholder="$t('common.pleaseInput') + $t('quotation.benchmarkPriceTotal')" style="width: 16vw;"/>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="8">
+                            &lt;!&ndash;适配加价合计 &ndash;&gt;
+                            <el-form-item :label="$t('quotation.optionalPriceTotal')" prop="optionalPriceTotal">
+                              <el-input disabled v-model="priceForm.optionalPriceFormat" key="optionalPriceTotal1"
+                                        :placeholder="$t('common.pleaseInput') + $t('quotation.optionalPriceTotal')" style="width: 16vw;"/>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+                        <el-row :gutter="20">
+                          <el-col :span="8">
+                            &lt;!&ndash; 希望价格 &ndash;&gt;
+                            <el-form-item :label="$t('quotation.exceptedPrice')" prop="expectedPrice">
+                              <el-input disabled v-model="priceForm.expectedPriceFormat" class="input-price" key="expectedPrice1"
+                                        :placeholder="$t('common.pleaseInput') + $t('quotation.exceptedPrice')" style="width: 16vw;"/>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="8">
+                            &lt;!&ndash; 基准价格折率 &ndash;&gt;
+                            <el-form-item :label="rateLabel" prop="benchmarkPriceRate">
+                              <el-input disabled v-model="priceForm.expectedBasicRate" key="benchmarkPriceRate1"
+                                        :placeholder="$t('common.pleaseInput') + rateLabel" style="width: 16vw;"/>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+                        <div class="flex-center-left mb16">
+                          <img class="item-size" src="@/assets/images/account-item.png" alt="">
+                          <div class="card-title">{{ $t('quotation.discountedPrice') }}</div>
+                        </div>
+                        <el-row :gutter="20">
+                          <el-col :span="8">
+                            &lt;!&ndash; 价格合计 &ndash;&gt;
+                            <el-form-item :label="$t('quotation.priceTotal')" prop="priceTotal">
+                              <el-input disabled v-model="priceForm.discountPriceFormat" class="input-price" key="priceTotal2"
+                                        :placeholder="$t('common.pleaseInput') + $t('quotation.priceTotal')" style="width: 16vw;"/>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="8">
+                            &lt;!&ndash; 基准价格折率 &ndash;&gt;
+                            <el-form-item :label="rateLabel" prop="discountRate">
+                              <el-input disabled v-model="priceForm.discountRate" key="discountRate2"
+                                        :placeholder="$t('common.pleaseInput') + rateLabel" style="width: 16vw;"/>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>-->
+          </div>
+
+          <!--议价确认-->
+          <div v-if="form.quotationStatus === '9'">
+            <el-row :gutter="20">
+              <el-col :span="8">
+                <!-- 价格合计 -->
+                <el-form-item :label="$t('quotation.priceTotal')+':'" prop="priceTotal">
+                  <span style="color: #b1b0b0;font-weight: bold;font-size: 20px;text-decoration: line-through;">{{priceForm.priceTotalFormat}}</span>
+                  <span style="color: red;font-weight: bold;font-size: 20px;"> {{priceForm.discountPriceFormat}}</span>
+                  <span> ({{$t('quotation.discountRate')}}{{priceForm.discountRate}}%)</span>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </div>
+        </el-form>
       </div>
 
       <!--          采购确认/财务确认-->
@@ -955,6 +1179,9 @@ export default {
     if (this.typeIn(['bargain', 'bargainApproval', 'bargainConfirm'])) {
       await this.initPriceInfo()
     }
+    if(this.$route.query && this.$route.query.type === 'view'){
+      await this.initPriceInfo()
+    }
     if (this.type !== 'add') {
       await this.initForm();
       await this.getList();

+ 6 - 1
ruoyi-ui-vue2/src/views/quotation/quotation.vue

@@ -60,6 +60,11 @@
             {{ numFormat(row.additionalFees) }}
           </template>
         </Column>
+        <Column :label="$t('quotation.totalPriceLabel')" prop="additionalFees" align="right" width="120px">
+          <template #default="{ row }">
+            {{ numFormat(row.finalCurrencyPrice ? row.finalCurrencyPrice + row.additionalFees : row.price + row.additionalFees) }}
+          </template>
+        </Column>
         <!--报价者-->
         <Column :label="$t('quotation.quoter')" prop="nickName" :showSearch="true"/>
         <!--提交时间-->
@@ -266,7 +271,7 @@
             </template>
           </Column>
           <!--合计-->
-          <Column :label="$t('quotation.sumFees')" prop="" align="right">
+          <Column :label="$t('quotation.totalPriceLabel')" prop="" align="right">
             <template slot-scope="{row}">
               <span >
                 {{ toDecimal2(numFormat(sumPrice(row))) }}