Browse Source

合同台账:产品明细调整

chris 2 years ago
parent
commit
d70a843448

+ 2 - 2
src/views/modules/cus/communicate-add-or-update.vue

@@ -88,7 +88,7 @@
               prop="cnt"
               header-align="center"
               align="center"
-              min-width="160"
+              min-width="100"
               label="数量">
               <template slot-scope="scope">
               <el-input-number v-model="scope.row.cnt" :disabled="display" :min="1" style="width: 140px;"/>
@@ -130,7 +130,7 @@
               prop="notes"
               header-align="center"
               align="center"
-              width="120"
+              width="140"
               :show-tooltip-when-overflow="true"
               label="备注">
             </el-table-column>

+ 21 - 8
src/views/modules/cus/contract-record-add-or-update.vue

@@ -67,20 +67,30 @@
                 prop="productName"
                 header-align="center"
                 align="center"
+                min-width="120"
+                :show-tooltip-when-overflow="true"
                 label="产品名称">
               </el-table-column>
+              <el-table-column
+                prop="productSpecifications"
+                header-align="center"
+                align="center"
+                min-width="120"
+                :show-tooltip-when-overflow="true"
+                label="规格">
+              </el-table-column>
               <el-table-column
                 prop="cnt"
                 header-align="center"
                 align="center"
-                label="数量"
-                width="170">
+                min-width="160"
+                label="数量">
               </el-table-column>
               <el-table-column
                 prop="price"
                 header-align="center"
                 align="center"
-                min-width="160"
+                min-width="100"
                 label="含税单价">
               </el-table-column>
               <el-table-column
@@ -97,6 +107,7 @@
                 prop="rate"
                 header-align="center"
                 align="center"
+                min-width="120"
                 label="税率">
                 <template slot-scope="scope">
                   <span>{{scope.row.rate}}</span>&nbsp;%
@@ -134,7 +145,8 @@
           <el-button @click="onChose">取消</el-button>
           <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
         </span>
-      <add-or-update-product v-if="productUpdateVisible" ref="productDialog" @changeItem="changeItem"/>
+      <add-or-update v-if="productUpdateVisible"  ref="productDialog" @addItem="changeItem" />
+<!--      <add-or-update-product v-if="productUpdateVisible" ref="productDialog" @changeItem="changeItem"/>-->
       <template-chose v-if="inboundVisible" ref="inbound" @addItems="addItems" />
     </div>
 </template>
@@ -142,7 +154,8 @@
 <script>
   import UploadComponent from '../common/upload-component'
   import TemplateChose from '../product/template-chose'
-  import AddOrUpdateProduct from './contract-record-product-add-or-update'
+  // import AddOrUpdateProduct from './contract-record-product-add-or-update'
+  import AddOrUpdate from '../product/template-add-or-update'
   import { getReviewCodeList, geContractBookDetail, getCommunicationList } from '@/api/cus'
 
 export default {
@@ -150,7 +163,7 @@ export default {
     components: {
       UploadComponent,
       TemplateChose,
-      AddOrUpdateProduct
+      AddOrUpdate
     },
     computed: {
       orgId: {
@@ -277,14 +290,14 @@ export default {
       updateProductHandle (row) {
         this.productUpdateVisible = true
         this.$nextTick(() => {
-          this.$refs.productDialog.init(row)
+          this.$refs.productDialog.init(1, row)
         })
       },
       // 添加产品
       addProductHandle () {
         this.inboundVisible = true
         this.$nextTick(() => {
-          this.$refs.inbound.init()
+          this.$refs.inbound.init(1)
         })
       },
       changeItem (item) {

+ 17 - 3
src/views/modules/cus/contract-record-detail.vue

@@ -31,20 +31,30 @@
             prop="productName"
             header-align="center"
             align="center"
+            min-width="120"
+            :show-tooltip-when-overflow="true"
             label="产品名称">
           </el-table-column>
+          <el-table-column
+            prop="productSpecifications"
+            header-align="center"
+            align="center"
+            min-width="120"
+            :show-tooltip-when-overflow="true"
+            label="规格">
+          </el-table-column>
           <el-table-column
             prop="cnt"
             header-align="center"
             align="center"
-            label="数量"
-            width="170">
+            min-width="160"
+            label="数量">
           </el-table-column>
           <el-table-column
             prop="price"
             header-align="center"
             align="center"
-            min-width="160"
+            min-width="100"
             label="含税单价">
           </el-table-column>
           <el-table-column
@@ -53,11 +63,15 @@
             align="center"
             min-width="100"
             label="含税总价">
+            <template slot-scope="scope">
+              <span>{{ (scope.row.cnt*scope.row.price).toFixed(1) }}</span>
+            </template>
           </el-table-column>
           <el-table-column
             prop="rate"
             header-align="center"
             align="center"
+            min-width="120"
             label="税率">
             <template slot-scope="scope">
               <span>{{scope.row.rate}}</span>&nbsp;%

+ 6 - 6
src/views/modules/order/order-add-or-update.vue

@@ -200,7 +200,7 @@
   // import templateChose from '../product/template-chose'
   import { getOrderDetail } from '@/api/sale'
   import UserComponent from '../common/user-component'
-  import {toNumber} from '@/utils/common'
+  // import {toNumber} from '@/utils/common'
   import UploadComponent from '../common/upload-component'
   import { dealStepData, dealStepLogs } from '@/api/util'
   import CusComponent from '../common/cus-component'
@@ -266,7 +266,7 @@
                 })
               })
             }
-          // 订单产品明细
+            // 订单产品明细
             if (data.data.saleROrderProductList) {
               data.data.saleROrderProductList.forEach((item) => {
                 this.addItem(item)
@@ -315,10 +315,10 @@
             let pList = this.productDetails
             if (pList.length > 0) {
               this.dataForm.saleROrderProductParamsList = pList
-              // rate百分比转换
-              this.dataForm.saleROrderProductParamsList.forEach((item) => {
-                item.rate = toNumber(item.rateVal)
-              })
+              // // rate百分比转换
+              // this.dataForm.saleROrderProductParamsList.forEach((item) => {
+              //   item.rate = toNumber(item.rateVal)
+              // })
             } else {
               this.$message.error('请添加订单产品明细')
               return

+ 21 - 3
src/views/modules/order/order-detail.vue

@@ -66,11 +66,19 @@
             :show-tooltip-when-overflow="true"
             label="产品名称">
           </el-table-column>
+          <el-table-column
+            prop="productSpecifications"
+            header-align="center"
+            align="center"
+            min-width="120"
+            :show-tooltip-when-overflow="true"
+            label="规格">
+          </el-table-column>
           <el-table-column
             prop="cnt"
             header-align="center"
             align="center"
-            width="80"
+            min-width="100"
             label="数量">
           </el-table-column>
           <el-table-column
@@ -85,13 +93,14 @@
             prop="price"
             header-align="center"
             align="center"
+            min-width="100"
             label="含税单价">
           </el-table-column>
           <el-table-column
             prop="amount"
             header-align="center"
             align="center"
-            width="80"
+            min-width="100"
             label="含税总价">
             <template slot-scope="scope">
               <span>{{ (scope.row.cnt*scope.row.price).toFixed(2) }}</span>
@@ -101,9 +110,10 @@
             prop="rate"
             header-align="center"
             align="center"
+            min-width="130"
             label="税率">
             <template slot-scope="scope">
-              <span>{{scope.row.rate?(Number(scope.row.rate * 100)).toFixed(0):''}}</span>%
+              <span>{{scope.row.rate}}</span>%
             </template>
           </el-table-column>
           <el-table-column
@@ -114,6 +124,14 @@
             :show-overflow-tooltip="true"
             label="备注">
           </el-table-column>
+          <el-table-column
+            prop="relatedProduct"
+            header-align="center"
+            align="center"
+            width="120"
+            :show-tooltip-when-overflow="true"
+            label="产品关联">
+          </el-table-column>
         </el-table>
       </e-desc>
     </div>

+ 11 - 4
src/views/modules/product/template-add-or-update.vue

@@ -26,6 +26,11 @@
             <el-input-number v-model="dataForm.price" :step="1" :min="0" :precision="1"></el-input-number>
           </el-form-item>
         </el-row>
+        <el-row class="my-row">
+          <el-form-item label="含税总价" prop="amount">
+            <span>{{ (dataForm.cnt * dataForm.price).toFixed(1) }}</span>
+          </el-form-item>
+        </el-row>
         <el-row class="my-row">
           <el-form-item label="税率" prop="rate">
             <el-input-number style="width: 160px" v-model="dataForm.rate" :step="1" :precision="1"/>&nbsp;%
@@ -37,8 +42,8 @@
           </el-form-item>
         </el-row>
         <el-row class="my-row" v-if="bizType === 2">
-          <el-form-item label="产品关联" prop="relatedProductId">
-            <product-component v-model="dataForm.relatedProductId + ''" @productSelected="prodSelected"/>
+          <el-form-item label="产品关联">
+            <product-component v-model="dataForm.productId" @productSelected="prodSelected"/>
           </el-form-item>
         </el-row>
       </el-form>
@@ -65,7 +70,8 @@
         dataRule: {
           productName: [{ required: true, message: '产品名称不能为空', trigger: 'blur' }],
           productSpecifications: [{ required: true, message: '规格不能为空', trigger: 'blur' }],
-          cnt: [{ required: true, message: '数量不能为空', trigger: 'blur' }]
+          cnt: [{ required: true, message: '数量不能为空', trigger: 'blur' }],
+          price: [{ required: true, message: '含税单价不能为空', trigger: 'blur' }]
         }
       }
     },
@@ -73,7 +79,7 @@
       onChose () {
         this.visible = false
       },
-      // 初始化:type: 1 沟通产品明细,2 订单产品明细
+      // 初始化:type: 1 沟通产品明细/合同台账产品明细,2 订单产品明细
       init (type, dataForm) {
         this.bizType = type
         if (dataForm) {
@@ -94,6 +100,7 @@
         })
       },
       prodSelected (item) {
+        this.dataForm.productId = item.value
         this.dataForm.relatedProduct = item.label
       }
     }