lilei před 2 roky
rodič
revize
9afd159e03

+ 131 - 0
src/views/financialManagement/financialCollection/dispatchModal.vue

@@ -0,0 +1,131 @@
+<template>
+  <a-modal
+    centered
+    :footer="null"
+    :maskClosable="false"
+    title="关联备货单"
+    v-model="isShow"
+    @cancle="handleCommonCancel"
+    width="50%">
+    <a-spin :spinning="spinning" tip="Loading...">
+      <div v-if="detailData">
+        <a-descriptions :column="{ xs: 2, sm: 3, md: 3}">
+          <a-descriptions-item label="收款单号">{{ detailData&&detailData.bookNo || '--' }}</a-descriptions-item>
+          <a-descriptions-item label="申请人">{{ detailData&&detailData.applyPersonName || '--' }}</a-descriptions-item>
+          <a-descriptions-item label="收款事由">{{ detailData&&detailData.bookReason || '--' }}</a-descriptions-item>
+          <a-descriptions-item label="状态">{{ detailData&&detailData.statusDictValue || '--' }}</a-descriptions-item>
+        </a-descriptions>
+      </div>
+      <s-table
+        class="sTable fixPagination"
+        ref="table"
+        size="small"
+        :rowKey="(record) => record.id"
+        :columns="columns"
+        :data="loadData"
+        :scroll="{ y: 500 }"
+        :showPagination="false"
+        :defaultLoadData="true"
+        bordered>
+        <!-- 销售单号 -->
+        <template slot="salesBillNo" slot-scope="text, record">
+          <span class="link-bule" v-if="$hasPermissions('B_salesDetail')" @click="handleDetail(record,0)">{{ record.salesBillNo }}</span>
+          <span v-else>{{ record.salesBillNo }}</span>
+        </template>
+        <!-- 备货单号 -->
+        <template slot="dispatchBillNo" slot-scope="text, record">
+          <span class="link-bule" v-if="$hasPermissions('B_dispatchDetail')" @click="handleDetail(record,1)">{{ record.dispatchBillNo }}</span>
+          <span v-else>{{ record.dispatchBillNo }}</span>
+        </template>
+      </s-table>
+      <div class="btn-box">
+        <a-button @click="handleCommonCancel">关闭</a-button>
+      </div>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import { STable } from '@/components'
+import { queryDispatchBillListBySn } from '@/api/financeBook.js'
+export default {
+  name: 'DispatchModal',
+  components: { STable },
+  props: {
+    openModal: {
+      type: Boolean,
+      default: false
+    },
+    itemSn: {
+      type: [Number, String],
+      default: ''
+    }
+  },
+  data () {
+    return {
+      spinning: false,
+      isShow: this.openModal,
+      detailData: null,
+      columns: [
+        { title: '序号', dataIndex: 'no', width: '8%', align: 'center' },
+        { title: '销售单号', scopedSlots: { customRender: 'salesBillNo' }, width: '120px', align: 'center' },
+        { title: '备货单号', scopedSlots: { customRender: 'dispatchBillNo' }, width: '120px', align: 'center' },
+        { title: '发货编号', dataIndex: 'sendNo', width: '80px', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '客户名称', dataIndex: 'buyerName', width: '150px', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '收货客户名称', dataIndex: 'receiverName', width: '150px', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '产品款数', dataIndex: 'totalCategory', width: '100px', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '产品数量', dataIndex: 'totalQty', width: '100px', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '总售价', dataIndex: 'totalAmount', width: '100px', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '业务状态', dataIndex: 'billStatusDictValue', width: '100px', align: 'center', customRender: function (text) { return text || '--' } }
+      ],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.spinning = true
+        delete parameter.tableId
+        delete parameter.index
+        return queryDispatchBillListBySn({ bookSn: this.itemSn }).then(res => {
+          let data
+          if (res.status == 200) {
+            data = res.data
+            const no = (data.pageNo - 1) * data.pageSize
+            for (var i = 0; i < data.list.length; i++) {
+              data.list[i].no = no + i + 1
+            }
+            this.total = data.count || 0
+            this.disabled = false
+          }
+          this.spinning = false
+          return data
+        })
+      }
+    }
+  },
+  methods: {
+    handleCommonCancel () {
+      this.$emit('close')
+      this.$refs.table.clearTable()
+      this.detailData = null
+    },
+    setDetail (data) {
+      this.detailData = data
+    }
+  },
+  watch: {
+    openModal (nVal, oVal) {
+      this.isShow = nVal
+    },
+    isShow (nVal, oVal) {
+      if (!nVal) {
+        this.handleCommonCancel()
+      } else {
+        this.$nextTick(() => {
+          this.$refs.table.refresh(true)
+        })
+      }
+    }
+  }
+}
+</script>
+
+<style>
+</style>

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

@@ -82,7 +82,7 @@
         </template>
         <!-- 关联备货单 -->
         <template slot="dispatchNum" slot-scope="text, record">
-          <span v-if="$hasPermissions('B_dispatchDetail')&&record.dispatchNum" class="link-bule" @click="handleBhDetail(record)">{{ record.dispatchNum }}</span>
+          <span v-if="$hasPermissions('B_dispatchDetail')" class="link-bule" @click="handleBhDetail(record)">{{ record.dispatchNum }}</span>
           <span v-else>{{ record.dispatchNum || '--' }}</span>
         </template>
         <!-- 操作 -->
@@ -130,6 +130,8 @@
     <verifyModal :openModal="openModal" :itemSn="itemSn" @close="openModal=false"></verifyModal>
     <!-- 基础信息 -->
     <baseModal :show="baseModal" @cancel="baseModal=false"></baseModal>
+    <!-- 关联备货单 -->
+    <dispatchModal ref="openDisModal" :openModal="openDisModal" :itemSn="itemSn" @close="openDisModal=false"></dispatchModal>
   </a-card>
 </template>
 
@@ -140,15 +142,17 @@ import rangeDate from '@/views/common/rangeDate.vue'
 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'
 export default {
   name: 'FinancialCollectionList',
   mixins: [commonMixin],
-  components: { STable, VSelect, rangeDate, baseModal, employee, verifyModal },
+  components: { STable, VSelect, rangeDate, baseModal, employee, verifyModal, dispatchModal },
   data () {
     return {
       spinning: false,
       openModal: false,
+      openDisModal: false,
       baseModal: false,
       tableHeight: 0,
       queryParam: { //  查询条件
@@ -247,6 +251,11 @@ export default {
     },
     // 查看关联备货单
     handleBhDetail (row) {
+      this.openDisModal = true
+      this.itemSn = row.bookSn
+      this.$nextTick(() => {
+        this.$refs.openDisModal.setDetail(row)
+      })
     },
     // 详情
     handleDetail (row) {

+ 1 - 1
vue.config.js

@@ -107,7 +107,7 @@ const vueConfig = {
     // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
     proxy: {
       '/api': {
-        target: 'http://192.168.0.215/ocs-admin',
+        target: 'http://192.168.0.215:8602/ocs-admin',
         // target: 'https://t.ocs.360arrow.com/ocs-admin', //  Á·Ï°
         // target: 'http://p.ocs.360arrow.com/ocs-admin', //  Ô¤·¢²¼
         ws: false,