浏览代码

Merge branch 'develop_yh14' of http://git.chelingzhu.com/jianguan-web/qpls-md-html into develop_yh14

lilei 2 年之前
父节点
当前提交
f845118c33

+ 24 - 0
src/config/router.config.js

@@ -2776,6 +2776,30 @@ export const asyncRouterMap = [
                 }
               }
             ]
+          },
+          {
+            path: '/customerManagement/customerMerge',
+            redirect: '/customerManagement/customerMerge/index',
+            name: 'customerMerge',
+            component: BlankLayout,
+            meta: {
+              title: '客户合并记录',
+              icon: 'profile'
+              // permission: 'M_customerMergeList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'index',
+                name: 'customerMergeIndex',
+                component: () => import(/* webpackChunkName: "chainReportData" */ '@/views/customerManagement/customerMerge/index.vue'),
+                meta: {
+                  title: '客户合并记录',
+                  icon: 'profile',
+                  hidden: true
+                }
+              }
+            ]
           }
         ]
       },

+ 4 - 2
src/views/allocationManagement/storeTransferOut/edit.vue

@@ -63,7 +63,7 @@
                     </a-col>
                     <a-col :md="6" :sm="24">
                       <a-form-item label="">
-                        <a-checkbox style="margin-left:10px;" v-model="queryParam.enableFlag" id="sales-byCustQuery">包括禁用产品</a-checkbox>
+                        <a-checkbox style="margin-left:10px;" v-model="enableFlag" :checked="enableFlag" id="sales-byCustQuery">包括禁用产品</a-checkbox>
                       </a-form-item>
                     </a-col>
                   </template>
@@ -259,6 +259,7 @@ export default {
         existStockFlag: undefined,
         enableFlag: undefined // 是否包含禁用产品
       },
+      enableFlag: true,
       chooseQueryParam: {
         productCode: '',
         productName: ''
@@ -274,7 +275,7 @@ export default {
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
-        this.queryParam.enableFlag = this.queryParam.enableFlag ? 1 : 0
+        this.queryParam.enableFlag = this.enableFlag ? '' : 1
         return productQuery(Object.assign(parameter, this.queryParam, { 'currentQtyFlag': 0 })).then(res => {
           const data = res.data
           const no = (data.pageNo - 1) * data.pageSize
@@ -363,6 +364,7 @@ export default {
       this.queryParam.productTypeSn3 = undefined
       this.queryParam.existStockFlag = undefined
       this.queryParam.enableFlag = undefined
+      this.enableFlag = true
       this.productType = []
       this.$refs.table.refresh(true)
     },

+ 297 - 0
src/views/customerManagement/customerMerge/index.vue

@@ -0,0 +1,297 @@
+<template>
+  <a-card size="small" :bordered="false" class="customerManagementList-wrap">
+    <a-spin :spinning="spinning" tip="Loading...">
+      <!-- 搜索条件 -->
+      <div ref="tableSearch" class="table-page-search-wrapper">
+        <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+          <a-row :gutter="15">
+            <a-col :md="6" :sm="24">
+              <a-form-item label="合并时间">
+                <rangeDate ref="rangeSaleDate" @change="dateSaleChange" />
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-item label="合并前客户名称">
+                <a-input id="customerManagementList-customerName" v-model.trim="queryParam.customerName" allowClear placeholder="请输入合并前客户名称"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-item label="当前客户名称">
+                <a-input id="customerManagementList-customerName" v-model.trim="queryParam.customerName" allowClear placeholder="请输入当前客户名称"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
+              <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="customerManagementList-refresh">查询</a-button>
+              <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="customerManagementList-reset">重置</a-button>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+      <!-- 列表 -->
+      <s-table
+        class="sTable fixPagination"
+        ref="table"
+        :style="{ height: tableHeight+68+'px' }"
+        size="small"
+        :rowKey="(record) => record.id"
+        :columns="columns"
+        :data="loadData"
+        :scroll="{ y: tableHeight }"
+        :defaultLoadData="false"
+        bordered>
+      </s-table>
+    </a-spin>
+  </a-card>
+</template>
+
+<script>
+import { commonMixin } from '@/utils/mixin'
+import { getArea } from '@/api/data'
+import { custList, custDel, updateEnableStatus } from '@/api/customer'
+import custType from '@/views/common/custType.js'
+import { STable, VSelect } from '@/components'
+import rangeDate from '@/views/common/rangeDate.vue'
+export default {
+  name: 'CustomerManagementList',
+  components: { STable, VSelect, rangeDate, custType },
+  mixins: [commonMixin],
+  data () {
+    return {
+      spinning: false,
+      advanced: false, // 高级搜索 展开/关闭
+      tableHeight: 0,
+      queryParam: { //  查询条件
+        saleBeginDate: '',
+        saleEndDate: '',
+        customerName: undefined, //  客户名称
+        contactName: '', //  联系人
+        provinceSn: undefined, //  省
+        citySn: undefined, //  市
+        countySn: undefined, //  区
+        dealerFlag: undefined, //  是否卫星仓客户
+        customerTypeSn: undefined //  客户类型
+      },
+      disabled: false, //  查询、重置按钮是否可操作
+      columns: [
+        { title: '序号', dataIndex: 'no', width: '3%', align: 'center' },
+        { title: '合并时间', dataIndex: 'customerName', width: '10%', align: 'left', customRender: function (text) { return text || '--' } },
+        { title: '合并前客户名称', dataIndex: 'contactName', width: '16%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '合并后客户名称', dataIndex: 'contactTel', width: '16%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '当前客户名称', dataIndex: 'contactMobile', width: '16%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true }
+      ],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.disabled = true
+        this.spinning = true
+        return custList(Object.assign(parameter, this.queryParam)).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
+              data.list[i].enabledFlag = data.list[i].enabledFlag + '' === '1'
+            }
+            this.disabled = false
+          }
+          this.spinning = false
+          return data
+        })
+      },
+      addrProvinceList: [], //  省下拉
+      addrCityList: [], //  市下拉
+      addrDistrictList: [], //  区下拉
+      openModal: false, //  查看客户详情  弹框
+      itemId: '', //  当前客户id
+      openMergeModal: false, // 合并用户名称
+      customerTemp: {}// 临时客户数据
+    }
+  },
+  methods: {
+    //  时间  change
+    dateSaleChange (date) {
+      this.queryParam.saleBeginDate = date[0] ? date[0] : ''
+      this.queryParam.saleEndDate = date[1] ? date[1] : ''
+    },
+    //  重置
+    resetSearchForm () {
+      this.$refs.rangeSaleDate.resetDate()
+      this.queryParam.saleBeginDate = ''
+      this.queryParam.saleEndDate = ''
+      this.queryParam.customerName = undefined
+      this.queryParam.contactName = ''
+      this.queryParam.provinceSn = undefined
+      this.queryParam.citySn = undefined
+      this.queryParam.countySn = undefined
+      this.queryParam.dealerFlag = undefined
+      this.queryParam.customerTypeSn = undefined
+      this.addrCityList = []
+      this.addrDistrictList = []
+      this.$refs.table.refresh(true)
+    },
+    //  新增/编辑
+    handleEdit (row) {
+      if (row) { //  编辑
+        this.$router.push({ path: `/customerManagement/customerInfo/edit/${row.id}` })
+      } else { //  新增
+        this.$router.push({ path: '/customerManagement/customerInfo/add' })
+      }
+    },
+    //  删除
+    handleDel (row) {
+      const _this = this
+      this.$confirm({
+        title: '提示',
+        content: '删除后不可恢复,确定要进行删除吗?',
+        centered: true,
+        onOk () {
+          _this.spinning = true
+          custDel({ id: row.id }).then(res => {
+            if (res.status == 200) {
+              _this.$message.success(res.message)
+              _this.$refs.table.refresh()
+              _this.spinning = false
+            } else {
+              _this.spinning = false
+            }
+          })
+        }
+      })
+    },
+    // 修改状态
+    changeFlagHandle (text, record) {
+      const _data = {
+        id: record.id,
+        flag: record.enabledFlag ? '1' : '0'
+      }
+      this.spinning = true
+      updateEnableStatus(_data).then(res => {
+        if (res.status == 200) {
+          this.$message.success(res.message)
+          this.$refs.table.refresh()
+          this.spinning = false
+        } else {
+          this.$refs.table.refresh()
+          this.spinning = false
+        }
+      })
+    },
+    //  客户信息详情
+    handleDetail (row) {
+      this.itemId = row.id
+      this.openModal = true
+    },
+    // 合并客户
+    mergeCustomer (row) {
+      this.customerTemp = row
+      this.openMergeModal = true
+    },
+    closeMergeModal (flag) {
+      this.customerTemp = ''
+      this.openMergeModal = false
+      if (flag) {
+        this.$refs.table.refresh()
+      }
+    },
+    //  关闭弹框
+    closeModal () {
+      this.itemId = ''
+      this.openModal = false
+    },
+    filterOption (input, option) {
+      return (
+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      )
+    },
+    // 获取城市列表
+    getCityList (val) {
+      this.addrCityList = []
+      this.addrDistrictList = []
+      this.queryParam.citySn = undefined
+      this.queryParam.countySn = undefined
+      if (val) {
+        this.getArea('city', val)
+      }
+    },
+    // 获取区县列表
+    getAreaList (val) {
+      this.addrDistrictList = []
+      this.queryParam.countySn = undefined
+      if (val) {
+        this.getArea('district', val)
+      }
+    },
+    //  省/市/区
+    getArea (leve, sn) {
+      let params
+      if (leve == 'province') {
+        params = { type: '2' }
+      } else {
+        params = { parentId: sn, type: leve == 'city' ? '3' : '4' }
+      }
+      getArea(params).then(res => {
+        if (res.status == 200) {
+          if (leve == 'province') {
+            this.addrProvinceList = res.data || []
+          } else if (leve == 'city') {
+            this.addrCityList = res.data || []
+          } else if (leve == 'district') {
+            this.addrDistrictList = res.data || []
+          }
+        } else {
+          if (leve == 'province') {
+            this.addrProvinceList = []
+          } else if (leve == 'city') {
+            this.addrCityList = []
+          } else if (leve == 'district') {
+            this.addrDistrictList = []
+          }
+        }
+      })
+    },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      this.getArea('province')
+    },
+    setTableH () {
+      const tableSearchH = this.$refs.tableSearch.offsetHeight
+      this.tableHeight = window.innerHeight - tableSearchH - 220
+    }
+  },
+  watch: {
+    advanced (newValue, oldValue) {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
+    '$store.state.app.winHeight' (newValue, oldValue) { //  窗口变更时,需同时更改表格高度
+      this.setTableH()
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.resetSearchForm()
+    }
+    // 仅刷新列表,不重置页面
+    if (this.$store.state.app.updateList) {
+      this.pageInit()
+      this.$refs.table.refresh()
+    }
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {})
+  }
+}
+</script>

+ 1 - 1
src/views/financialManagement/companyReceivablePayable/chooseBillModal.vue

@@ -118,7 +118,7 @@ export default {
         { title: '序号', dataIndex: 'no', width: '6%', align: 'center' },
         { title: '单据号', dataIndex: 'bizNo', width: '20%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '单据类型', dataIndex: 'bizTypeDictValue', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '关联单据创建时间', dataIndex: 'auditTime', width: '25%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '关联单据创建时间', dataIndex: 'bizCreateDate', width: '25%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '审核时间', dataIndex: 'auditTime', width: '18%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '金额', dataIndex: 'totalAmount', width: '12%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
         { title: '余额', dataIndex: 'unsettleAmount', width: '12%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }

+ 1 - 30
src/views/financialManagement/companyReceivablePayable/collectionPayment.vue

@@ -28,22 +28,6 @@
                 本次结算金额合计<strong>{{ toThousands(currentTotalBalance) }}</strong>
               </div>
             </a-alert>
-            <!-- 查询条件 -->
-            <div class="table-page-search-wrapper">
-              <a-form layout="inline">
-                <a-row :gutter="15">
-                  <a-col :md="8" :sm="24">
-                    <a-form-item label="关联单据创建时间">
-                      <rangeDate ref="createDate" @change="createDateChange" />
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-button style="margin-bottom: 18px;" type="primary" @click="getsettleInfoAllList" :disabled="disabled" id="collectionPayment-refresh">查询</a-button>
-                    <a-button style="margin: 0 0 18px 8px" @click="resetSearchForm" :disabled="disabled" id="collectionPayment-reset">重置</a-button>
-                  </a-col>
-                </a-row>
-              </a-form>
-            </div>
             <!-- 列表 -->
             <a-table
               class="sTable"
@@ -243,10 +227,6 @@ export default {
         settleAccountName: undefined,
         remark: ''
       },
-      queryParam: {
-        bizCreateBeginDate: undefined,
-        bizCreateEndDate: undefined
-      },
       rules: {
         amountSettled: [{ required: true, message: '请输入本次结算金额,系统将自动分配到已选单据上', trigger: 'change' }],
         discountAmount: [{ required: true, message: '请输入折让金额', trigger: 'blur' }],
@@ -438,8 +418,7 @@ export default {
     getsettleInfoAllList () {
       this.loading = true
       this.disabled = true
-      const ajaxData = Object.assign(this.queryParam, { settleClientSn: this.$route.params.sn, settleClientType: this.$route.params.type, notEqZero: 1 })
-      settleInfoAllList(ajaxData).then(res => {
+      settleInfoAllList({ settleClientSn: this.$route.params.sn, settleClientType: this.$route.params.type, notEqZero: 1 }).then(res => {
         res.data.map(item => {
           item.settleAmount = item.unsettleAmount
         })
@@ -453,16 +432,8 @@ export default {
       this.chooseLoadData = []
       this.getsettleInfoAllList()
     },
-    // 关联单据创建时间
-    createDateChange (date) {
-      this.queryParam.bizCreateBeginDate = date[0]
-      this.queryParam.bizCreateEndDate = date[1]
-    },
     // 重置
     resetSearchForm () {
-      this.$refs.createDate.resetDate()
-      this.queryParam.bizCreateBeginDate = ''
-      this.queryParam.bizCreateEndDate = ''
       this.getsettleInfoAllList()
     }
   },

+ 1 - 1
src/views/inventoryManagement/inventoryChecking/detailModal.vue

@@ -65,7 +65,7 @@
                 <div>
                   盘盈总数量: <strong>{{ productTotal&&(productTotal.checkProfitQty || productTotal.checkProfitQty==0) ? productTotal.checkProfitQty : '--' }}</strong>,
                   <span v-if="basicInfoData&&basicInfoData.state=='FINISH'">盘盈总成本: <strong>{{ productTotal&&(productTotal.checkProfitCost || productTotal.checkProfitCost==0) ? toThousands(productTotal.checkProfitCost) : '--' }}</strong>,</span>
-                  盘亏总数量: <strong>{{ productTotal&&(productTotal.checkLossQty || productTotal.checkLossQty!=0) ?'-'+productTotal.checkLossQty:productTotal.checkLossQty==0?productTotal.checkLossQty : '--' }}</strong>,
+                  盘亏总数量: <strong>{{ productTotal&&productTotal.checkLossQty?productTotal.checkLossQty==0?productTotal.checkLossQty:('-'+productTotal.checkLossQty):'--' }}</strong>,
                   <span v-if="basicInfoData&&basicInfoData.state=='FINISH'">盘亏总成本: <strong>{{ productTotal&&(productTotal.checkLossCost || productTotal.checkLossCost==0) ? toThousands(productTotal.checkLossCost) : '--' }}</strong>,</span>
                   盈亏总数量: <strong>{{ productTotal&&(productTotal.totalCheckProfitLossQty || productTotal.totalCheckProfitLossQty==0) ? productTotal.totalCheckProfitLossQty : '--' }}</strong>,
                   <span v-if="basicInfoData&&basicInfoData.state=='FINISH'">盈亏总成本: <strong>{{ productTotal&&(productTotal.totalCheckProfitLossCost || productTotal.totalCheckProfitLossCost==0) ? toThousands(productTotal.totalCheckProfitLossCost) : '--' }}</strong>,</span>