Selaa lähdekoodia

国内贸易销售订单添加审批

lichao 3 vuotta sitten
vanhempi
commit
6c634f563b

+ 8 - 0
src/api/basicData/configuration.js

@@ -158,6 +158,14 @@ export function downLoadTemplate() {
     method: 'get'
   })
 }
+// 获取返利余额
+export function getProfit(data) {
+  return request({
+    url: '/api/blade-client/client/getMessage',
+    method: 'get',
+    params: data
+  })
+}
 // 请核
 export function pleaseCheck(data) {
   return request({

+ 3 - 0
src/page/index/tags.vue

@@ -322,6 +322,9 @@ export default {
         if (tag.label == "结算") {
           this.$store.commit("SE_OUT_DETAIL");
         }
+        if (tag.label == "销售订单(N)") {
+          this.$store.commit("SE_OUT_DETAIL");
+        }
         this.$store.commit("DEL_TAG", tag);
         if (tag.value === this.tag.value) {
           tag = this.tagList[key === 0 ? key : key - 1]; //如果关闭本标签让前推一个

+ 1 - 0
src/store/modules/ifdetail.js

@@ -11,6 +11,7 @@ const ifdetail = {
     receiptSettle:false, //收款结算
     mainItemStatus:false, //主营业务明细
     settleStatus:false,//结算明细
+    domSaleStatus: false, // 内贸销售
   },
   actions: {},
   mutations: {

+ 88 - 78
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -72,7 +72,7 @@
         <el-button
           class="el-button--small-yh"
           type="primary"
-          :disabled="disabled || detailData.seeDisabled"
+          :disabled="disabled || detailData.seeDisabled || browse"
           :loading="saveLoading"
           size="small"
           @click="editCustomer(false)"
@@ -88,17 +88,17 @@
             <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]"
-                                size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="detailData.seeDisabled"/>
+                                size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="detailData.seeDisabled || browse"/>
                 <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
                                 size="small" type="date" placeholder="选择日期"
                                 value-format="yyyy-MM-dd HH:mm:ss"
-                                :disabled="detailData.seeDisabled"/>
+                                :disabled="detailData.seeDisabled || browse"/>
                 <crop-select
                   v-else-if="item.prop === 'corpId'"
                   v-model="form[item.prop]"
                   @getCorpData="getCorpRow"
                   corpType="KH"
-                  :disabled="detailData.seeDisabled"
+                  :disabled="detailData.seeDisabled || browse"
                   style="width: 100%"
                 ></crop-select>
                 <crop-select
@@ -106,44 +106,26 @@
                   v-model="form[item.prop]"
                   @getCorpData="returnBack"
                   corpType="GS"
-                  :disabled="detailData.seeDisabled"
+                  :disabled="detailData.seeDisabled || browse"
                 ></crop-select>
                 <crop-select
                   v-else-if="item.prop === 'productionPlant'"
                   v-model="form[item.prop]"
                   @getCorpData="getPlantRow"
                   corpType="GYS"
-                  :disabled="detailData.seeDisabled"
+                  :disabled="detailData.seeDisabled || browse"
                   style="width: 100%"
                 ></crop-select>
-<!--                <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]"-->
-<!--                                 :configuration="configuration" style="width: 100%" :disabled="detailData.seeDisabled"-->
-<!--                                 @getRow="getCorpRow"-->
-<!--                />-->
-<!--                所属公司带出银行信息-->
-<!--                <selectComponent v-else-if="item.prop === 'belongToCorpId'"-->
-<!--                                 v-model="form[item.prop]" :configuration="companyConfiguration"-->
-<!--                                 style="width: 100%"-->
-<!--                                 :disabled="detailData.seeDisabled"-->
-<!--                                 typeData="GS"-->
-<!--                                 @returnBack="returnBack"/>-->
-<!--                生产工厂-->
-<!--                <selectComponent v-else-if="item.prop === 'productionPlant'"-->
-<!--                                 v-model="form[item.prop]" :configuration="plantConfiguration"-->
-<!--                                 style="width: 100%"-->
-<!--                                 :disabled="detailData.seeDisabled"-->
-<!--                                 typeData="GYS"-->
-<!--                                 @getRow="getPlantRow"/>-->
-                <el-select v-else-if="item.prop === 'paymentType'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled">
+                <el-select v-else-if="item.prop === 'paymentType'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || browse">
                   <el-option v-for="(item,index) in paymentOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
                 </el-select>
-                <el-select v-else-if="item.prop === 'packageRemarks'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled">
+                <el-select v-else-if="item.prop === 'packageRemarks'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || browse">
                   <el-option v-for="(item,index) in packageOptions" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
                 </el-select>
-                <el-select v-else-if="item.prop === 'arrivalAddress'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled" allow-create default-first-option>
+                <el-select v-else-if="item.prop === 'arrivalAddress'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || browse" allow-create default-first-option>
                   <el-option v-for="(item,index) in arrivalOptions" :key="index" :label="item.label" :value="item.label"></el-option>
                 </el-select>
-                <el-select v-else-if="item.prop === 'shippingAddress'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled" allow-create default-first-option>
+                <el-select v-else-if="item.prop === 'shippingAddress'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || browse" allow-create default-first-option>
                   <el-option v-for="(item,index) in shippingOptions" :key="index" :label="item.label" :value="item.label"></el-option>
                 </el-select>
                 <el-select v-else-if="item.prop === 'banks'"
@@ -155,7 +137,7 @@
                            size="small"
                            style="width: 100%;"
                            @change="banksChange"
-                           :disabled="detailData.seeDisabled">
+                           :disabled="detailData.seeDisabled || browse">
                   <el-option v-for="(item,index) in bankList" :key="index" :label="item.accountNo" :value="item.accountNo"></el-option>
                 </el-select>
                 <el-input
@@ -163,11 +145,11 @@
                   placeholder="请输入"
                   v-input-limit="2"
                   size="small"
-                  :disabled="item.disabled || detailData.seeDisabled"
+                  :disabled="item.disabled || detailData.seeDisabled || browse"
                   v-model.trim="form[item.prop]"
                 />
-                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled"></el-input>
-                <el-input type="age" v-else v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled" clearable></el-input>
+                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || browse"></el-input>
+                <el-input type="age" v-else v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || browse" clearable></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -177,16 +159,16 @@
           <el-row>
             <el-col v-for="(item,index) in contactInformation.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]" size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="item.disabled || detailData.seeDisabled"/>
+                <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="item.disabled || detailData.seeDisabled || browse"/>
                 <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
                                 size="small" type="date" placeholder="选择日期"
                                 value-format="yyyy-MM-dd HH:mm:ss"
-                                :disabled="detailData.seeDisabled"/>
+                                :disabled="detailData.seeDisabled || browse"/>
                 <el-input
                   v-else-if="(item.prop === 'advancePayment') || (item.prop === 'orderAmount') || (item.prop === 'settlmentAmount')"
                   v-model.trim="form[item.prop]" size="small" autocomplete="off"
                   @change="computedCost"
-                  :disabled="detailData.seeDisabled || item.disabled"
+                  :disabled="detailData.seeDisabled || item.disabled || browse"
                   v-input-limit="2"
                 ></el-input>
                 <span v-else-if="item.prop === 'caseOverPayment'">
@@ -195,16 +177,16 @@
                     size="small"
                     autocomplete="off"
                     @change="computedCost"
-                    :disabled="detailData.seeDisabled"
+                    :disabled="detailData.seeDisabled || browse"
                     v-input-limit="2"></el-input>
                 </span>
-                <el-select v-else-if="item.prop === 'orderStatus'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || item.disabled">
+                <el-select v-else-if="item.prop === 'orderStatus'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || item.disabled || browse">
                   <el-option v-for="(item,index) in statusOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
                 </el-select>
-                <el-input type="age" v-else-if="item.prop === 'grossProfitRate'" v-model.trim="form[item.prop]" size="small" autocomplete="off" placeholder="请输入" :disabled="detailData.seeDisabled" v-input-limit="2">
+                <el-input type="age" v-else-if="item.prop === 'grossProfitRate'" v-model.trim="form[item.prop]" size="small" autocomplete="off" placeholder="请输入" :disabled="detailData.seeDisabled || browse" v-input-limit="2">
                   <template   slot="append">%</template>
                 </el-input>
-                <el-input type="age" v-else-if="item.prop === 'specialOfferOf'" v-model.trim="form[item.prop]" size="small" autocomplete="off" placeholder="请输入" :disabled="detailData.seeDisabled" v-input-limit="2">
+                <el-input type="age" v-else-if="item.prop === 'specialOfferOf'" v-model.trim="form[item.prop]" size="small" autocomplete="off" placeholder="请输入" :disabled="detailData.seeDisabled || browse" v-input-limit="2">
                   <template   slot="append">%</template>
                 </el-input>
                 <el-input
@@ -212,11 +194,11 @@
                   placeholder="请输入"
                   v-input-limit="2"
                   size="small"
-                  :disabled="item.disabled || detailData.seeDisabled"
+                  :disabled="item.disabled || detailData.seeDisabled || browse"
                   v-model.trim="form[item.prop]"
                 />
-                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled"></el-input>
-                <el-input v-else type="age" v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled"></el-input>
+                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || browse"></el-input>
+                <el-input v-else type="age" v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || browse"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -244,7 +226,7 @@
                 :cropIndex="index"
                 corpType="GYS"
                 @getCorpData="getcorpId"
-                :disabled="detailData.seeDisabled"
+                :disabled="detailData.seeDisabled || browse"
               ></crop-select>
               <span v-else>{{ row.corpName }}</span>
             </template>
@@ -254,7 +236,7 @@
                 size="mini"
                 style="padding:4px 10px;float:left"
                 @click="commodityChoice(row)"
-                :disabled="detailData.seeDisabled || !row.$cellEdit">选择</el-button>
+                :disabled="detailData.seeDisabled || !row.$cellEdit || browse">选择</el-button>
               <span>{{ row.code }}</span>
             </template>
             <template slot="purchaseAmount" slot-scope="{ row }">
@@ -316,7 +298,7 @@
                   type="text"
                   size="small"
                   @click="rowCell(row,index)"
-                  :disabled="detailData.seeDisabled"
+                  :disabled="detailData.seeDisabled || browse"
               >{{ row.$cellEdit ? '保 存' : '修 改' }}
               </el-button>
               <el-button
@@ -324,7 +306,7 @@
                 icon="el-icon-delete"
                 type="text"
                 @click="rowDel(row, index)"
-                :disabled="detailData.seeDisabled"
+                :disabled="detailData.seeDisabled || browse"
                 v-if="!row.$cellEdit"
               >删 除</el-button>
             </template>
@@ -339,27 +321,26 @@
                          icon="el-icon-plus"
                          size="small"
                          @click="commoditySelection"
-                         :disabled="detailData.seeDisabled">录入明细
+                         :disabled="detailData.seeDisabled || browse">录入明细
               </el-button>
               <el-button type="primary"
                          icon="el-icon-plus"
                          size="small"
                          @click="policy"
-                         :disabled="detailData.seeDisabled || !form.corpId"
+                         :disabled="detailData.seeDisabled || !form.corpId || browse"
                          v-show="goodsActives == 'goods'"
               >政策
               </el-button>
               <el-button type="warning"
                          icon="el-icon-plus"
                          size="small"
-                         :disabled="selection.length < 1 || detailData.seeDisabled"
+                         :disabled="selection.length < 1 || detailData.seeDisabled || !form.status || form.status < 3"
                          @click="getShipmentD"
                          v-show="goodsActives == 'goods'">生成客户确认
               </el-button>
               <el-button type="info"
                          :size="size"
                          icon="el-icon-printer"
-                         :disabled="detailData.seeDisabled"
                          @click.stop="openReport()"
                          v-show="goodsActives == 'goods'"
               >报 表</el-button>
@@ -379,7 +360,7 @@
               <el-upload
                 :action="baseURL"
                 :headers="headers"
-                :disabled="detailData.seeDisabled"
+                :disabled="detailData.seeDisabled || browse"
                 :on-progress="uploading"
                 :show-file-list=false
                 accept=".xls,.xlsx"
@@ -393,6 +374,7 @@
                   size="small"
                   icon="el-icon-upload"
                   v-show="goodsActives == 'goods'"
+                  :disabled="detailData.seeDisabled || browse"
                 >导 入</el-button>
               </el-upload>
             </template>
@@ -401,7 +383,7 @@
         <fee-info
           ref="feeInfo"
           :orderFeesList="advantageProjectData"
-          :disabled="detailData.seeDisabled"
+          :disabled="detailData.seeDisabled || browse"
           feeUrl="/blade-purchase-sales/orderfees/update"
           optionType="GN"
           itemType="销售"
@@ -488,7 +470,7 @@
                 icon="el-icon-plus"
                 size="small"
                 @click.stop="$refs.uploadCrud.rowAdd()"
-                :disabled="detailData.seeDisabled"
+                :disabled="detailData.seeDisabled || browse"
               >上传</el-button
               >
             </template>
@@ -498,7 +480,7 @@
                 icon="el-icon-edit"
                 type="text"
                 @click="$refs.uploadCrud.rowEdit(row, index)"
-                :disabled="detailData.seeDisabled"
+                :disabled="detailData.seeDisabled || browse"
               >编 辑</el-button
               >
               <el-button
@@ -506,7 +488,7 @@
                 icon="el-icon-delete"
                 type="text"
                 @click="rowDelBankOfDeposit(row, index)"
-                :disabled="detailData.seeDisabled"
+                :disabled="detailData.seeDisabled || browse"
               >删 除</el-button
               >
             </template>
@@ -734,6 +716,7 @@ import {
   generateShipment,
   saveSell,
   getlistBankBy,
+  getProfit,
   pleaseCheck,
 } from "@/api/basicData/configuration"
 import {getList} from "@/api/basicData/commodityType";
@@ -993,6 +976,39 @@ export default {
                 trigger: 'blur'
               }
             ]
+          }, {
+            label: '返利余额',
+            prop: 'profit',
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '产生返利',
+            prop: 'createProfit',
+            disabled: false,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '本次使用返利',
+            prop: 'thisUsedProfit',
+            disabled: false,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
           },{
             label: '应收账款',
             prop: 'debitAmount',
@@ -1536,9 +1552,12 @@ export default {
     },
     queryData(id, isCopy = false){
       this.pageLoading = true
-      detail(id).then(res => {
+      detail(id).then(async res => {
         this.form = res.data.data;
         this.browse = this.form.status > 0? true: false
+        await getProfit({Id: this.form.corpId}).then(res => {
+          this.$set(this.form, 'profit',res.data.data.surplusProfit? res.data.data.surplusProfit: '0.00')
+        })
         this.contactsData = this.form.orderItemsList.filter(item => {
           return item.goodType == 0
         })
@@ -1998,6 +2017,9 @@ export default {
       integralDetail({corpId:data.id}).then(res => {
         this.form.pointMutiple = res.data.data? res.data.data.balancePoints: 0
       })
+      getProfit({Id: data.id}).then(res => {
+        this.form.profit = res.data.data.surplusProfit? res.data.data.surplusProfit: '0.00'
+      })
       this.arrivalOptions = [];
       this.arrivalOptions = await this.corpAddr(data.id)
       this.$set(this.form, 'paymentType', data.paymentType)
@@ -2007,27 +2029,6 @@ export default {
       } else {
         this.$set(this.form, 'arrivalAddress', null)
       }
-      // if (data.storageAddr) {
-      //   this.arrivalOptions.push({
-      //     label: data.storageAddr
-      //   })
-      // }
-      // corpsAddrSelect({pid: data.id}).then(res => {
-      //   if (res.data.data.records.length > 0) {
-      //     res.data.data.records.forEach(item => {
-      //       this.arrivalOptions.push({
-      //         label: item.addr
-      //       })
-      //     })
-      //   }
-      //   this.$set(this.form, 'paymentType', data.paymentType)
-      //   this.$set(this.form, 'packageRemarks', data.packageRemarks)
-      //   if (this.arrivalOptions.length > 0) {
-      //     this.$set(this.form, 'arrivalAddress', this.arrivalOptions[0].label)
-      //   } else {
-      //     this.$set(this.form, 'arrivalAddress', null)
-      //   }
-      // })
     },
     async getPlantRow(data) {
       this.shippingOptions = [];
@@ -2406,6 +2407,14 @@ export default {
             this.$set(buyFree[item], 'integralMultiples', 0)
             this.$set(buyFree[item], 'integral', 0)
             this.maxGoodsNum++
+            delete buyFree[item].id
+            delete buyFree[item].pid
+            delete buyFree[item].isDeleted
+            delete buyFree[item].status
+            delete buyFree[item].tenantId
+            delete buyFree[item].updateTime
+            delete buyFree[item].updateUser
+            delete buyFree[item].updateUserName
           }
           delete list[item].id
           delete list[item].pid
@@ -3046,7 +3055,8 @@ export default {
         }).then(() => {
           const data = {
             id : this.form.id,
-            checkType: 'xsqh'
+            checkType: 'xsqh',
+            url: '/businessManagement/salesOrder/index'
           }
           this.pageLoading = true
           pleaseCheck(data).then(res => {

+ 42 - 0
src/views/financialManagement/receiptSettle/receiptSettleDetailsPage.vue

@@ -155,6 +155,7 @@
   import _ from "lodash";
   import { getlistBankBy } from "@/api/financialManagement/paymentRequest";
   import { contrastObj,contrastList } from "@/util/contrastData";
+  import {getUserInfo} from "@/api/system/user";
 
   export default {
     name: "receiptDetailsPage",
@@ -168,6 +169,7 @@
     },
     data() {
       return {
+        category: '',
         form: {},
         itemsForm:{},
         params:{},
@@ -261,6 +263,33 @@
             {
               label: '外币金额',
               prop: 'foreignAmount',
+              display: true,
+              span: 8,
+              rules: [
+                {
+                  pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '使用溢付款',
+              prop: 'caseOverPayment',
+              display: false,
+              span: 8,
+              rules: [
+                {
+                  pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '溢付款余额',
+              prop: 'overPayment',
+              display: false,
               span: 8,
               rules: [
                 {
@@ -349,6 +378,19 @@
       }
     },
     created() {
+      getUserInfo().then(res=>{
+        this.category = res.data.data.billType
+        if (this.category == 2) {
+          this.option.column.forEach(item => {
+            if (item.prop == 'caseOverPayment' || item.prop == 'overPayment') {
+              item.display = true
+            }
+            if (item.prop == 'foreignAmount') {
+              item.display = false
+            }
+          })
+        }
+      })
       //币别
       this.getWorkDicts("currency").then(res =>{
         this.currencyDic = res.data.data