lilei vor 2 Jahren
Ursprung
Commit
35412de5bc

+ 8 - 0
src/api/allocateType.js

@@ -19,6 +19,14 @@ export const allocateTypeAllList = params => {
     method: 'post'
   })
 }
+// 调拨类型 树列表
+export const allocateTypeTreeList = params => {
+  return axios({
+    url: '/allocateType/queryTreeList',
+    data: params,
+    method: 'post'
+  })
+}
 // 调拨类型管理  新增/编辑
 export const allocateTypeSave = params => {
   return axios({

+ 17 - 0
src/api/financeBook.js

@@ -12,6 +12,15 @@ export const financeBookQueryPage = (params) => {
   })
 }
 
+// 统计
+export const financeBookQueryCount = (params) => {
+  return axios({
+    url: `/financeBook/queryCount`,
+    data: params,
+    method: 'post'
+  })
+}
+
 // 财务收款明细-分页列表
 export const financeBookDetailQueryPage = (params) => {
   const url = `/report/financeBook/detail/queryPage/${params.pageNo}/${params.pageSize}`
@@ -23,6 +32,14 @@ export const financeBookDetailQueryPage = (params) => {
     method: 'post'
   })
 }
+// 财务收款明细-统计
+export const financeBookReportDetailCount = (params) => {
+  return axios({
+    url: `/report/financeBook/detail/queryCount`,
+    data: params,
+    method: 'post'
+  })
+}
 
 // 财务收款明细-导出
 export const financeBookDetailExport = (params) => {

+ 2 - 2
src/config/router.config.js

@@ -2410,7 +2410,7 @@ export const asyncRouterMap = [
             meta: {
               title: '货位编号管理',
               icon: 'radar-chart',
-              // permission: 'M_shelfNoManageList'
+              permission: 'M_shelfNoManageList'
             },
             hideChildrenInMenu: true,
             children: [
@@ -2422,7 +2422,7 @@ export const asyncRouterMap = [
                   title: '货位编号管理',
                   icon: 'radar-chart',
                   hidden: true,
-                  // permission: 'M_shelfNoManageList'
+                  permission: 'M_shelfNoManageList'
                 }
               }
             ]

+ 69 - 48
src/views/allocationManagement/transferOut/basicInfoModal.vue

@@ -4,7 +4,7 @@
     class="allocateBill-basicInfo-modal"
     :footer="null"
     :maskClosable="false"
-    title="新增"
+    :title="isEdit?'编辑':'新增'"
     v-model="isShow"
     @cancel="isShow = false"
     :width="800">
@@ -18,14 +18,14 @@
         :wrapper-col="formItemLayout.wrapperCol"
       >
         <a-row :gutter="15">
-          <a-col :md="12" :sm="24">
+          <a-col :md="12" :sm="24" v-if="!isEdit">
             <a-form-model-item label="调往对象" prop="targetType">
               <a-radio-group v-model="form.targetType" @change="targetTypeChange">
                 <a-radio v-for="(item,index) in targetTypeList" :key="index" :value="item.code">{{ item.dispName }}</a-radio>
               </a-radio-group>
             </a-form-model-item>
           </a-col>
-          <a-col :md="12" :sm="24">
+          <a-col :md="12" :sm="24" v-if="!isEdit">
             <a-form-model-item label="调往对象名称" :prop="isDealer ? 'targetSn' : 'targetName'">
               <a-select
                 v-if="isDealer"
@@ -45,22 +45,20 @@
             </a-form-model-item>
           </a-col>
           <a-col :md="12" :sm="24">
-            <a-form-model-item label="费用类型" prop="costTypeSn">
-              <a-select id="allocateBill-basicInfo-costTypeSn" v-model="form.costTypeSn" placeholder="请选择费用类型" allowClear >
-                <a-select-option v-for="item in allocateTypeList" :key="item.costTypeSn" :value="item.costTypeSn">{{ item.name }}</a-select-option>
-              </a-select>
-            </a-form-model-item>
-          </a-col>
-          <a-col :md="12" :sm="24">
-            <a-form-model-item label="调拨类型" prop="allocateTypeSn">
-              <a-select id="allocateBill-basicInfo-allocateTypeSn" v-model="form.allocateTypeSn" placeholder="请选择调拨类型" allowClear >
-                <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
-              </a-select>
+            <a-form-model-item label="费用/调拨类型" prop="costTypeSn">
+              <a-cascader
+                id="allocateBill-basicInfo-allocateTypeSn"
+                v-model="allocateTypeVal"
+                @change="allocateTypeChange"
+                :options="allocateTypeList"
+                expand-trigger="hover"
+                placeholder="请选择费用/调拨类型"
+                :fieldNames="{ label: 'name', value: 'sn', children: 'sonList' }"/>
             </a-form-model-item>
           </a-col>
           <a-col :md="12" :sm="24">
             <a-form-model-item label="费用归属品牌">
-              <ProductBrand id="allocateBill-basicInfo-productBrandSn" v-model="form.productBrandSn" placeholder="请选择费用归属品牌"></ProductBrand>
+              <ProductBrand id="allocateBill-basicInfo-productBrandSn" @change="changeBrand" v-model="form.productBrandSn" placeholder="请选择费用归属品牌"></ProductBrand>
             </a-form-model-item>
           </a-col>
           <a-col :md="12" :sm="24">
@@ -80,8 +78,8 @@
                 :placeholder="['开始时间', '结束时间']" />
             </a-form-model-item>
           </a-col>
-          <a-col :md="12" :sm="24">
-            <a-form-model-item label="备注" prop="remark">
+          <a-col :md="24" :sm="24">
+            <a-form-model-item label="备注" prop="remark" :wrapperCol="{ span: 20 }" :labelCol="{ span: 4 }">
               <a-textarea id="allocateBill-basicInfo-remark" :maxLength="120" v-model="form.remark" placeholder="请输入备注(最多120个字符)" allowClear />
             </a-form-model-item>
           </a-col>
@@ -97,13 +95,12 @@
 
 <script>
 import { commonMixin } from '@/utils/mixin'
-import moment from 'moment'
 import debounce from 'lodash/debounce'
 import { VSelect } from '@/components'
 import { allocateBillSave } from '@/api/allocateBill'
 import { dealerSubareaScopeList } from '@/api/dealer'
 import { getLookUpData } from '@/api/data'
-import { allocateTypeAllList } from '@/api/allocateType'
+import { allocateTypeTreeList } from '@/api/allocateType'
 import ProductBrand from '@/views/common/productBrand.js'
 import productTypeAll from '@/views/common/productTypeAll.js'
 export default {
@@ -115,7 +112,8 @@ export default {
       //  弹框显示状态
       type: Boolean,
       default: false
-    }
+    },
+    detailData: Object
   },
   data () {
     this.fetchUser = debounce(this.fetchUser, 800)
@@ -123,16 +121,17 @@ export default {
       isShow: this.openModal, //  是否打开弹框
       spinning: false,
       formItemLayout: {
-        labelCol: { span: 6 },
-        wrapperCol: { span: 18 }
+        labelCol: { span: 8 },
+        wrapperCol: { span: 16 }
       },
       productType: [],
       form: {
         targetType: 'DEALER',
         targetSn: undefined,
         targetName: '',
-        costTypeSn: undefined,
-        allocateTypeSn: undefined,
+        costTypeSn: '',
+        allocateTypeSn: '',
+        allocateSortSn: '',
         productBrandSn: undefined, //  产品品牌
         productTypeSn1: '', //  产品一级分类
         productTypeSn2: '', //  产品二级分类
@@ -145,16 +144,17 @@ export default {
       rules: {
         targetType: [{ required: true, message: '请选择调往对象', trigger: 'change' }],
         targetSn: [{ required: true, message: '请选择调往对象名称', trigger: 'change' }],
-        costTypeSn: [{ required: true, message: '请选择费用类型', trigger: 'change' }],
-        targetName: [{ required: true, message: '请输入调往对象名称', trigger: 'blur' }],
-        allocateTypeSn: [{ required: true, message: '请选择调拨类型', trigger: 'change' }]
+        costTypeSn: [{ required: true, message: '请选择费用/调拨类型', trigger: 'change' }],
+        targetName: [{ required: true, message: '请输入调往对象名称', trigger: 'blur' }]
       },
       fetching: false,
       dealerData: [], //  经销商  下拉数据
       targetTypeList: [], //  调往对象类型
+      allocateTypeVal: [],
       allocateTypeList: [], //  调拨类型
       dateFormat: 'YYYY-MM-DD HH:mm:ss',
-      selectPriceDate: ''
+      selectPriceDate: '',
+      isEdit: false
     }
   },
   computed: {
@@ -164,18 +164,6 @@ export default {
     }
   },
   methods: {
-	  // 不可选日期
-	  disabledDate (current) {
-      // 可选今天以后的时间(包含今天),所选时间跨度最多可为一年
-      const minYearVs = moment().subtract(1, 'day') // 今天以后,包含今天
-	    // //  限制最多只能查一年区间的数据
-	    if (this.selectPriceDate) {
-        const maxYearVs = moment(this.selectPriceDate, 'YYYY-MM-DD HH:mm:ss').add(1, 'years') //  当前选中开始日期后推一年
-        return current && current < minYearVs || current && current > maxYearVs
-      } else {
-        return current && current < minYearVs
-	    }
-	  },
     // 日期  change
     dateChange (date, dateStrings) {
       this.selectPriceDate = ''
@@ -186,11 +174,33 @@ export default {
     dateCalendarChange (date, dateStrings) {
       this.selectPriceDate = date[0]
     },
+    // 调拨类别 change
+    allocateTypeChange (val, opt) {
+      console.log(val, opt, '------------')
+      this.allocateTypeVal = val
+      this.form.costTypeSn = val[0] ? val[0] : ''
+      this.form.allocateTypeSn = val[1] ? val[1] : ''
+      this.form.allocateSortSn = val[2] ? val[2] : ''
+      // 名称
+      this.form.costTypeName = opt[0] ? opt[0].name : ''
+      this.form.allocateTypeName = opt[1] ? opt[1].name : ''
+      this.form.allocateSortName = opt[2] ? opt[2].name : ''
+    },
     //  产品分类  change
-    changeProductType (val, opt) {
-      this.queryParam.productTypeSn1 = val[0] ? val[0] : ''
-      this.queryParam.productTypeSn2 = val[1] ? val[1] : ''
-      this.queryParam.productTypeSn3 = val[2] ? val[2] : ''
+    changeProductType (val, id, opt) {
+      console.log(val, opt, '------------')
+      this.form.productTypeSn1 = val[0] ? val[0] : ''
+      this.form.productTypeSn2 = val[1] ? val[1] : ''
+      this.form.productTypeSn3 = val[2] ? val[2] : ''
+      // 名称
+      this.form.productTypeName1 = opt[0] ? opt[0].productTypeName : ''
+      this.form.productTypeName2 = opt[1] ? opt[1].productTypeName : ''
+      this.form.productTypeName3 = opt[2] ? opt[2].productTypeName : ''
+    },
+    // 品牌
+    changeBrand (val, id, opt) {
+      console.log(val, opt, '------------')
+      this.form.productBrandName = opt.brandName
     },
     // 搜索经销商
     fetchUser (value) {
@@ -255,9 +265,9 @@ export default {
         }
       })
     },
-    //  调拨类型
+    //  获取调拨类型
     getAllocateTypeAllList () {
-      allocateTypeAllList().then(res => {
+      allocateTypeTreeList({}).then(res => {
         if (res.status == 200) {
           this.allocateTypeList = res.data
         } else {
@@ -276,12 +286,16 @@ export default {
       if (!newValue) {
         this.$emit('close')
         this.$refs.ruleForm.resetFields()
+        this.allocateTypeList = []
+        this.allocateTypeVal = []
+        this.productType = []
         this.form = {
           targetType: 'DEALER',
           targetSn: undefined,
-          costTypeSn: undefined,
           targetName: '',
-          allocateTypeSn: undefined,
+          costTypeSn: '',
+          allocateTypeSn: '',
+          allocateSortSn: '',
           productBrandSn: undefined, //  产品品牌
           productTypeSn1: '', //  产品一级分类
           productTypeSn2: '', //  产品二级分类
@@ -294,6 +308,13 @@ export default {
       } else {
         this.getTargetTypeList()
         this.getAllocateTypeAllList()
+        // 编辑
+        if (this.detailData) {
+          this.isEdit = true
+          this.form = Object.assign(this.form, this.detailData)
+          this.allocateTypeVal = [this.detailData.costTypeSn, this.detailData.allocateTypeSn, this.detailData.allocateSortSn]
+          this.productType = [this.detailData.productTypeSn1, this.detailData.productTypeSn2, this.detailData.productTypeSn3]
+        }
       }
     }
   }

+ 27 - 71
src/views/allocationManagement/transferOut/edit.vue

@@ -52,18 +52,36 @@
               <a-descriptions-item label="发货编号">{{ (basicInfoData&&basicInfoData.sendNo) || '--' }}</a-descriptions-item>
               <a-descriptions-item label="收货客户名称">{{ (basicInfoData&&basicInfoData.receiverName) || '--' }}</a-descriptions-item>
               <a-descriptions-item label="调拨单号">{{ (basicInfoData&&basicInfoData.allocateNo) || '--' }}</a-descriptions-item>
-              <a-descriptions-item label="调拨类型">
-                <AllocateType id="allocateEdit-allocateTypeSn" style="width: 200px;" @change="changeAllocateType" v-model="basicInfoData.allocateTypeSn"></AllocateType>
-              </a-descriptions-item>
               <a-descriptions-item label="业务状态">{{ (basicInfoData&&basicInfoData.stateDictValue) || '--' }}</a-descriptions-item>
               <a-descriptions-item label="打印状态">{{ (basicInfoData&&basicInfoData.printStateDictValue) || '--' }}</a-descriptions-item>
+            </a-descriptions>
+            <a-divider>以下信息可修改,请点击<span style="color: dodgerblue;font-size: 14px;cursor: pointer;" @click="editRemark = true" ><a-icon type="form" title="编辑基础信息" />编辑</span></a-divider>
+            <a-descriptions :column="3">
+              <a-descriptions-item label="费用类型">
+                {{ (basicInfoData&&basicInfoData.costTypeName) || '--' }}
+              </a-descriptions-item>
+              <a-descriptions-item label="调拨类型">
+                <div>
+                  <span v-if="basicInfoData.allocateTypeName">{{ basicInfoData.allocateTypeName || '--' }}</span>
+                  <span v-if="basicInfoData.allocateSortName">/{{ basicInfoData.allocateSortName || '--' }}</span>
+                </div>
+              </a-descriptions-item>
+              <a-descriptions-item label="费用归属品牌">
+                {{ (basicInfoData&&basicInfoData.productBrandName) || '--' }}
+              </a-descriptions-item>
+              <a-descriptions-item label="费用归属品类">
+                <div>
+                  <span v-if="basicInfoData.productTypeName1">{{ basicInfoData.productTypeName1 || '--' }}</span>
+                  <span v-if="basicInfoData.productTypeName2">/{{ basicInfoData.productTypeName2 || '--' }}</span>
+                  <span v-if="basicInfoData.productTypeName3">/{{ basicInfoData.productTypeName3 || '--' }}</span>
+                </div>
+              </a-descriptions-item>
               <a-descriptions-item label="起止时间">
                 <span v-if="basicInfoData&&(basicInfoData.promoStartDate || basicInfoData.promoEndDate)">{{ (basicInfoData&&basicInfoData.promoStartDate) || '--' }} ~ {{ (basicInfoData&&basicInfoData.promoEndDate) || '--' }}</span>
                 <span v-else>--</span>
               </a-descriptions-item>
               <a-descriptions-item label="备注">
                 {{ (basicInfoData&&basicInfoData.remark) }}
-                <a-icon type="form" title="编辑备注" @click="editRemark = true" style="color: dodgerblue;font-size: 14px;" />
               </a-descriptions-item>
             </a-descriptions>
           </a-collapse-panel>
@@ -241,28 +259,8 @@
       @close="openModal=false" />
     <!-- 提交调拨单 -->
     <dsModal ref="dsModal" :dealerLevel="$route.params.dealerLevel" :openModal="showDsModal" @close="showDsModal=false" @ok="handleSubmit" />
-    <!-- 修改基础信息 -->
-    <a-modal
-      centered
-      wrapClassName="allocateBill-editRemark-modal"
-      v-if="basicInfoData"
-      :footer="null"
-      :maskClosable="false"
-      title="修改备注"
-      v-model="editRemark"
-      @cancel="editRemark = false"
-      :width="600">
-      <a-textarea
-        v-model="basicInfoData.remark"
-        placeholder="请输入备注(最多120个字符)"
-        :maxLength="120"
-        :auto-size="{ minRows: 3, maxRows: 5 }"
-      />
-      <div class="btn-cont">
-        <a-button type="primary" id="allocateBill-basicInfo-modal-save" @click="handleEditRemark">保存</a-button>
-        <a-button id="allocateBill-basicInfo-modal-back" @click="editRemark = false" style="margin-left: 15px;">取消</a-button>
-      </div>
-    </a-modal>
+    <!-- 编辑基础信息 -->
+    <basic-info-modal :openModal="editRemark" :detailData="basicInfoData" @ok="getDetail" @close="editRemark=false" />
   </div>
 </template>
 
@@ -270,18 +268,18 @@
 import { commonMixin } from '@/utils/mixin'
 import { STable, VSelect } from '@/components'
 import ImportGuideModal from './importGuideModal.vue'
+import basicInfoModal from './basicInfoModal.vue'
 import printModal from './printModal.vue'
 import dsModal from './dsModal.vue'
 import { printFun, exportExcel } from '@/libs/JGPrint.js'
 import { queryStockProductPage } from '@/api/stock'
 import { productPriceInfo } from '@/api/product'
-import AllocateType from '@/views/common/allocateType.js'
-import { allocateBillSave, allocateBillDetailList, allocateBillDetailCount, allocateBillDetail, allocateBillDetailSave, allocateBillSubmit, allocateBillDetailDel, allocateBillDetailDelAll, allocateBillDetailPrint, allocateBillBatchInsert, allocateBillDetailExcel } from '@/api/allocateBill'
+import { allocateBillDetailList, allocateBillDetailCount, allocateBillDetail, allocateBillDetailSave, allocateBillSubmit, allocateBillDetailDel, allocateBillDetailDelAll, allocateBillDetailPrint, allocateBillBatchInsert, allocateBillDetailExcel } from '@/api/allocateBill'
 
 export default {
   name: 'TransferOutEdit',
   mixins: [commonMixin],
-  components: { STable, VSelect, ImportGuideModal, AllocateType, printModal, dsModal },
+  components: { STable, VSelect, ImportGuideModal, printModal, dsModal, basicInfoModal },
   data () {
     return {
       spinning: false,
@@ -392,42 +390,6 @@ export default {
     }
   },
   methods: {
-    // 修改备注
-    handleEditRemark () {
-      const _this = this
-      const params = _this.basicInfoData
-      allocateBillSave({
-        allocateSn: params.allocateSn,
-        targetType: params.targetType,
-        targetSn: params.targetSn,
-        targetName: params.targetName,
-        allocateTypeSn: params.allocateTypeSn,
-        remark: params.remark
-      }).then(res => {
-        if (res.status == 200) {
-          _this.$message.success(res.message)
-          _this.getDetail()
-        } else {
-          _this.spinning = false
-        }
-      })
-      _this.editRemark = false
-    },
-    // 修改调拨类型
-    changeAllocateType (val) {
-      const _this = this
-      this.$confirm({
-        title: '提示',
-        content: '确定要更改调拨类型吗?',
-        centered: true,
-        onOk () {
-          _this.handleEditRemark()
-        },
-        onCancel () {
-          _this.getDetail()
-        }
-      })
-    },
     //  重置
     resetSearchForm () {
       this.queryParam.productCode = ''
@@ -706,10 +668,4 @@ export default {
       }
     }
   }
-  .allocateBill-editRemark-modal{
-    .btn-cont{
-      text-align: center;
-      padding-top: 20px;
-    }
-  }
 </style>

+ 13 - 5
src/views/allocationManagement/transferOut/list.vue

@@ -114,6 +114,14 @@
           <span v-if="record.promoStartDate || record.promoEndDate">{{ record.promoStartDate }} ~ {{ record.promoEndDate }}</span>
           <span v-else>--</span>
         </template>
+        <!-- 调拨类型 -->
+        <template slot="allocateType" slot-scope="text, record">
+          <div>
+            <span v-if="record.costTypeName">{{ record.costTypeName }}/</span>
+            <span v-if="record.allocateTypeName">{{ record.allocateTypeName }}</span>
+            <span v-if="record.allocateSortName">/{{ record.allocateSortName }}</span>
+          </div>
+        </template>
         <!-- 操作 -->
         <template slot="action" slot-scope="text, record">
           <a-button
@@ -221,22 +229,22 @@ export default {
     columns () {
       const arr = [
         { title: '序号', dataIndex: 'no', width: '3.5%', align: 'center' },
-        { title: '创建时间', dataIndex: 'createDate', width: '7%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '创建时间', dataIndex: 'createDate', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '调拨单号', scopedSlots: { customRender: 'allocateNo' }, align: 'center', width: '13.5%' },
-        { title: '起止时间', scopedSlots: { customRender: 'promoDate' }, align: 'center', width: '8%' },
+        { title: '起止时间', scopedSlots: { customRender: 'promoDate' }, align: 'center', width: '6%' },
         { title: '调往对象', dataIndex: 'targetName', width: '8%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '客户类型', dataIndex: 'dealerLevelDictValue', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '发货编号', dataIndex: 'sendNo', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '收货客户名称', dataIndex: 'receiverName', width: '8%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '总数量', dataIndex: 'totalQty', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         // { title: '总售价', dataIndex: 'totalPrice', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '审核时间', dataIndex: 'auditTime', width: '7%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '调拨类型', dataIndex: 'allocateTypeName', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '审核时间', dataIndex: 'auditTime', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '费用/调拨类型', scopedSlots: { customRender: 'allocateType' }, width: '8%', align: 'center' },
         { title: '业务状态', dataIndex: 'stateDictValue', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '打印状态', dataIndex: 'printStateDictValue', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '打印次数', dataIndex: 'printCount', width: '6%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '对单状态', dataIndex: 'checkStatusDictValue', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: '8%', align: 'center' }
+        { title: '操作', scopedSlots: { customRender: 'action' }, width: '10%', align: 'center' }
       ]
       if (this.$hasPermissions('B_isShowCost')) { //  成本价权限
         arr.splice(8, 0, { title: '总成本', dataIndex: 'totalCost', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } })

+ 70 - 19
src/views/financialManagement/collectionDetailStatic/list.vue

@@ -28,8 +28,7 @@
             </a-col>
             <a-col :md="6" :sm="24">
               <a-form-item label="付款方">
-                <!-- <dealerSubareaScopeList id="collectionDetail-Employee" ref="settleClientName" @change="custChange" /> -->
-                <a-input id="financialCollectionList-payerNames" v-model.trim="queryParam.payerNames" allowClear placeholder="请输入付款方"/>
+                <a-input id="financialCollectionList-payerName" v-model.trim="queryParam.payerName" allowClear placeholder="请输入付款方"/>
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">
@@ -39,7 +38,7 @@
             </a-col>
             <a-col :md="6" :sm="24">
               <a-form-item label="付款账户">
-                <a-input id="collectionDetail-licenseName" placeholder="请输入付款账户" v-model="queryParam.licenseName"></a-input>
+                <a-input id="collectionDetail-payerAccountInfo" placeholder="请输入付款账户" v-model="queryParam.payerAccountInfo"></a-input>
               </a-form-item>
             </a-col>
             <template v-if="advanced">
@@ -54,9 +53,17 @@
                     allowClear></v-select>
                 </a-form-item>
               </a-col>
-              <a-col :md="4" :sm="24">
+              <a-col :md="3" :sm="24">
                 <a-form-item label="户名/汇入银行">
-                  <a-select placeholder="请选择汇入银行" v-model="queryParam.bankName" style="width: 100%">
+                  <a-select placeholder="请选择户名" allowClear v-model="queryParam.bankAccount" style="width: 100%" @change="handleChange">
+                    <a-select-option v-for="item in bankList" :value="item.bankAccount">
+                      {{ item.bankAccount }}
+                    </a-select-option>
+                  </a-select>
+                </a-form-item></a-col>
+              <a-col :md="3" :sm="24">
+                <a-form-item>
+                  <a-select placeholder="请选择汇入银行" allowClear v-model="queryParam.bankName" style="width: 100%">
                     <a-select-option v-for="item in bankNameList" :value="item">
                       {{ item }}
                     </a-select-option>
@@ -93,6 +100,16 @@
             </a-col>
           </a-row>
         </a-form>
+        <a-alert type="info" style="margin-bottom:10px">
+          <div slot="message">
+            订单总金额:{{ countData&&countData.orderAmount||0 }}元;
+            收款总金额:{{ countData&&countData.receiptAmount||0 }}元;
+            使用授信总金额:{{ countData&&countData.useCreditAmount||0 }}元;
+            授信还款总金额:{{ countData&&countData.payCreditAmount||0 }}元;
+            余款抵扣总金额:{{ countData&&countData.balanceAmount||0 }}元;
+            跨月打款总金额:{{ countData&&countData.nextMonthAmount||0 }}元;
+          </div>
+        </a-alert>
       </div>
       <!-- 列表 -->
       <s-table
@@ -120,7 +137,7 @@ import Area from '@/views/common/area.js'
 import { hdExportExcel } from '@/libs/exportExcel'
 import employee from '../../expenseManagement/expenseReimbursement/employee.js'
 import dealerSubareaScopeList from '@/views/common/dealerSubareaScopeList.vue'
-import { financeBookDetailQueryPage, financeBookDetailExport } from '@/api/financeBook.js'
+import { financeBookDetailQueryPage, financeBookDetailExport, financeBookReportDetailCount } from '@/api/financeBook.js'
 export default {
   name: 'CollectionDetailStaticList',
   mixins: [commonMixin],
@@ -137,10 +154,11 @@ export default {
         receiptBeginDate: '',
         receiptEndDate: '',
         applyPersonSn: undefined,
-        dealerSn: undefined,
+        payerName: undefined,
         kdMidCustomerFnumber: '',
-        licenseName: '',
+        payerAccountInfo: '',
         fullPaymentFlag: undefined,
+        bankAccount: undefined,
         bankName: undefined,
         subareaSn: undefined,
         provinceSn: undefined
@@ -156,7 +174,8 @@ export default {
       loadData: parameter => {
         this.disabled = true
         this.spinning = true
-        return financeBookDetailQueryPage(Object.assign(parameter, this.queryParam)).then(res => {
+        const params = Object.assign(parameter, this.queryParam)
+        return financeBookDetailQueryPage(params).then(res => {
           let data
           if (res.status == 200) {
             data = res.data
@@ -168,11 +187,31 @@ export default {
             this.disabled = false
           }
           this.spinning = false
+          this.getCount(params)
           return data
         })
       },
       total: 0, // 合计
-      bankNameList: ['东莞银行', '九江银行', '建设银行', '微信收款', '农业银行']
+      countData: null,
+      bankList: [
+        {
+          bankAccount: '张丽友',
+          bankName: ['建设银行', '微信收款']
+        },
+        {
+          bankAccount: '张丽添',
+          bankName: ['农业银行']
+        },
+        {
+          bankAccount: '东莞箭冠',
+          bankName: ['东莞银行']
+        },
+        {
+          bankAccount: '江西箭冠',
+          bankName: ['九江银行']
+        }
+      ],
+      bankNameList: []
     }
   },
   // 根据权限显示列表字段
@@ -185,10 +224,10 @@ export default {
         { title: '申请人', dataIndex: 'applyPersonName', align: 'center', width: '5%', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '收款事由', dataIndex: 'bookReason', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '收款日期', dataIndex: 'receiptDate', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '付款方类型', dataIndex: 'dealerName', align: 'center', width: '8%', customRender: function (text) { return text || '--' } },
-        { title: '付款方', dataIndex: 'dealerName', align: 'center', width: '8%', customRender: function (text) { return text || '--' } },
+        { title: '付款方类型', dataIndex: 'payerTypeDictValue', align: 'center', width: '8%', customRender: function (text) { return text || '--' } },
+        { title: '付款方', dataIndex: 'payerName', align: 'center', width: '8%', customRender: function (text) { return text || '--' } },
         { title: '财务编码', dataIndex: 'kdMidCustomerFnumber', align: 'center', width: '8%', customRender: function (text) { return text || '--' } },
-        { title: '付款账户(营业执照)', dataIndex: 'licenseName', align: 'center', width: '8%', customRender: function (text) { return text || '--' } },
+        { title: '付款账户(营业执照)', dataIndex: 'payerAccountInfo', align: 'center', width: '8%', customRender: function (text) { return text || '--' } },
         { title: '订单金额', dataIndex: 'orderAmount', align: 'center', width: '5%', customRender: function (text) { return (text == 0 || text) ? text : '--' } },
         { title: '收款金额', dataIndex: 'receiptAmount', align: 'center', width: '5%', customRender: function (text) { return (text == 0 || text) ? text : '--' } },
         { title: '使用授信', dataIndex: 'useCreditAmount', align: 'center', width: '5%', customRender: function (text) { return (text == 0 || text) ? text : '--' } },
@@ -204,8 +243,20 @@ export default {
     }
   },
   methods: {
-    custChange (val) {
-      this.queryParam.dealerSn = val.key
+    getCount (params) {
+      financeBookReportDetailCount(params).then(res => {
+        this.countData = res.data
+      })
+    },
+    handleChange (v) {
+      if (v) {
+        const row = this.bankList.find(item => item.bankAccount == v)
+        this.bankNameList = row.bankName
+        this.queryParam.bankName = undefined
+      } else {
+        this.queryParam.bankAccount = undefined
+        this.queryParam.bankName = undefined
+      }
     },
     //  创建时间  change
     receiptDateChange (date) {
@@ -235,13 +286,13 @@ export default {
       this.queryParam.dispatchBillNo = ''
       this.queryParam.applyPersonSn = undefined
       this.queryParam.kdMidCustomerFnumber = ''
-      this.queryParam.dealerSn = undefined
-      this.queryParam.licenseName = ''
+      this.queryParam.payerName = undefined
+      this.queryParam.payerAccountInfo = ''
       this.queryParam.fullPaymentFlag = undefined
       this.queryParam.bankName = undefined
+      this.queryParam.bankAccount = undefined
       this.queryParam.subareaSn = undefined
       this.queryParam.provinceSn = undefined
-      this.$refs.settleClientName.resetForm()
       this.$refs.table.refresh(true)
     },
     //  导出
@@ -262,7 +313,7 @@ export default {
     },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
-      this.tableHeight = window.innerHeight - tableSearchH - 195
+      this.tableHeight = window.innerHeight - tableSearchH - 205
     }
   },
   watch: {

+ 9 - 2
src/views/financialManagement/financialCollection/list.vue

@@ -157,7 +157,7 @@ import baseModal from './baseModal.vue'
 import employee from '../../expenseManagement/expenseReimbursement/employee.js'
 import verifyModal from './verifyModal.vue'
 import dispatchModal from './dispatchModal.vue'
-import { financeBookQueryPage, financeBookDeleteBySn, financeBookDgainEditBySn } from '@/api/financeBook.js'
+import { financeBookQueryPage, financeBookDeleteBySn, financeBookDgainEditBySn, financeBookQueryCount } from '@/api/financeBook.js'
 export default {
   name: 'FinancialCollectionList',
   mixins: [commonMixin],
@@ -190,7 +190,8 @@ export default {
       loadData: parameter => {
         this.disabled = true
         this.spinning = true
-        return financeBookQueryPage(Object.assign(parameter, this.queryParam)).then(res => {
+        const params = Object.assign(parameter, this.queryParam)
+        return financeBookQueryPage(params).then(res => {
           let data
           if (res.status == 200) {
             data = res.data
@@ -202,6 +203,7 @@ export default {
             this.disabled = false
           }
           this.spinning = false
+          this.getCount(params)
           return data
         })
       },
@@ -233,6 +235,11 @@ export default {
     }
   },
   methods: {
+    getCount (params) {
+      financeBookQueryCount(params).then(res => {
+        this.countData = res.data
+      })
+    },
     //  创建时间  change
     dateChange (date) {
       this.queryParam.beginDate = date[0] ? date[0] : ''

+ 4 - 3
src/views/productManagement/shelfNoManage/list.vue

@@ -58,7 +58,7 @@
               <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="shelfNoMan-refresh">查询</a-button>
               <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="shelfNoMan-reset">重置</a-button>
               <a-button
-                v-if="$hasPermissions('B_productInfo_export')"
+                v-if="$hasPermissions('B_shelfNoManage_export')"
                 style="margin-left: 5px"
                 type="primary"
                 class="button-warning"
@@ -78,6 +78,7 @@
       <div class="table-operator">
         <a-button
           id="shelfNoMan-batchAudit"
+          v-if="$hasPermissions('B_shelfNoManage_import')"
           type="primary"
           @click="openGuideModal = true"
         >批量导入</a-button>
@@ -104,14 +105,14 @@
             <a-button
               size="small"
               type="link"
-              v-if="$hasPermissions('B_productInfo_edit')"
+              v-if="$hasPermissions('B_shelfNoManage_edit')"
               class="button-info"
               @click="handleEdit(record)"
               id="shelfNoMan-edit-btn">编辑</a-button>
             <a-button
               size="small"
               type="link"
-              v-if="$hasPermissions('B_productInfo_detail')"
+              v-if="$hasPermissions('B_shelfNoManage_detail')"
               class="button-success"
               @click="handleDetail(record)"
               id="shelfNoMan-detail-btn">变更记录</a-button>

+ 1 - 1
src/views/salesManagement/salesQuery/detail.vue

@@ -189,7 +189,7 @@
     <!-- 审核加下推 -->
     <dsModal ref="dsModal" title="销售单一键审核" :openModal="showDsModal" @close="showDsModal=false" @ok="handleOnceAudit" />
     <!-- 缺货明细 -->
-    <stockOutDetail :openModal="showStockOut" :detailData="detailData" :salesBillSn="$route.params.sn || bizSn"></stockOutDetail>
+    <stockOutDetail :openModal="showStockOut" :detailData="detailData" :salesBillSn="$route.params.sn || bizSn" @close="showStockOut=false"></stockOutDetail>
   </div>
 </template>