Преглед на файлове

修改订单为业务单

chrislee преди 1 година
родител
ревизия
709f6e8ec7
променени са 2 файла, в които са добавени 52 реда и са изтрити 51 реда
  1. 43 32
      src/views/modules/order/order-add-or-update.vue
  2. 9 19
      src/views/modules/order/order.vue

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

@@ -1,11 +1,6 @@
 <!--  订单新增或修改 -->
 <template>
   <div>
-    <!-- <el-dialog
-      :title="!id ? '新增': display ? '详情' : '修改'"
-      width="70%"
-      :close-on-click-modal="false"
-      :visible.sync="visible"> -->
       <div class="my-title">{{ !id ? '新增': display ? '详情' : '修改' }}</div>
       <!-- 工作流 -->
       <div v-show="display && dataForm.workFlowBusinessExt">
@@ -62,22 +57,14 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
-            <el-form-item label="批次号" prop="batchNumber">
-              <el-input v-model="dataForm.batchNumber" placeholder="批次号" :disabled="display || addType === 2"></el-input>
-            </el-form-item>
-          </el-col>
         </el-row>
-<!--        <el-row class="my-row">-->
-<!--          <upload-component :display="display" :title="'合同扫描件'" :accept="'*'" :file-obj-list="fileList" @uploadSuccess="uploadSuccess"/>-->
-<!--        </el-row>-->
         <el-row class="my-row">
           <el-form-item label="备注说明" prop="notes">
             <el-input type="textarea" v-model="dataForm.notes" :disabled="display || addType === 2"  placeholder="备注说明" ></el-input>
           </el-form-item>
         </el-row>
         <el-row class="my-row">
-          <div class="title"><span style="color: red">*</span> 任务单产品明细</div>
+          <div class="title"><span style="color: red">*</span> 物料清单明细</div>
           <el-table
             :data="productDetails"
             border
@@ -94,7 +81,7 @@
               align="center"
               min-width="120"
               :show-tooltip-when-overflow="true"
-              label="产品名称">
+              label="物料名称">
             </el-table-column>
             <el-table-column
               prop="productSpecifications"
@@ -111,6 +98,13 @@
               min-width="100"
               label="数量">
             </el-table-column>
+            <el-table-column
+              prop="cnt"
+              header-align="center"
+              align="center"
+              min-width="100"
+              label="单位">
+            </el-table-column>
             <el-table-column
               prop="productNumber"
               header-align="center"
@@ -181,7 +175,7 @@
         <el-row class="my-row">
           <div class="title"><span style="color: red">*</span> 任务工单派发</div>
           <el-table
-            :data="productDetails"
+            :data="workInfoDetails"
             border
             style="width: 100%;">
             <el-table-column
@@ -277,16 +271,13 @@
           <el-button @click="onChose">取消</el-button>
           <el-button v-if="!display" type="primary" @click="dataFormSubmit()">确定</el-button>
         </span>
-    <!-- </el-dialog> -->
     <add-or-update v-if="productListVisible"  ref="productList" @addItem="addItem" />
   </div>
 </template>
 
 <script>
-  // import templateChose from '../product/template-chose'
   import { getOrderDetail } from '@/api/sale'
   import UserComponent from '../common/user-component'
-  // import {toNumber} from '@/utils/common'
   import UploadComponent from '../common/upload-component'
   import { dealStepData, dealStepLogs } from '@/api/util'
   import CusComponent from '../common/cus-component'
@@ -309,10 +300,10 @@
         fileList: [],
         dataList: [],
         id: 0,
-        productDetails: [],
+        productDetails: [], // 任务单物料明细
+        workInfoDetails: [], // 任务工单派发列表
         dataForm: {},
         dataRule: {
-          // contractNumber: [{ required: true, message: '合同号不能为空', trigger: 'blur' }],
           customerId: [{ required: true, message: '客户名称不能为空', trigger: 'change' }],
           salesmanId: [{ required: true, message: '业务员不能为空', trigger: 'change' }],
           deliveryDate: [{ required: true, message: '合同交期不能为空', trigger: 'change' }]
@@ -357,12 +348,18 @@
                 })
               })
             }
-            // 订单产品明细
-            if (data.data.saleROrderProductList) {
-              data.data.saleROrderProductList.forEach((item) => {
+            // 任务单物料明细
+            if (data.data.saleROrderProductParamsList) {
+              data.data.saleROrderProductParamsList.forEach((item) => {
                 this.addItem(item)
               })
             }
+            // 任务工单派发
+            if (data.data.workInfoList) {
+              data.data.workInfoList.forEach((item) => {
+                this.addWorkItem(item)
+              })
+            }
           }
         })
       },
@@ -379,6 +376,16 @@
           })
         }
       },
+      addWorkItem (item) {
+        if (!item.recordId) {
+          item.recordId = Math.round(Math.random() * 1000000)
+        }
+        if (this.workInfoDetails.findIndex(item1 => item1.recordId === item.recordId) === -1) {
+          this.workInfoDetails.push({
+            ...item
+          })
+        }
+      },
       validateField (type) {
         this.$refs.dataForm.validateField(type)
       },
@@ -397,16 +404,20 @@
                 })
               }
             }
-            // 订单产品明细
+            // 任务单物料明细
             let pList = this.productDetails
             if (pList.length > 0) {
               this.dataForm.saleROrderProductParamsList = pList
-              // // rate百分比转换
-              // this.dataForm.saleROrderProductParamsList.forEach((item) => {
-              //   item.rate = toNumber(item.rateVal)
-              // })
             } else {
-              this.$message.error('请添加订单产品明细')
+              this.$message.error('请添加任务单物料明细')
+              return
+            }
+            // 任务工单派发列表
+            let pList2 = this.workInfoDetails
+            if (pList2.length > 0) {
+              this.dataForm.workInfoList = pList2
+            } else {
+              this.$message.error('请添加任务工单派发')
               return
             }
             this.$http({
@@ -457,8 +468,8 @@
       deleteProductHandle (recordId) {
         this.productDetails.splice(this.productDetails.findIndex((item) => item.recordId === recordId), 1)
       },
-      //添加任务工单派发
-      addProductV2 () {
+      // 添加任务工单
+      addWorkItemHandle () {
 
       }
     }

+ 9 - 19
src/views/modules/order/order.vue

@@ -6,10 +6,10 @@
         <el-form-item label="客户名称">
           <cus-component v-model="dataForm.customerId" :cus-id="dataForm.customerId"></cus-component>
         </el-form-item>
-        <el-form-item label="合同">
+        <el-form-item label="合同编码">
           <el-input v-model="dataForm.contractNumber" placeholder="合同号" clearable></el-input>
         </el-form-item>
-        <el-form-item label="订单状态" prop="orderState">
+        <el-form-item label="状态" prop="orderState">
           <el-select
             v-model="dataForm.orderState"
             remote
@@ -31,9 +31,9 @@
         </el-form-item>
         <el-form-item>
           <el-button @click="queryData()">查询</el-button>
-          <el-button v-if="isAuth('order:ctl:save')" @click="addOrUpdateHandle(0, false)" type="primary">创建单</el-button>
-          <el-button v-if="isAuth('order:ctl:noteChangeConfig')" type="primary" @click="setNoticeChangeHandel()">订单业务变更通知设置</el-button>
-          <el-button v-if="isAuth('order:ctl:priceConfig')" type="primary" @click="setAmountMaskHandel()">单金额屏蔽设置</el-button>
+          <el-button v-if="isAuth('order:ctl:save')" @click="addOrUpdateHandle(0, false)" type="primary">创建任务单</el-button>
+          <el-button v-if="isAuth('order:ctl:noteChangeConfig')" type="primary" @click="setNoticeChangeHandel()">任务单变更通知设置</el-button>
+          <el-button v-if="isAuth('order:ctl:priceConfig')" type="primary" @click="setAmountMaskHandel()">任务单金额屏蔽设置</el-button>
         </el-form-item>
       </el-form>
       <el-table
@@ -54,7 +54,7 @@
           align="center"
           min-width="180"
           :show-tooltip-when-overflow="true"
-          label="单编码">
+          label="任务单编码">
         </el-table-column>
         <el-table-column
           prop="customerName"
@@ -86,21 +86,13 @@
           min-width="160"
           label="合同交期">
         </el-table-column>
-        <el-table-column
-          prop="batchNumber"
-          header-align="center"
-          align="center"
-          width="140"
-          :show-tooltip-when-overflow="true"
-          label="批次号">
-        </el-table-column>
         <el-table-column
           prop="-"
           header-align="center"
           align="center"
           min-width="120"
           :formatter="formatState"
-          label="审状态">
+          label="评审状态">
         </el-table-column>
         <el-table-column
           prop="-"
@@ -108,7 +100,7 @@
           align="center"
           min-width="120"
           :formatter="formatOrderState"
-          label="单状态">
+          label="任务单状态">
         </el-table-column>
         <el-table-column
           prop="approver"
@@ -123,7 +115,7 @@
           header-align="center"
           align="center"
           min-width="160"
-          label="单完成时间">
+          label="任务单完成时间">
         </el-table-column>
         <el-table-column
           prop="notes"
@@ -144,8 +136,6 @@
             <el-button v-if="isAuth('order:ctl:editor') && Number(scope.row.state) === 2" type="text" size="small" @click="addOrUpdateHandle(scope.row.orderId,false)">编辑</el-button>
             <el-button v-if="isAuth('order:clt:revoke') && Number(scope.row.state) === 1 && scope.row.creatorId === userId.toString()" type="text" size="small" @click="cancelOrder(scope.row)">撤回</el-button>
             <el-button v-if="isAuth('order:ctl:determine') && Number(scope.row.state) === 3 && Number(scope.row.orderState) === 6" type="text" size="small" @click="techConfirm(scope.row)">技术确定</el-button>
-<!--            <el-button v-if="isAuth('order:ctl:deliver') && Number(scope.row.orderState) === 3" type="text" size="small" @click="deliverHandle(scope.row.orderId)">发货</el-button>-->
-<!--            <el-button v-if="isAuth('order:ctl:arrived') && Number(scope.row.orderState) === 4 " type="text" size="small" @click="arrivedHandle(scope.row)">送达</el-button>-->
           </template>
         </el-table-column>
       </el-table>