Browse Source

Merge branch 'dev' of git.echepei.com:caojunjie/Smart_platform_ui into dev

caojunjie 3 years ago
parent
commit
8d5f7c1b4a

+ 1 - 0
src/views/importTrade/invoice/index.vue

@@ -52,6 +52,7 @@
           type="text"
           icon="el-icon-delete"
           size="small"
+           v-if="scope.row.status == 0 || scope.row.status == 4"
           @click.stop="rowDel(scope.row,scope.index)"
         >删除
         </el-button>

+ 238 - 345
src/views/importTrade/receipt/detailsPageEdit.vue

@@ -3,57 +3,34 @@
     <div class="customer-head">
       <div class="customer-back">
         <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
-                   @click="backToList">返回列表
+          @click="backToList">返回列表
         </el-button>
       </div>
       <div class="upper_right_button">
-        <el-button type="primary"
-                   size="small"
-                   v-if="viewDisabled"
-                   class="el-button--small-yh "
-                   :loading="buttonLoading"
-                   @click.stop="openEdit()">编辑
+        <el-button type="primary" size="small" v-if="viewDisabled" class="el-button--small-yh " :loading="buttonLoading"
+          @click.stop="openEdit()">编辑
         </el-button>
-        <el-button type="primary"
-                   size="small"
-                   class="el-button--small-yh"
-                   :loading="buttonLoading"
-                   :disabled="!form.id || viewDisabled"
-                   @click.stop="confirmReceipt">
-          {{receiptDisable ?"撤销收货":"确认收货"}}
+        <el-button type="primary" size="small" class="el-button--small-yh" :loading="buttonLoading"
+          :disabled="!form.id || viewDisabled" @click.stop="confirmReceipt">
+          {{ receiptDisable ? "撤销收货" : "确认收货" }}
         </el-button>
 
         <el-dropdown style="padding: 0 8px;line-height: 0">
-          <el-button
-            type="success"
-            :loading="buttonLoading"
-            :disabled="!form.id || viewDisabled"
-            size="small"
-          >
+          <el-button type="success" :loading="buttonLoading" :disabled="!form.id || viewDisabled" size="small">
             业务处理<i class="el-icon-arrow-down el-icon--right"></i>
           </el-button>
           <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item
-              :loading="buttonLoading"
-              :disabled="!form.id  || viewDisabled"
+            <el-dropdown-item :loading="buttonLoading" :disabled="!form.id || viewDisabled"
               @click.native="createData()">创建单据
             </el-dropdown-item>
-            <el-dropdown-item
-              :loading="buttonLoading"
-              :disabled="!form.id  || viewDisabled"
-              @click.native="copyData()">复制单据
+            <el-dropdown-item :loading="buttonLoading" :disabled="!form.id || viewDisabled" @click.native="copyData()">
+              复制单据
             </el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
 
-        <el-button
-          class="el-button--small-yh"
-          type="primary"
-          size="small"
-          :disabled="disabled || receiptDisable || viewDisabled"
-          :loading="buttonLoading"
-          @click="editCustomer"
-        >保存数据
+        <el-button class="el-button--small-yh" type="primary" size="small"
+          :disabled="disabled || receiptDisable || viewDisabled" :loading="buttonLoading" @click="editCustomer">保存数据
         </el-button>
       </div>
     </div>
@@ -61,225 +38,126 @@
       <el-form :model="form" ref="form" label-width="130px" class="demo-ruleForm">
         <trade-card title="基础信息">
           <el-row>
-            <el-col v-for="(item,index) in basicData.column" :key="index" :span="item.span?item.span:8">
+            <el-col v-for="(item, index) in basicData.column" :key="index" :span="item.span ? item.span : 8">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
-                <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" :disabled="receiptDisable || viewDisabled" size="small" type="date" placeholder="请选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
-                <crop-select
-                  v-else-if="item.prop === 'corpId'"
-                  v-model="form[item.prop]"
-                  corpType="GYS"
-                  :disabled="viewDisabled || receiptDisable"
-                  style="width: 100%"
-                ></crop-select>
-                <user-com
-                  v-else-if="item.prop === 'arrivalContact'"
-                  :disabled="receiptDisable || viewDisabled"
-                  v-model="form[item.prop]"
-                  style="width: 100%"
-                ></user-com>
-                <user-com
-                  v-else-if="item.prop === 'saleman'"
-                  :disabled="receiptDisable || viewDisabled"
-                  v-model="form[item.prop]"
-                  style="width: 100%"
-                ></user-com>
-                <el-select v-else-if="item.prop === 'storageId'" style="width: 100%" :disabled="receiptDisable || viewDisabled" v-model="form[item.prop]" size="small" placeholder="请选择" clearable filterable>
-                  <el-option v-for="(item,index) in storageIdDic" :key="index" :label="item.cname " :value="item.id"></el-option>
+                <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]"
+                  :disabled="receiptDisable || viewDisabled" size="small" type="date" placeholder="请选择日期"
+                  value-format="yyyy-MM-dd HH:mm:ss" />
+                <crop-select v-else-if="item.prop === 'corpId'" v-model="form[item.prop]" corpType="GYS"
+                  :disabled="viewDisabled || receiptDisable" style="width: 100%"></crop-select>
+                <user-com v-else-if="item.prop === 'arrivalContact'" :disabled="receiptDisable || viewDisabled"
+                  v-model="form[item.prop]" style="width: 100%"></user-com>
+                <user-com v-else-if="item.prop === 'saleman'" :disabled="receiptDisable || viewDisabled"
+                  v-model="form[item.prop]" style="width: 100%"></user-com>
+                <el-select v-else-if="item.prop === 'storageId'" style="width: 100%"
+                  :disabled="receiptDisable || viewDisabled" v-model="form[item.prop]" size="small" placeholder="请选择"
+                  clearable filterable>
+                  <el-option v-for="(item, index) in storageIdDic" :key="index" :label="item.cname" :value="item.id">
+                  </el-option>
                 </el-select>
-                <el-input type="textarea" v-else-if="(item.prop === 'deliveryRemarks')" v-model="form[item.prop]"  :disabled="receiptDisable || viewDisabled" size="small" autocomplete="off" placeholder="请输入"></el-input>
-                <el-input v-else v-model="form[item.prop]" size="small" :disabled="item.disabled?true:false || receiptDisable || viewDisabled" placeholder="请输入" autocomplete="off"></el-input>
+                <el-input type="textarea" v-else-if="(item.prop === 'deliveryRemarks')" v-model="form[item.prop]"
+                  :disabled="receiptDisable || viewDisabled" size="small" autocomplete="off" placeholder="请输入">
+                </el-input>
+                <el-input v-else v-model="form[item.prop]" size="small"
+                  :disabled="item.disabled ? true : false || receiptDisable || viewDisabled" placeholder="请输入"
+                  autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
         </trade-card>
         <trade-card title="收货明细">
-          <avue-crud
-            :option="customerContact"
-            v-model="contactsForm"
-            :data="contactsData"
-            ref="crudContact"
-            :cell-style="cellStyle"
-            @row-save="rowSave"
-            @row-click="handleRowClick"
-            @row-update="rowUpdate"
-            @saveColumn="saveColumn"
-            @resetColumn="resetColumn"
-            @row-del="rowDel"
-          >
+          <avue-crud :option="customerContact" v-model="contactsForm" :data="contactsData" ref="crudContact"
+            :cell-style="cellStyle" @row-save="rowSave" @row-click="handleRowClick" @row-update="rowUpdate"
+            @saveColumn="saveColumn" @resetColumn="resetColumn" @row-del="rowDel">
             <template slot-scope="{row}" slot="billNo">
               <span v-if="row.$cellEdit" class="required_fields">*</span>
-              <el-input
-                v-if="row.$cellEdit"
-                v-model="row.billNo"
-                style="width: 90%"
-                placeholder=" "
-                size="small"
-                @change="bingOut(row)"
-              ></el-input>
+              <el-input v-if="row.$cellEdit" v-model="row.billNo" style="width: 90%" placeholder=" " size="small"
+                @change="bingOut(row)"></el-input>
               <span v-else>{{ row.billNo }}</span>
             </template>
             <template slot-scope="{row}" slot="contractNumber">
               <span v-if="row.$cellEdit" class="required_fields">*</span>
-              <el-select
-                v-if="row.$cellEdit"
-                style="width:90% !important;"
-                v-model="row.contractNumber"
-                placeholder=" "
-                size="small"
-                clearable
-                filterable
-              >
-                <el-option
-                  style="width:90%"
-                  v-for="(item,index) in contractDic"
-                  :key="index"
-                  :label="item.orderNo"
-                  @change="sumOrderNo(row)"
-                  :value="item.orderNo"
-                ></el-option>
+              <el-select v-if="row.$cellEdit" style="width:90% !important;" v-model="row.contractNumber" placeholder=" "
+                size="small" clearable filterable>
+                <el-option style="width:90%" v-for="(item, index) in contractDic" :key="index" :label="item.orderNo"
+                  @change="sumOrderNo(row)" :value="item.orderNo"></el-option>
               </el-select>
               <span v-else>{{ row.contractNumber }}</span>
             </template>
             <template slot="priceCategory" slot-scope="{row,index}">
               <span v-if="row.$cellEdit" class="required_fields">*</span>
-              <goods-select
-                style="width:90% !important;"
-                v-if="row.$cellEdit"
-                v-model="row.priceCategoryNames"
-                @valueName="(value) => valueName(value,row)"
-                :configuration="itemConfiguration"
-              >
+              <goods-select style="width:90% !important;" v-if="row.$cellEdit" v-model="row.priceCategoryNames"
+                @valueName="(value) => valueName(value, row)" :configuration="itemConfiguration">
                 <!-- @valueName="valueName($event,row)"   保留入参情况下,自定义参数-->
               </goods-select>
               <span v-else>{{ row.priceCategoryNames }}</span>
             </template>
             <template slot="cntrNo" slot-scope="{ row }">
               <span v-if="row.$cellEdit" class="required_fields">*</span>
-              <el-input
-                style="width:90%"
-                v-if="row.$cellEdit"
-                v-model="row.cntrNo"
-                placeholder="请输入"
-                size="small"
-              ></el-input>
+              <el-input style="width:90%" v-if="row.$cellEdit" v-model="row.cntrNo" placeholder="请输入" size="small">
+              </el-input>
               <span v-else>{{ row.cntrNo }}</span>
             </template>
             <template slot="billWeight" slot-scope="{ row }">
-              <el-input
-                style="width:90%"
-                v-if="row.$cellEdit"
-                v-model="row.billWeight"
-                placeholder="请输入"
-                size="small"
+              <el-input style="width:90%" v-if="row.$cellEdit" v-model="row.billWeight" placeholder="请输入" size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-                @input="billWeightChange(row)"
-                @change="totalChange(row.billWeight)"
-              ></el-input>
+                @input="billWeightChange(row)" @change="totalChange(row.billWeight)"></el-input>
               <span v-else>{{ row.billWeight }}</span>
             </template>
             <template slot="invoiceWeight" slot-scope="{ row }">
               <span v-if="row.$cellEdit" class="required_fields">*</span>
-              <el-input
-                style="width:90%"
-                v-if="row.$cellEdit"
-                v-model="row.invoiceWeight"
-                placeholder="请输入"
+              <el-input style="width:90%" v-if="row.$cellEdit" v-model="row.invoiceWeight" placeholder="请输入"
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-                @change="totalChange(row.invoiceWeight)"
-              ></el-input>
+                @change="totalChange(row.invoiceWeight)"></el-input>
               <span v-else>{{ row.invoiceWeight }}</span>
             </template>
             <template slot="price" slot-scope="{ row }">
-              <el-input
-                v-if="row.$cellEdit"
-                v-model="row.price"
-                placeholder="请输入"
-                size="small"
+              <el-input v-if="row.$cellEdit" v-model="row.price" placeholder="请输入" size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-                @input="priceChange(row)"
-              ></el-input>
+                @input="priceChange(row)"></el-input>
               <span v-else>{{ row.price }}</span>
             </template>
             <template slot="actualQuantity" slot-scope="{ row }">
               <span v-if="row.$cellEdit" class="required_fields">*</span>
-              <el-input
-                style="width:90%"
-                v-if="row.$cellEdit"
-                v-model="row.actualQuantity"
-                placeholder="请输入"
+              <el-input style="width:90%" v-if="row.$cellEdit" v-model="row.actualQuantity" placeholder="请输入"
                 size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-              ></el-input>
-              <span v-else>{{ row.actualQuantity | roundNumbers}}</span>
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'>
+              </el-input>
+              <span v-else>{{ row.actualQuantity | roundNumbers }}</span>
             </template>
             <template slot="contractAmount" slot-scope="{ row }">
-              <el-input
-                v-if="row.$cellEdit"
-                v-model="row.contractAmount"
-                placeholder="请输入"
-                size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-              ></el-input>
+              <el-input v-if="row.$cellEdit" v-model="row.contractAmount" placeholder="请输入" size="small"
+                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'>
+              </el-input>
               <span v-else>{{ row.contractAmount }}</span>
             </template>
             <template slot-scope="{row,index}" slot="menu">
-              <el-button
-                type="text"
-                size="small"
-                icon="el-icon-edit"
-                :disabled="receiptDisable  || viewDisabled"
-                @click="rowCell(row,index)"
-              >{{ row.$cellEdit ? '修改完成' : '修改' }}
+              <el-button type="text" size="small" icon="el-icon-edit" :disabled="receiptDisable || viewDisabled"
+                @click="rowCell(row, index)">{{ row.$cellEdit ? '修改完成' : '修改' }}
               </el-button>
-              <el-button
-                type="text"
-                icon="el-icon-delete"
-                size="small"
-                :disabled="receiptDisable  || viewDisabled"
-                @click="rowDel(row,index)"
-              >删除
+              <el-button type="text" icon="el-icon-delete" size="small" :disabled="receiptDisable || viewDisabled"
+                @click="rowDel(row, index)">删除
               </el-button>
             </template>
             <template slot="menuLeft" slot-scope="{size}">
-              <el-button type="primary"
-                         icon="el-icon-plus"
-                         size="small"
-                         :disabled="receiptDisable  || viewDisabled"
-                         @click="commoditySelection"
-              >录入明细
+              <el-button type="primary" icon="el-icon-plus" size="small" :disabled="receiptDisable || viewDisabled"
+                @click="commoditySelection">录入明细
               </el-button>
             </template>
           </avue-crud>
         </trade-card>
         <containerTitle title="附件上传"></containerTitle>
         <basic-container style="margin-bottom: 40px">
-          <avue-crud
-            :option="upLoadOption"
-            v-model="upLoadForm"
-            :data="upLoadData"
-            @row-save="upLoadSave"
-            @row-update="upLoadUpdate"
-            @row-del="upLoadDel"
-          ></avue-crud>
+          <avue-crud :option="upLoadOption" v-model="upLoadForm" :data="upLoadData" @row-save="upLoadSave"
+            @row-update="upLoadUpdate" @row-del="upLoadDel"></avue-crud>
         </basic-container>
       </el-form>
     </div>
 
-    <el-dialog
-      title="导入采购"
-      append-to-body
-      class="el-dialogDeep"
-      :visible.sync="procurementDialog"
-      width="60%"
-      :close-on-click-modal="false"
-      :destroy-on-close="true"
-      :close-on-press-escape="false"
-    >
-      <procurement-detail
-        @closeFun="closeFun"
-       @importProMent="importProMent"
-      >
+    <el-dialog title="导入采购" append-to-body class="el-dialogDeep" :visible.sync="procurementDialog" width="60%"
+      :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false">
+      <procurement-detail @closeFun="closeFun" @importProMent="importProMent">
       </procurement-detail>
     </el-dialog>
   </div>
@@ -287,7 +165,8 @@
 
 <script>
 import customerContact from "./config/customerContact.json"
-import {detailReceiptList,
+import {
+  detailReceiptList,
   submitReceiptList,
   removeGoodsItem,
   getStorage,
@@ -296,11 +175,12 @@ import {detailReceiptList,
   repealReceipt
 } from "@/api/importTrade/receipt"
 import upLoadOption from "../../exportTrade/purchaseContract/config/uploadList.json";
-import { isPercentage,roundNumbers } from "@/util/validate";
-import {detailListData } from "@/api/importTrade/purchase";
-import { contrastObj,contrastList } from "@/util/contrastData";
+import { isPercentage, roundNumbers } from "@/util/validate";
+import { detailListData } from "@/api/importTrade/purchase";
+import { contrastObj, contrastList } from "@/util/contrastData";
 import { getOrgOrderNo } from "@/api/importTrade/salesContract"
-import  procurementDetail from "@/components/procurement/purchase";
+import procurementDetail from "@/components/procurement/purchase";
+import { numCal } from "@/util/calculate";
 import _ from "lodash";
 
 export default {
@@ -310,14 +190,14 @@ export default {
       type: Object
     }
   },
-  components:{
+  components: {
     procurementDetail
   },
   filters: {
     isPercentage(val) {
       return isPercentage(val);
     },
-    roundNumbers(val){
+    roundNumbers(val) {
       return roundNumbers(val);
     }
   },
@@ -325,32 +205,32 @@ export default {
     return {
       form: {},
       disabled: false,
-      skip:false,
-      buttonLoading:false,
-      receiptDisable:false,
-      viewDisabled:false,
+      skip: false,
+      buttonLoading: false,
+      receiptDisable: false,
+      viewDisabled: false,
       customerContact: customerContact,
       contactsForm: {},
       contactsData: [],
-      contractDic:[],
-      currencyDic:[],
-      singleton:[],
-      selectKind:-1,
-      itemConfiguration:{
-        multipleChoices:false,
-        multiple:false,
-        disabled:false,
-        searchShow:true,
-        collapseTags:false,
-        placeholder:'请点击右边按钮选择',
-        dicData:[]
+      contractDic: [],
+      currencyDic: [],
+      singleton: [],
+      selectKind: -1,
+      itemConfiguration: {
+        multipleChoices: false,
+        multiple: false,
+        disabled: false,
+        searchShow: true,
+        collapseTags: false,
+        placeholder: '请点击右边按钮选择',
+        dicData: []
       },
       basicData: {
         column: [
           {
             label: '系统号',
             prop: 'sysNo',
-            disabled:true,
+            disabled: true,
             rules: [
               {
                 required: false,
@@ -385,7 +265,7 @@ export default {
           },
           {
             label: '仓库名称',
-            type:'select',
+            type: 'select',
             prop: 'storageId',
             dicData: [],
             rules: [
@@ -395,10 +275,10 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '收货日期',
             prop: 'businessDate',
-            type:'datetime',
+            type: 'datetime',
             rules: [
               {
                 required: false,
@@ -488,31 +368,31 @@ export default {
       },
       //上传文件
       upLoadOption: upLoadOption,
-      upLoadData:[],
-      storageIdDic:[],
-      upLoadForm:{},
+      upLoadData: [],
+      storageIdDic: [],
+      upLoadForm: {},
       loading: false,
       commodityData: false,
       tableData: [],
       //
-      procurementDialog:false,
+      procurementDialog: false,
       //新旧数据对比
-      oldForm:{},
-      oldContactsData:[],
-      oldUpLoadData:[],
+      oldForm: {},
+      oldContactsData: [],
+      oldUpLoadData: [],
     }
   },
   async created() {
     // this.customerContact = await this.getColumnData(this.getColumnName(41), customerContact);
     //币别
-    this.getWorkDicts("currency").then(res =>{
+    this.getWorkDicts("currency").then(res => {
       this.currencyDic = res.data.data
     })
-    getStorage().then(res =>{
+    getStorage().then(res => {
       this.storageIdDic = res.data
     })
 
-    if(this.detailData.view){
+    if (this.detailData.view) {
       this.viewDisabled = true
     }
 
@@ -521,30 +401,30 @@ export default {
       let id = this.detailData.id.replace(/\"/g, "")
       detailReceiptList(id).then(res => {
         this.afterData(res.data.data)
-      }).finally(()=>{
+      }).finally(() => {
         this.buttonLoading = false;
       })
     }
-    if(this.detailData.params){
+    if (this.detailData.params) {
       this.skip = true
       this.buttonLoading = true;
-      detailListData(this.detailData.params.id).then(res =>{
-        console.log(this.detailData.params,res)
+      detailListData(this.detailData.params.id).then(res => {
+        console.log(this.detailData.params, res)
         const orderNoList = [];  //合同号数据
-        this.detailData.params.orderItemIds.forEach((e,i) =>{
-          const item =   res.data.data.itemsVOList[e];
-          item.srcId =  item.id;
-          item.orgOrderNo =  res.data.data.orgOrderNo;
-          item.contractNumber =  res.data.data.orderNo;
+        this.detailData.params.orderItemIds.forEach((e, i) => {
+          const item = res.data.data.itemsVOList[e];
+          item.srcId = item.id;
+          item.orgOrderNo = res.data.data.orgOrderNo;
+          item.contractNumber = res.data.data.orderNo;
           item.exRate = res.data.data.exchangeRate;  //汇率
           item.currency = res.data.data.currency;   //币别
-              orderNoList.push(item.contractNumber)
-          if(item.actualQuantity !== 0){   //如果收过货
+          orderNoList.push(item.contractNumber)
+          if (item.actualQuantity !== 0) {   //如果收过货
             item.actualQuantity = _.subtract(item.orderQuantity, item.actualQuantity); //收货件数 = 采购件数 - 已收件数
-          }else{
-            item.actualQuantity =  item.orderQuantity;
+          } else {
+            item.actualQuantity = item.orderQuantity;
           }
-          item.contractAmount =  item.amount;
+          item.contractAmount = item.amount;
           //码单重量 除以 数量     每个的码单重量
           // item.singleton = {
           //   BQ : _.divide(item.billWeight, item.orderQuantity),
@@ -553,63 +433,73 @@ export default {
           delete item.id
           item.cntrLiang = item.cntrNum
           //如果箱量大于1  则根据箱量生成几条收货单明细  并均分发票重量
-          if(item.cntrLiang > 1){
-            let receiptInvoiceWeight =  item.invoiceWeight/item.cntrLiang;
-            for(let i=0;i<item.cntrLiang;i++){
-              item.invoiceWeight = receiptInvoiceWeight
+          if (item.cntrLiang > 1) {
+            let receiptInvoiceWeight = numCal(numCal(item.invoiceWeight) / item.cntrLiang).toFixed(6);
+            let receiptActualQuantity = numCal(numCal(item.actualQuantity) / item.cntrLiang).toFixed(2);
+            let receiptGrossWeight = numCal(numCal(item.grossWeight) / item.cntrLiang).toFixed(6);
+            let receiptBillWeight = numCal(numCal(item.billWeight) / item.cntrLiang).toFixed(6);
+            let receiptPrice = numCal(numCal(item.price) / item.cntrLiang).toFixed(2);
+            let receiptContractAmount = numCal(numCal(item.contractAmount) / item.cntrLiang).toFixed(2);
+            for (let i = 0; i < item.cntrLiang; i++) {
+              item.invoiceWeight = receiptInvoiceWeight;
+              item.actualQuantity = receiptActualQuantity;
+              item.grossWeight = receiptGrossWeight;
+              item.billWeight = receiptBillWeight
+              item.price = receiptPrice
+              item.contractAmount = receiptContractAmount
               this.$refs.crudContact.rowCellAdd(item);
             }
-          }else{
+          } else {
             console.log(item)
             this.$refs.crudContact.rowCellAdd(item);
           }
-          
-          this.$refs.crudContact.rowCell(item,this.contactsData.length - 1)
+
+          this.$refs.crudContact.rowCell(item, this.contactsData.length - 1)
         })
-        this.$set(this.form,'orderNo', Array.from(new Set(orderNoList)).join(","))  // 数组去重逗号隔开 那合同总
-        this.$set(this.form,'saleman',res.data.data.salesName)
-        this.$set(this.form,'corpId',res.data.data.corpsName[0].id)
-        this.$set(this.form,'orgOrderNo', res.data.data.orgOrderNo)
+        this.$set(this.form, 'orderNo', Array.from(new Set(orderNoList)).join(","))  // 数组去重逗号隔开 那合同总
+        this.$set(this.form, 'saleman', res.data.data.salesName)
+        this.$set(this.form, 'corpId', res.data.data.corpsName[0].id)
+        this.$set(this.form, 'orgOrderNo', res.data.data.orgOrderNo)
         this.totalChange();  //调用合计 算出重量
-      }).finally(()=>{
+      }).finally(() => {
         this.buttonLoading = false;
       })
     }
   },
   methods: {
     //货物名称 回显
-    valueName(value,row){
-      this.$set(row,"priceCategory",value)
+    valueName(value, row) {
+      this.$set(row, "priceCategory", value)
     },
     //拿到所有明细合同号 去重加逗号放到主表合同号
-    sumOrderNo(row){
-      const contractNumberList =  this.contactsData.map(item =>{return  item.contractNumber})
-      this.$set(this.form,'orderNo', Array.from(new Set(contractNumberList)).join(","))
+    sumOrderNo(row) {
+      const contractNumberList = this.contactsData.map(item => { return item.contractNumber })
+      this.$set(this.form, 'orderNo', Array.from(new Set(contractNumberList)).join(","))
     },
     //合计
-    totalChange(){
-      let invoiceList =  this.contactsData.map(item => {
-        if(item.invoiceWeight){
+    totalChange() {
+      let invoiceList = this.contactsData.map(item => {
+        if (item.invoiceWeight) {
           return parseFloat(item.invoiceWeight);
-        }else return 0
+        } else return 0
       });
-      let billList =  this.contactsData.map(item => {
-        if(item.billWeight){
+      let billList = this.contactsData.map(item => {
+        if (item.billWeight) {
           return parseFloat(item.billWeight);
-        }else return 0
+        } else return 0
       });
-      this.$set(this.form,"invoiceWeight",invoiceList.reduce((n,m) => n + m))
-      this.$set(this.form,"billWeight",billList.reduce((n,m) => n + m))
+      this.$set(this.form, "invoiceWeight", invoiceList.reduce((n, m) => n + m))
+      this.$set(this.form, "billWeight", billList.reduce((n, m) => n + m))
     },
     //提单号带出合同号
-    bingOut(row){
-      getOrgOrderNo(row.billNo).then(res =>{
-        if(res.data){
+    bingOut(row) {
+      getOrgOrderNo(row.billNo).then(res => {
+        if (res.data) {
           this.contractDic = res.data;
-          row.contractNumber =  res.data[0].orderNo;
+          row.contractNumber = res.data[0].orderNo;
           this.sumOrderNo()
         }
-      }).catch(()=>{
+      }).catch(() => {
         row.contractNumber = ''
       })
       // this.selectInventory(row);
@@ -622,7 +512,7 @@ export default {
     },
     //码单重量
     billWeightChange(row) {
-      if (row.billWeight &&  row.price) {
+      if (row.billWeight && row.price) {
         row.contractAmount = _.multiply(row.billWeight, row.price).toFixed(2);
       }
     },
@@ -665,13 +555,13 @@ export default {
           });
           this.contactsData.splice(index, 1);
         }
-      }).finally(()=>{
+      }).finally(() => {
         this.totalChange()
       })
     },
     //导入采购明细
-    importProMent(list){
-      list.forEach((item,index) =>{
+    importProMent(list) {
+      list.forEach((item, index) => {
         item.srcId = item.id;
         item.contractNumber = item.orderNo;
         item.contractAmount = item.amount;
@@ -689,7 +579,7 @@ export default {
       this.sumOrderNo();   //合并合同号
       this.procurementDialog = false;
     },
-    closeFun(){
+    closeFun() {
       this.procurementDialog = false
     },
     //导入采购
@@ -697,16 +587,16 @@ export default {
       this.procurementDialog = true;
     },
     //上传文件保存
-    upLoadSave(row, done, loading){
+    upLoadSave(row, done, loading) {
       this.upLoadData.push(row)
       done()
     },
     //修改附件上传触发
-    upLoadUpdate(row, done){
+    upLoadUpdate(row, done) {
       done(row);
     },
     //删除附件上传触发
-    upLoadDel(row, index,){
+    upLoadDel(row, index,) {
       this.$confirm("确定将选择数据删除?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
@@ -723,27 +613,27 @@ export default {
     editCustomer(status) {
       this.$refs["form"].validate((valid) => {
         for (let i = 0; i < this.contactsData.length; i++) {
-          if (this.contactsData[i].billNo === (null || "" )) {
+          if (this.contactsData[i].billNo === (null || "")) {
             return this.$message.error(`请输入第${i + 1}行的提单号`);
           }
-          if (this.contactsData[i].contractNumber === (null || "" )) {
+          if (this.contactsData[i].contractNumber === (null || "")) {
             return this.$message.error(`请输入第${i + 1}行的合同号`);
           }
-          if (this.contactsData[i].priceCategory === (null || "" )) {
+          if (this.contactsData[i].priceCategory === (null || "")) {
             return this.$message.error(`请输入第${i + 1}行的货物品种`);
           }
-          if (this.contactsData[i].cntrNo === (null || "" )) {
+          if (this.contactsData[i].cntrNo === (null || "")) {
             return this.$message.error(`请输入第${i + 1}行的箱号`);
           }
-          if (this.contactsData[i].actualQuantity === (null || "" )) {
+          if (this.contactsData[i].actualQuantity === (null || "")) {
             return this.$message.error(`请输入第${i + 1}行的件数`);
           }
-          if (this.contactsData[i].invoiceWeight === (null || "" )) {
+          if (this.contactsData[i].invoiceWeight === (null || "")) {
             return this.$message.error(`请输入第${i + 1}行的发票重量`);
           }
         }
 
-        this.form.billNo =Array.from(new Set(this.contactsData.map(item =>{return item.billNo}))).join(",")
+        this.form.billNo = Array.from(new Set(this.contactsData.map(item => { return item.billNo }))).join(",")
 
         if (valid) {
           let submitDto = {
@@ -753,16 +643,16 @@ export default {
           };
           this.buttonLoading = true;
           submitReceiptList(submitDto).then(res => {
-            if(res.data.success){
+            if (res.data.success) {
               this.$message.success("保存成功!")
               detailReceiptList(res.data.data.id).then(res => {
                 this.afterData(res.data.data)
               })
             }
-          }).finally(()=>{
-            this.buttonLoading =  false;
+          }).finally(() => {
+            this.buttonLoading = false;
           })
-          if(status === true){
+          if (status === true) {
             this.$emit("goBack");
           }
         } else {
@@ -771,84 +661,84 @@ export default {
       });
     },
     //确认收货
-    confirmReceipt(){
-      if(this.verificationData()){
-        if(!this.receiptDisable){
+    confirmReceipt() {
+      if (this.verificationData()) {
+        if (!this.receiptDisable) {
           this.$confirm("是否确认收货?", {
             confirmButtonText: "确定",
             cancelButtonText: "取消",
             type: "warning"
-          }).then(()=>{
-            if(!this.form.storageId){
+          }).then(() => {
+            if (!this.form.storageId) {
               return this.$message.error(`收货时仓库名称不能为空!`);
             }
 
             this.buttonLoading = true;
             this.form.deliveryItemsList = this.contactsData;
-            confirmReceipt(this.form).then(res =>{
-              if(res.data.success){
+            confirmReceipt(this.form).then(res => {
+              if (res.data.success) {
                 this.$message.success("收货成功!")
                 this.afterData(res.data.data)
               }
-            }).finally(()=>{
+            }).finally(() => {
               this.buttonLoading = false;
             })
           })
-        }else{
+        } else {
           this.$confirm("是否撤销收货!", {
             confirmButtonText: "确定",
             cancelButtonText: "取消",
             type: "warning"
-          }).then(()=>{
+          }).then(() => {
             this.buttonLoading = true;
             this.form.deliveryItemsList = this.contactsData;
-            repealReceipt(this.form).then(res =>{
-              if(res.data.success){
+            repealReceipt(this.form).then(res => {
+              if (res.data.success) {
                 this.$message.success("撤销成功!")
                 this.afterData(res.data.data)
               }
-            }).finally(()=>{
+            }).finally(() => {
               this.buttonLoading = false;
             })
           })
         }
       }
     },
-    afterData(data){
+    afterData(data) {
       this.form = data;
-      this.oldForm = Object.assign({},data);
-      this.receiptDisable = data.deliveryStatus === "已收货" ?   true :false
-      if(data.deliveryItemsList){
+      this.oldForm = Object.assign({}, data);
+      this.receiptDisable = data.deliveryStatus === "已收货" ? true : false
+      if (data.deliveryItemsList) {
         this.contactsData = data.deliveryItemsList
         this.oldContactsData = this.deepClone(data.deliveryItemsList)
       }
-      if(data.deliveryFilesList){
+      if (data.deliveryFilesList) {
         this.upLoadData = data.deliveryFilesList
         this.oldUpLoadData = this.deepClone(data.deliveryFilesList)
       }
-      if(this.detailData.status === 'copy'){
+      if (this.detailData.status === 'copy') {
         this.copyData()
       }
     },
-    verificationData(){
-      if(contrastObj(this.form,this.oldForm) || contrastList(this.contactsData,this.oldContactsData)
-        || contrastList(this.upLoadData,this.oldUpLoadData)
-      ){
+    verificationData() {
+      if (contrastObj(this.form, this.oldForm) || contrastList(this.contactsData, this.oldContactsData)
+        || contrastList(this.upLoadData, this.oldUpLoadData)
+      ) {
         this.$confirm("数据发生变化,请先提交保存!", "提示", {
           confirmButtonText: "保存",
           cancelButtonText: "取消",
           type: "warning",
         }).then(() => {
           this.editCustomer()
-        }).catch(()=>{
+        }).catch(() => {
           return false
         })
-      }else{
+      } else {
         return true
       }
     },
-    createData(){
-      if(this.verificationData()){
+    createData() {
+      if (this.verificationData()) {
         this.$confirm("确定创建新的单据吗?", "提示", {
           confirmButtonText: "保存",
           cancelButtonText: "取消",
@@ -863,19 +753,19 @@ export default {
         })
       }
     },
-    copyData(){
-      if(this.verificationData()){
+    copyData() {
+      if (this.verificationData()) {
         this.receiptDisable = false
 
-        delete  this.form.id  //删除id
-        delete  this.form.deliveryStatus
-        this.$set(this.form,"sysNo","")//系统编号
+        delete this.form.id  //删除id
+        delete this.form.deliveryStatus
+        this.$set(this.form, "sysNo", "")//系统编号
 
-        this.contactsData.forEach(item =>{
+        this.contactsData.forEach(item => {
           delete item.id  //删除id
         })
 
-        this.upLoadData.forEach(item =>{
+        this.upLoadData.forEach(item => {
           delete item.id  //删除id
         })
 
@@ -888,44 +778,44 @@ export default {
     //编辑
     async openEdit() {
       //标签页保存key
-      this.inDetailsKey(this.$route.name,this.detailData.lockData);
+      this.inDetailsKey(this.$route.name, this.detailData.lockData);
       //单据是否锁定
-      if(!await this.checkLocks(this.detailData.lockData)){
+      if (!await this.checkLocks(this.detailData.lockData)) {
         this.onLock(this.detailData.lockData); //上锁
         this.viewDisabled = false
-      }else{
+      } else {
         this.$message.warning('此单据已被锁定,请稍后再进行操作!')
       }
     },
     //返回列表
     async backToList() {
       //如果单据已被锁定 并且编辑按钮存在  则直接返回
-      if(this.viewDisabled || !this.detailData.lockData){
+      if (this.viewDisabled || !this.detailData.lockData) {
         this.$emit("goBack");
         return
       }
 
-      if(contrastObj(this.form,this.oldForm) || contrastList(this.contactsData,this.oldContactsData)
-        || contrastList(this.upLoadData,this.oldUpLoadData)
-      ){
+      if (contrastObj(this.form, this.oldForm) || contrastList(this.contactsData, this.oldContactsData)
+        || contrastList(this.upLoadData, this.oldUpLoadData)
+      ) {
         this.$confirm("是否保存当前页面?", "提示", {
           confirmButtonText: "保存",
           cancelButtonText: "取消",
           type: "warning",
         }).then(() => {
           this.editCustomer(true)
-        }).catch(()=>{
+        }).catch(() => {
           this.unLock(this.lockData) //解锁
           this.$emit("goBack");
-        }).finally(()=>{
-          if(this.form.id){
+        }).finally(() => {
+          if (this.form.id) {
             this.unLock(this.detailData.lockData);
             this.leaveDetailsKey(this.$route.name);
           }
         })
-      }else{
+      } else {
         this.$emit("goBack");
-        if(this.form.id){
+        if (this.form.id) {
           this.unLock(this.detailData.lockData);
           this.leaveDetailsKey(this.$route.name);
         }
@@ -963,7 +853,6 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-
 .back-icon {
   line-height: 64px;
   font-size: 20px;
@@ -974,30 +863,34 @@ export default {
 ::v-deep .el-form-item {
   margin-bottom: 0;
 }
-.required_fields{
+
+.required_fields {
   color: #F56C6C;
-  display:inline-block;
+  display: inline-block;
   width: 7%
 }
 
-.upper_right_button{
+.upper_right_button {
   display: flex;
   position: fixed;
   right: 12px;
   top: 47px;
 }
+
 .el-dialogDeep {
   ::v-deep .el-dialog {
     margin: 1vh auto 0 !important;
     padding-bottom: 10px !important;
 
-    .el-dialog__body, .el-dialog__footer {
+    .el-dialog__body,
+    .el-dialog__footer {
       padding-bottom: 0 !important;
       padding-top: 0 !important;
     }
   }
 }
-::v-deep .el-form-item__content{
+
+::v-deep .el-form-item__content {
   line-height: 32px;
 }
 </style>

+ 1 - 0
src/views/importTrade/receipt/index.vue

@@ -52,6 +52,7 @@
           type="text"
           icon="el-icon-delete"
           size="small"
+           v-if="scope.row.status == 0 || scope.row.status == 4"
           @click.stop="rowDel(scope.row,scope.index)"
         >删除
         </el-button>

+ 36 - 28
src/views/purchase/contract/detailsPage.vue

@@ -14,9 +14,12 @@
               审批处理<i class="el-icon-arrow-down el-icon--right"></i>
             </el-button>
             <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item :loading="buttonLoading" :disabled="viewDisabled" @click.native="auditCheck">提交审批</el-dropdown-item>
-              <el-dropdown-item :disabled="form.status == 0" @click.native="checkScheduleDialog = true">审批进度</el-dropdown-item>
-              <el-dropdown-item :disabled="form.status == 0 || form.status == 4 || !form.id" @click.native="repealCancel">撤销审批</el-dropdown-item>
+              <el-dropdown-item :loading="buttonLoading" :disabled="viewDisabled" @click.native="auditCheck">提交审批
+              </el-dropdown-item>
+              <el-dropdown-item :disabled="form.status == 0" @click.native="checkScheduleDialog = true">审批进度
+              </el-dropdown-item>
+              <el-dropdown-item :disabled="form.status == 0 || form.status == 4 || !form.id"
+                @click.native="repealCancel">撤销审批</el-dropdown-item>
             </el-dropdown-menu>
           </el-dropdown>
           <el-dropdown style="padding: 0 6px;line-height: 0" v-if="false">
@@ -220,7 +223,7 @@
                 :loading="buttonLoading" @click="commoditySelection">录入明细
               </el-button>
               <el-button type="warning" size="small" :loading="buttonLoading"
-                :disabled="selectContact.length == 0 || viewDisabled" @click="beforePage()">生成收货单
+                :disabled="selectContact.length == 0" @click="beforePage()">生成收货单
               </el-button>
               <el-button type="warning" size="small" :loading="buttonLoading" :disabled="viewDisabled"
                 @click="download">下载模板
@@ -235,7 +238,8 @@
         </trade-card>
         <fee-info ref="feeInfo" :orderFeesList="orderFeesList" :disabled="viewDisabled" :itemType="'申请'"
           activeName="second" :optionType="'JK'" @beforeFinance="beforeFinance" @afterFinance="afterFinance"
-          @getBillNo="getBillNo" feeUrl="/blade-purchase-sales/entranceOrder/removeOrderFees" :corpId="form.corpId" :billNoList="billNoList" :delType="2" />
+          @getBillNo="getBillNo" feeUrl="/blade-purchase-sales/entranceOrder/removeOrderFees" :corpId="form.corpId"
+          :billNoList="billNoList" :delType="2" />
         <upload-file ref="uploadFile" title="合同附件" :disabled="viewDisabled" :orderFilesList="orderFilesList"
           delUrl="" />
       </el-form>
@@ -278,14 +282,16 @@ import _ from "lodash";
 import { isPercentage, roundNumbers } from "@/util/validate";
 import billApplication from "@/components/bill/billApplication";
 //商品详情接口
-import {corpsattn} from "@/api/basicData/configuration"
+import { corpsattn } from "@/api/basicData/configuration"
 import { contrastObj, contrastList, contrastList2 } from "@/util/contrastData";
 import ApplyPayment from "../../../components/finance/applyPayment";
 import financialAccount from "../../../components/finance/financialAccount";
-import { pleaseCheck,repealPurchase } from "@/api/basicData/configuration"
+import { pleaseCheck, repealPurchase } from "@/api/basicData/configuration"
 import checkSchedule from "../../../components/check/checkSchedule";
 import check from "@/components/check/check";
 import { getToken } from "@/util/auth";
+import { getParities } from "@/api/basicData/customerInquiry";
+import { dateFormat } from "@/util/date";
 export default {
   name: "detailsPage",
   props: {
@@ -650,10 +656,6 @@ export default {
     //币别
     this.getWorkDicts("currency").then(res => {
       this.currencyDic = res.data.data
-      if (!this.detailData.id) {
-        this.$set(this.form, "currency", "USD")
-        this.currencyChange("USD")
-      }
     })
     this.getWorkDicts("contractType").then(res => {
       this.contractTypeDic = res.data.data
@@ -694,6 +696,10 @@ export default {
         this.buttonLoading = false;
       })
     }
+    if (!this.detailData.id) {
+      this.form.currency = "USD"
+      this.currencyChange("USD")
+    }
   },
   methods: {
     //选择货品物种
@@ -723,11 +729,13 @@ export default {
     },
     //带出汇率
     currencyChange(value) {
-      this.currencyDic.forEach(item => {
-        if (item.dictValue === value) {
-          this.$set(this.form, "exchangeRate", item.remark)
-        }
-      })
+      getParities({
+        currency: value,
+        businesDate: dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00"
+      }).then(res => {
+        const data = res.data.data;
+        this.$set(this.form, "exchangeRate", data.receivableParities)
+      });
       if (this.form.orderAmount && this.form.orderAmount) {
         this.$set(this.form, "rmbAmount", _.multiply(this.form.orderAmount, this.form.exchangeRate).toFixed(2))
       }
@@ -1068,7 +1076,7 @@ export default {
         // }
       }
     },
-    repealCancel(){
+    repealCancel() {
       this.$confirm("您确定撤回此次申请吗?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
@@ -1076,12 +1084,12 @@ export default {
       }).then(() => {
         this.buttonLoading = true
         const data = {
-          id : this.form.id,
+          id: this.form.id,
           checkType: 'cgqh',
-          pageLabel:"采购订单",
+          pageLabel: "采购订单",
           checkFlag: 2,
         }
-        repealPurchase(data).then(res=>{
+        repealPurchase(data).then(res => {
           this.viewDisabled = true
           this.approverDisabled = true
           this.buttonLoading = false
@@ -1235,7 +1243,7 @@ export default {
       }
     },
     async openEdit() {
-      if (this.approverDisabled || this.form.status != 0) { //是否审批
+      if (this.g || this.form.status != 0) { //是否审批
         this.$message.warning("此订单已提交审批,不可编辑!")
         return
       }
@@ -1292,18 +1300,18 @@ export default {
       res.data.forEach(item => {
         const params = {
           ...item,
-          itemType:item.specificationAndModel,
-          cntrNo:item.containerNo,
-          orderQuantity:item.number,
-          cntrType:item.cntrType?String(item.cntrType):null,
+          itemType: item.specificationAndModel,
+          cntrNo: item.containerNo,
+          orderQuantity: item.number,
+          cntrType: item.cntrType ? String(item.cntrType) : null,
         }
         this.$refs.crudContact.rowCellAdd(params)
       })
     },
-    uploadError(err, file, fileList){
+    uploadError(err, file, fileList) {
       let myError = err.toString();
-      myError= myError.replace("Error: ","")
-      myError= JSON.parse(myError);
+      myError = myError.replace("Error: ", "")
+      myError = JSON.parse(myError);
       this.$message.error(myError.msg)
       this.openFullScreen(true)
     },

+ 11 - 10
src/views/salesManagement/salesContract/detailsPage.vue

@@ -189,11 +189,11 @@
             <template slot="menuLeft" slot-scope="{ row }">
               <el-button type="primary" icon="el-icon-plus" size="small" :disabled="viewDisabled"
                 :loading="buttonLoading" @click="newDetails">录入明细</el-button>
-<!--              <el-button type="warning" size="small" :loading="buttonLoading"
+              <!--              <el-button type="warning" size="small" :loading="buttonLoading"
                 :disabled="selection.length ==0|| form.status!=1 " @click="generateShipmentD">生成发货单
               </el-button>-->
-              <el-button type="warning" size="small" :loading="buttonLoading"
-                          @click="generateShipmentD" :disabled="selection.length === 0">生成发货单
+              <el-button type="warning" size="small" :loading="buttonLoading" @click="generateShipmentD"
+                :disabled="selection.length === 0">生成发货单
               </el-button>
               <!--              <el-button type="info"
                          size="small"
@@ -213,7 +213,8 @@
           </avue-crud>
         </trade-card>
         <fee-info ref="feeInfo" @beforeFinance="beforeFinance" @afterFinance="afterFinance" :disabled="viewDisabled"
-          :orderFeesList="orderFeesList" :itemType="'收费'" optionType="'JK'" feeUrl="/blade-purchase-sales/entranceOrder/removeOrderFees" :corpId="form.corpId" :delType="2" />
+          :orderFeesList="orderFeesList" :itemType="'收费'" :optionType="'JK'"
+          feeUrl="/blade-purchase-sales/entranceOrder/removeOrderFees" :corpId="form.corpId" :delType="2" />
         <upload-file ref="uploadFile" title="合同附件" :disabled="viewDisabled"
           :orderFilesList="orderFilesList || viewDisabled" delUrl="" />
       </el-form>
@@ -278,8 +279,8 @@ import billApplication from "@/components/bill/billApplication";
 import checkSchedule from "../../../components/check/checkSchedule";
 import check from "@/components/check/check";
 import { pleaseCheck } from "@/api/basicData/configuration"
-import {getParities} from "@/api/basicData/customerInquiry";
-import {dateFormat} from "@/util/date";
+import { getParities } from "@/api/basicData/customerInquiry";
+import { dateFormat } from "@/util/date";
 
 export default {
   name: "detailsPage",
@@ -577,10 +578,6 @@ export default {
     //币别
     this.getWorkDicts("currency").then(res => {
       this.currencyDic = res.data.data
-      if (!this.detailData.id) {
-        this.$set(this.form, "currency", "USD")
-        this.currencyChange("USD")
-      }
     })
     if (this.detailData.view) {
       this.viewDisabled = true
@@ -616,6 +613,10 @@ export default {
         this.buttonLoading = false;
       })
     }
+    if (!this.detailData.id) {
+      this.form.currency = "USD"
+      this.currencyChange("USD")
+    }
   },
   methods: {
     valueName(value, row) {

+ 88 - 113
src/views/salesManagement/salesContract/index.vue

@@ -1,97 +1,70 @@
 <template>
   <basic-container v-if="show">
-    <avue-crud :option="option"
-               :data="dataList"
-               ref="crud"
-               v-model="form"
-               :page.sync="page"
-               :table-loading="loading"
-               :search.sync="search"
-               @row-del="rowDel"
-               :before-open="beforeOpen"
-               :before-close="beforeClose"
-               :cell-style="cellStyle"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad"
-               @expand-change="expandChange"
-               @saveColumn="saveColumn"
-               @resetColumn="resetColumn"
-               @search-criteria-switch="searchCriteriaSwitch"
-    >
+    <avue-crud :option="option" :data="dataList" ref="crud" v-model="form" :page.sync="page" :table-loading="loading"
+      :search.sync="search" @row-del="rowDel" :before-open="beforeOpen" :before-close="beforeClose"
+      :cell-style="cellStyle" @search-change="searchChange" @search-reset="searchReset"
+      @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+      @refresh-change="refreshChange" @on-load="onLoad" @expand-change="expandChange" @saveColumn="saveColumn"
+      @resetColumn="resetColumn" @search-criteria-switch="searchCriteriaSwitch">
       <template slot="corpIdSearch">
-        <select-component
-          v-model="search.corpId"
-          :configuration="configuration"
-        ></select-component>
+        <select-component v-model="search.corpId" :configuration="configuration"></select-component>
       </template>
       <template slot="salesNameSearch">
-        <user-com
-          v-model="search.salesName"
-          style="width: 100%"
-        ></user-com>
+        <user-com v-model="search.salesName" style="width: 100%"></user-com>
       </template>
       <template slot-scope="{row,size}" slot="search">
       </template>
       <template slot-scope="scope" slot="expand" width="48px">
         <el-table :data="scope.row.insideList" v-loading="scope.row.loading">
-          <el-table-column   align="center"  width="40"></el-table-column>
-          <el-table-column  label="提单号" prop="billNo" align="center" show-overflow-tooltip width="150"></el-table-column>
-          <el-table-column  label="合同号" prop="orgOrderNo" align="center" show-overflow-tooltip width="150"></el-table-column>
-          <el-table-column  label="货物名称" prop="priceCategory" align="center" show-overflow-tooltip width="150"></el-table-column>
-          <el-table-column  label="件数" prop="orderQuantity" align="center" show-overflow-tooltip width="120"></el-table-column>
-          <el-table-column  label="发票重量" prop="invoiceWeight" align="center" show-overflow-tooltip width="150"></el-table-column>
-          <el-table-column  label="码单重量" prop="billWeight" align="center" show-overflow-tooltip width="120"></el-table-column>
-          <el-table-column  label="发票金额" prop="amount" align="center" show-overflow-tooltip width="120"></el-table-column>
-          <el-table-column  label="已发件数" prop="actualQuantity" align="center" show-overflow-tooltip width="120"></el-table-column>
+          <el-table-column align="center" width="40"></el-table-column>
+          <el-table-column label="提单号" prop="billNo" align="center" show-overflow-tooltip width="150"></el-table-column>
+          <el-table-column label="合同号" prop="orgOrderNo" align="center" show-overflow-tooltip width="150">
+          </el-table-column>
+          <el-table-column label="货物名称" prop="priceCategory" align="center" show-overflow-tooltip width="150">
+          </el-table-column>
+          <el-table-column label="件数" prop="orderQuantity" align="center" show-overflow-tooltip width="120">
+          </el-table-column>
+          <el-table-column label="发票重量" prop="invoiceWeight" align="center" show-overflow-tooltip width="150">
+          </el-table-column>
+          <el-table-column label="码单重量" prop="billWeight" align="center" show-overflow-tooltip width="120">
+          </el-table-column>
+          <el-table-column label="发票金额" prop="amount" align="center" show-overflow-tooltip width="120">
+          </el-table-column>
+          <el-table-column label="已发件数" prop="actualQuantity" align="center" show-overflow-tooltip width="120">
+          </el-table-column>
         </el-table>
       </template>
       <template slot="menuLeft">
-        <el-button size="small"
-                   type="success"
-                   :disabled="selectionList.length != 1"
-                   @click.stop="copyBill"
-        >复制单据
+        <el-button size="small" type="success" :disabled="selectionList.length != 1" @click.stop="copyBill">复制单据
         </el-button>
       </template>
       <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-delete"
-          size="small"
-          @click.stop="rowDel(scope.row,scope.index)"
-        >删除
+        <el-button type="text" icon="el-icon-delete" size="small" v-if="scope.row.status == 0 || scope.row.status == 4"
+          @click.stop="rowDel(scope.row, scope.index)">删除
         </el-button>
       </template>
       <template slot-scope="scope" slot="orderNo">
-        <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.orderNo }}</span>
+        <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.orderNo
+        }}</span>
       </template>
       <template slot-scope="scope" slot="corpId">
-        <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.corpsName }}</span>
+        <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.corpsName
+        }}</span>
       </template>
       <template slot-scope="scope" slot="orderQuantity">
-        <span>{{ scope.row.orderQuantity | roundNumbers}}</span>
+        <span>{{ scope.row.orderQuantity | roundNumbers }}</span>
       </template>
       <template slot-scope="scope" slot="actualQuantity">
-        <span>{{ scope.row.actualQuantity | roundNumbers}}</span>
+        <span>{{ scope.row.actualQuantity | roundNumbers }}</span>
       </template>
     </avue-crud>
   </basic-container>
-  <detail-page
-    ref="detail"
-    @goBack="goBack"
-    :detailData="detailData"
-    v-else
-  ></detail-page>
+  <detail-page ref="detail" @goBack="goBack" :detailData="detailData" v-else></detail-page>
 </template>
 
 <script>
 import option from "./config/mainList.json";
-import {selectSaleList,removeList,detailSaleList} from "@/api/importTrade/salesContract"
+import { selectSaleList, removeList, detailSaleList } from "@/api/importTrade/salesContract"
 import detailPage from "./detailsPage.vue";
 import { roundNumbers } from "@/util/validate";
 
@@ -101,35 +74,35 @@ export default {
     return {
       option: {},
       dataList: [],
-      loading:false,
-      show:true,
-      selectionList:[],
+      loading: false,
+      show: true,
+      selectionList: [],
       page: {
         pageSize: 10,
         pagerCount: 5,
         total: 0,
       },
       form: {},
-      detailData:{},
+      detailData: {},
       search: {},
-      viewDisabled:false,
-      configuration:{
-        multipleChoices:false,
-        multiple:false,
-        disabled:false,
-        searchShow:true,
-        collapseTags:false,
-        clearable:true,
-        placeholder:'请点击右边按钮选择',
-        dicData:[]
+      viewDisabled: false,
+      configuration: {
+        multipleChoices: false,
+        multiple: false,
+        disabled: false,
+        searchShow: true,
+        collapseTags: false,
+        clearable: true,
+        placeholder: '请点击右边按钮选择',
+        dicData: []
       },
     }
   },
-  components:{
+  components: {
     detailPage
   },
   filters: {
-    roundNumbers(val){
+    roundNumbers(val) {
       return roundNumbers(val);
     }
   },
@@ -140,20 +113,20 @@ export default {
     this.option = await this.getColumnData(this.getColumnName(38), option);
   },
   activated() {
-    if(!this.show && !this.$store.getters.entranceXsStatus){
+    if (!this.show && !this.$store.getters.entranceXsStatus) {
       this.show = true;
     }
     setTimeout(() => {
-      if(this.$route.query.check && this.show){
-        this.detailData={
-          check:this.$route.query.check
+      if (this.$route.query.check && this.show) {
+        this.detailData = {
+          check: this.$route.query.check
         }
         this.show = false;
         this.$store.commit("XSACE_IN_DETAIL");
       } else if (this.$route.query.params) {
-        this.detailData={
-          id:this.$route.query.params,
-          view:true,
+        this.detailData = {
+          id: this.$route.query.params,
+          view: true,
         }
         this.show = false;
         this.$store.commit("XSACE_IN_DETAIL");
@@ -187,7 +160,7 @@ export default {
         this.onLoad(this.page);
       });
     },
-    copyBill(){
+    copyBill() {
       this.detailData = {
         id: this.selectionList[0].id,
         status: 'copy'
@@ -206,13 +179,13 @@ export default {
         tableName: 'business_order',
         billId: row.id,
         no: localStorage.getItem('browserID'),
-        billNo:row.orderNo
+        billNo: row.orderNo
       }
 
       this.detailData = {
         id: row.id,
-        view:true,
-        lockData:lockData,
+        view: true,
+        lockData: lockData,
       };
       this.show = false;
       this.$store.commit("XSACE_IN_DETAIL");
@@ -231,7 +204,7 @@ export default {
       this.onLoad(this.page, params);
       done()
     },
-    openDisabled(){
+    openDisabled() {
       this.viewDisabled = false
     },
     searchReset() {
@@ -251,15 +224,15 @@ export default {
     },
     paramsAdjustment(params) {
       params = Object.assign({}, this.search);
-      if (params.businesDate &&  params.businesDate.length !==0 ) {  //发货
-        params.contractStartDate = params.businesDate[0]+ " " + "00:00:00";
+      if (params.businesDate && params.businesDate.length !== 0) {  //发货
+        params.contractStartDate = params.businesDate[0] + " " + "00:00:00";
         params.contractEndDate = params.businesDate[1] + " " + "23:59:59";
-        this.$delete(params,'businesDate')
+        this.$delete(params, 'businesDate')
       }
-      if (params.advanceCollectionDate &&  params.advanceCollectionDate.length !==0 ) {
-        params.orderStartDate = params.advanceCollectionDate[0]+ " " + "00:00:00";
+      if (params.advanceCollectionDate && params.advanceCollectionDate.length !== 0) {
+        params.orderStartDate = params.advanceCollectionDate[0] + " " + "00:00:00";
         params.orderEndDate = params.advanceCollectionDate[1] + " " + "23:59:59";
-        this.$delete(params,'advanceCollectionDate')
+        this.$delete(params, 'advanceCollectionDate')
       }
       return params
     },
@@ -273,25 +246,25 @@ export default {
         this.dataList = res.data.data.records
         this.page.total = res.data.data.total
         this.dataList.forEach(item => {
-          this.$set(item,'insideList',[])
-          this.$set(item,'loading', true)
+          this.$set(item, 'insideList', [])
+          this.$set(item, 'loading', true)
         })
         if (this.page.total) {
           this.option.height = window.innerHeight - 200;
         }
-      }).finally(()=>{
+      }).finally(() => {
         this.loading = false
       })
     },
     goBack() {
-      this.detailData=this.$options.data().detailData
+      this.detailData = this.$options.data().detailData
       this.show = true;
-      this.onLoad(this.page,this.search)
+      this.onLoad(this.page, this.search)
     },
-    searchCriteriaSwitch(type){
-      if (type){
+    searchCriteriaSwitch(type) {
+      if (type) {
         this.option.height = this.option.height - 145
-      }else {
+      } else {
         this.option.height = this.option.height + 145
       }
       this.$refs.crud.getTableHeight()
@@ -328,13 +301,15 @@ export default {
 </script>
 
 <style scoped>
-  ::v-deep .el-table__expanded-cell{
-    padding: 0 !important;
-  }
-  /deep/ .el-table__expanded-cell .el-table__header-wrapper .cell {
-    font-size: 8px !important;
-  }
-  /deep/ .el-table__body-wrapper .cell {
-    font-size: 8px;
-  }
+::v-deep .el-table__expanded-cell {
+  padding: 0 !important;
+}
+
+/deep/ .el-table__expanded-cell .el-table__header-wrapper .cell {
+  font-size: 8px !important;
+}
+
+/deep/ .el-table__body-wrapper .cell {
+  font-size: 8px;
+}
 </style>