chris 3 år sedan
förälder
incheckning
7cf5217ccc

+ 6 - 21
src/views/modules/sale/purchase-add-or-update.vue

@@ -24,8 +24,8 @@
       <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="auto">
         <el-row class="my-row">
           <el-col :span="8">
-            <el-form-item label="采购编码" prop="purchaseCode">
-              <el-input v-model="dataForm.purchaseCode" :disabled="display || !id" placeholder="系统自动生成,无需填写"></el-input>
+            <el-form-item label="采购编码" prop="procurementCode">
+              <el-input v-model="dataForm.procurementCode" :disabled="true" placeholder="系统自动生成,无需填写"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="16" style="padding-left: 20px">
@@ -128,9 +128,6 @@
             </el-table-column>
           </el-table>
         </el-row>
-        <el-row>
-          <span>合计(含税): {{totalAmount}}</span>
-        </el-row>
         <el-row v-if="!display" style="text-align: center; margin-top: 10px;">
           <el-button type="primary" icon="el-icon-plus" @click="addMaterial"></el-button>
         </el-row>
@@ -166,7 +163,6 @@
         optionsType: [],
         materialDetails: [],
         addMaterialVisible: false,
-        totalAmount: 0,
         dataRule: {
           purchaseType: [{ required: true, message: '请选择采购类别', trigger: 'change' }],
           applierId: [{ required: true, message: '请选择申请人', trigger: 'change' }]
@@ -209,15 +205,13 @@
               dealStepLogs(data.data.workFlowBusinessExt.processLogList, this.logList)
             }
             // 获取采购物品明细
-            if (data.data.details) {
-              this.materialDetails = []
-              this.materialDetails = data.data.details
+            if (data.data.purchaseDetails) {
+              this.materialDetails = data.data.purchaseDetails
               if (this.materialDetails && this.materialDetails.length > 0) {
                 this.materialDetails.forEach((item) => {
                   item.detailId = Math.round(Math.random() * 1000000)
                 })
               }
-              this.calTotal()
             }
           }
         })
@@ -230,9 +224,9 @@
         this.$refs['dataForm'].validate((valid) => {
           if (valid) {
             // 添加采购物品明细
-            this.dataForm.details = this.materialDetails
+            this.dataForm.purchaseDetails = this.materialDetails
             this.$http({
-              url: !this.id ? this.$http.adornUrl(`/biz-service/purchase/save`) : this.$http.adornUrl(`/biz-service/purchase/update`),
+              url: this.$http.adornUrl(`/biz-service/purchaseDetail/${!this.id ? 'save' : 'update'}`),
               method: 'post',
               data: this.$http.adornData({...this.dataForm, applierId: this.$store.state.user.id, orgId: this.$store.state.user.orgId})
             }).then(({data}) => {
@@ -279,15 +273,6 @@
         this.materialDetails.push(data)
         this.calTotal()
       },
-      calTotal () {
-        let total = 0
-        if (this.materialDetails) {
-          this.materialDetails.forEach((item) => {
-            total += item.taxAmount ? Number(item.taxAmount) : 0
-          })
-        }
-        this.totalAmount = total
-      },
       // 百分比
       formatPercent (row) {
         if (!row.taxRate) return ''

+ 42 - 53
src/views/modules/sale/purchase-detail.vue

@@ -1,9 +1,4 @@
 <template>
-  <!-- <el-dialog
-    title="查看"
-    width="70%"
-    :close-on-click-modal="false"
-    :visible.sync="visible"> -->
   <div>
     <div class="my-title">查看</div>
     <div style="margin-left: 20px;margin-right: 20px">
@@ -29,22 +24,19 @@
         <approve-component ref="approve" @approveFinished="approveFinished"/>
       </div>
       <e-desc title="基本信息" column="3">
-        <e-desc-item label="采购编码">{{dataForm.purchaseCode}}</e-desc-item>
+        <e-desc-item label="采购编码">{{dataForm.procurementCode}}</e-desc-item>
         <e-desc-item label="付款方式" span="2">
           <el-checkbox-group v-model="idsPayType">
             <el-checkbox disabled class="my-cb"  v-for="(item,i) in optionsPayType" :label="item.code" :key="item.code"><span>{{item.value}}</span></el-checkbox>
           </el-checkbox-group>
         </e-desc-item>
 
-        <e-desc-item label="采购类别">{{dataForm.purchaseTypeDesc}}</e-desc-item>
-        <e-desc-item label="申请人">{{dataForm.applierName}}</e-desc-item>
-        <e-desc-item label="申请部门">{{dataForm.deptName}}</e-desc-item>
-
-        <e-desc-item label="备注说明" span="3">{{dataForm.notes}}</e-desc-item>
+        <e-desc-item label="申请人">{{dataForm.applier}}</e-desc-item>
+        <e-desc-item label="申请部门" span="2">{{dataForm.orgName}}</e-desc-item>
       </e-desc>
       <e-desc title="采购物品明细">
         <el-table
-          :data="materialDetails"
+          :data="dataForm.purchaseDetails"
           border
           style="width: 100%;">
           <el-table-column
@@ -59,10 +51,11 @@
             v-if="false">
           </el-table-column>
           <el-table-column
-            prop="name"
+            prop="materialName"
             header-align="center"
             align="center"
             min-width="120"
+            :show-tooltip-when-overflow="true"
             label="物品名称">
           </el-table-column>
           <el-table-column
@@ -70,64 +63,59 @@
             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="数量">
-          </el-table-column>
-          <el-table-column
-            prop="unitName"
+            prop="purchaseType"
             header-align="center"
             align="center"
-            label="单位">
+            :formatter="formatType"
+            label="采购类别">
           </el-table-column>
           <el-table-column
-            prop="price"
+            prop="cnt"
             header-align="center"
             align="center"
-            label="不含税单价">
+            label="数量">
           </el-table-column>
           <el-table-column
-            prop="taxPrice"
+            prop="unitName"
             header-align="center"
             align="center"
-            label="含税单价">
+            label="单位">
           </el-table-column>
           <el-table-column
-            prop="taxAmount"
+            prop="deadline"
             header-align="center"
             align="center"
-            label="含税总价">
+            min-width="160"
+            :show-tooltip-when-overflow="true"
+            label="采购期限">
           </el-table-column>
           <el-table-column
-            prop="taxRate"
+            prop="batchNumber"
             header-align="center"
             align="center"
-            label="税率">
-            <template slot-scope="scope">
-              <span>{{scope.row.taxRate?(Number(scope.row.taxRate * 100)).toFixed(0):''}}</span>%
-            </template>
+            min-width="140"
+            :show-tooltip-when-overflow="true"
+            label="批次号/用途">
           </el-table-column>
           <el-table-column
             prop="notes"
             header-align="center"
             align="center"
+            min-width="160"
+            :show-tooltip-when-overflow="true"
             label="备注">
           </el-table-column>
         </el-table>
       </e-desc>
-      <e-desc>
-        <e-desc-item label="合计(含税)" span="3"><span style="margin-left: 20px">{{totalAmount}}</span></e-desc-item>
-      </e-desc>
     </div>
     <span slot="footer" class="dialog-footer">
       <el-button @click="onChose">返回</el-button>
     </span>
   </div>
-  <!-- </el-dialog> -->
 </template>
 
 <script>
@@ -136,6 +124,7 @@
   import { dealStepData, dealStepLogs } from '@/api/util'
   import { getPurchaseDetail } from '@/api/sale'
   import ApproveComponent from '../common/approve-component'
+  import { getDictList } from '@/api/dict'
   export default {
     name: 'purchase-detail',
     components: {
@@ -147,11 +136,11 @@
         isFlow: false,
         id: 0,
         dataForm: {},
-        materialDetails: [],
+
         stepList: [],
         logList: [],
-        totalAmount: 0,
         idsPayType: [],
+        optionsType: [],
         optionsPayType: [
           {
             code: '0', value: '对公转账'
@@ -169,15 +158,23 @@
       onChose () {
         this.$emit('onChose')
       },
+      // 获取采购类别字典
+      getTypeList () {
+        getDictList({type: 'purchase_type'}).then(({data}) => {
+          if (data) {
+            this.optionsType = data
+          }
+        })
+      },
       async init (id, businessType) {
         this.visible = true
         this.isFlow = !!(businessType && businessType !== '')
         this.id = id || 0
         this.dataForm = {}
-        this.materialDetails = []
         this.stepList = []
         this.logList = []
         this.idsPayType = []
+        this.getTypeList()
         this.getDetails(businessType)
       },
       getDetails (businessType) {
@@ -191,25 +188,11 @@
             if (data.data.payType) {
               this.idsPayType.push(data.data.payType)
             }
-            // 获取采购物品明细
-            if (data.data.details) {
-              this.materialDetails = data.data.details
-              this.calTotal()
-            }
             // 初始化审批Form
             this.showApproveForm(businessType, this.id)
           }
         })
       },
-      calTotal () {
-        let total = 0
-        if (this.materialDetails) {
-          this.materialDetails.forEach((item) => {
-            total += item.taxAmount ? Number(item.taxAmount) : 0
-          })
-        }
-        this.totalAmount = Number(total).toFixed(2)
-      },
       // 百分比
       formatPercent (row) {
         if (!row.taxRate) return ''
@@ -229,6 +212,12 @@
       approveFinished () {
         this.onChose()
         this.$emit('approveFinished')
+      },
+      // 采购类型
+      formatType (row) {
+        if (!row.purchaseType || !this.optionsType) return ''
+        const item1 = this.optionsType.find((item) => item.code === row.purchaseType.toString())
+        return item1 ? item1.value : ''
       }
     }
   }

+ 13 - 13
src/views/modules/sale/purchase.vue

@@ -59,7 +59,7 @@
           align="center">
         </el-table-column>
         <el-table-column
-          prop="purchaseCode"
+          prop="procurementCode"
           header-align="center"
           align="center"
           min-width="180"
@@ -82,7 +82,7 @@
           label="采购类别">
         </el-table-column>
         <el-table-column
-          prop="details.specification"
+          prop="specification"
           header-align="center"
           align="center"
           width="120"
@@ -90,19 +90,19 @@
           label="型号及规格">
         </el-table-column>
         <el-table-column
-          prop="details.cnt"
+          prop="cnt"
           header-align="center"
           align="center"
           label="数量">
         </el-table-column>
         <el-table-column
-          prop="details.cnt"
+          prop="qualifiedCnt"
           header-align="center"
           align="center"
           label="合格数量">
         </el-table-column>
         <el-table-column
-          prop="details.cnt"
+          prop="unitName"
           header-align="center"
           align="center"
           min-width="100"
@@ -110,7 +110,7 @@
           label="单位">
         </el-table-column>
         <el-table-column
-          prop="details.cnt"
+          prop="deadline"
           header-align="center"
           align="center"
           min-width="160"
@@ -118,7 +118,7 @@
           label="采购期限">
         </el-table-column>
         <el-table-column
-          prop="details.cnt"
+          prop="arrivedTime"
           header-align="center"
           align="center"
           min-width="160"
@@ -126,7 +126,7 @@
           label="到料时间">
         </el-table-column>
         <el-table-column
-          prop="details.cnt"
+          prop="batchNumber"
           header-align="center"
           align="center"
           min-width="160"
@@ -134,7 +134,7 @@
           label="批次号/用途">
         </el-table-column>
         <el-table-column
-          prop="details.cnt"
+          prop="procurementBasis"
           header-align="center"
           align="center"
           min-width="160"
@@ -142,7 +142,7 @@
           label="采购依据">
         </el-table-column>
         <el-table-column
-          prop="details.cnt"
+          prop="supplierName"
           header-align="center"
           align="center"
           min-width="160"
@@ -150,7 +150,7 @@
           label="供应商">
         </el-table-column>
         <el-table-column
-          prop="createTime"
+          prop="applyTime"
           header-align="center"
           align="center"
           min-width="160"
@@ -158,7 +158,7 @@
           label="申请时间">
         </el-table-column>
         <el-table-column
-          prop="applierName"
+          prop="applier"
           header-align="center"
           align="center"
           min-width="100"
@@ -166,7 +166,7 @@
           label="申请人">
         </el-table-column>
         <el-table-column
-          prop="deptName"
+          prop="orgName"
           header-align="center"
           align="center"
           min-width="120"