qukaidi преди 3 години
родител
ревизия
174d98ddac

+ 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>

+ 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>

+ 39 - 30
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 || form.status != 3" @click="beforePage()">生成收货单
               </el-button>
               <el-button type="warning" size="small" :loading="buttonLoading" :disabled="viewDisabled"
                 @click="download">下载模板
@@ -233,9 +236,11 @@
             </template>
           </avue-crud>
         </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" />
+        <fee-info ref="feeInfo" :orderFeesList="orderFeesList" :disabled="viewDisabled"
+          :financeDisabled="form.status != 3" :itemType="'申请'" activeName="second" :optionType="'JK'"
+          @beforeFinance="beforeFinance" @afterFinance="afterFinance" @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 +283,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 +657,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 +697,10 @@ export default {
         this.buttonLoading = false;
       })
     }
+    if (!this.detailData.id) {
+      this.form.currency = "USD"
+      this.currencyChange("USD")
+    }
   },
   methods: {
     //选择货品物种
@@ -723,11 +730,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 +1077,7 @@ export default {
         // }
       }
     },
-    repealCancel(){
+    repealCancel() {
       this.$confirm("您确定撤回此次申请吗?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
@@ -1076,12 +1085,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 +1244,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 +1301,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 || form.status != 3">生成发货单
               </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" />
+          :financeDisabled="form.status != 3" :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>