Browse Source

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

chenrui 2 years ago
parent
commit
e5fd796004

+ 1 - 1
public/version.json

@@ -1,5 +1,5 @@
 {
   "message": "发现有新版本发布,确定更新系统?",
   "vendorJsVersion": "",
-  "version": 1676279503631
+  "version": 1676422014382
 }

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

@@ -3270,8 +3270,8 @@ export const asyncRouterMap = [
             component: BlankLayout,
             meta: {
               title: '系统参数',
-              icon: 'sound'
-              // permission: 'M_systemSettingsList'
+              icon: 'sound',
+              permission: 'M_systemSettingsList'
             },
             hideChildrenInMenu: true,
             children: [
@@ -3282,8 +3282,8 @@ export const asyncRouterMap = [
                 meta: {
                   title: '系统参数',
                   icon: 'sound',
-                  hidden: true
-                  // permission: 'M_systemSettingsList'
+                  hidden: true,
+                  permission: 'M_systemSettingsList'
                 }
               }
             ]

+ 12 - 15
src/views/allocationManagement/warehouseAllocation/detail.vue

@@ -53,12 +53,8 @@
           bordered>
           <!-- 产品类别 -->
           <template slot="productType" slot-scope="text, record">
-            <a-tooltip placement="top">
-              <template slot="title">
-                <span>{{ record.productTypeName }}</span>
-              </template>
-              {{ record.productTypeName3 }}
-            </a-tooltip>
+            <span v-if="record.productTypeName2 || record.productTypeName3">{{ record.productTypeName2 }} {{ record.productTypeName3 ? '>' : '' }} {{ record.productTypeName3 }}</span>
+            <span v-else>--</span>
           </template>
           <!-- 成本小计 -->
           <template slot="totalCost" slot-scope="text, record">
@@ -102,6 +98,7 @@ export default {
             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].allocationCost = data.list[i].totalAllocationCost / data.list[i].allocationQty
             }
             this.disabled = false
           }
@@ -116,18 +113,18 @@ export default {
       const _this = this
       const arr = [
         { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
-        { title: '产品编码', dataIndex: 'productCode', width: '14%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品名称', dataIndex: 'productName', width: '14%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '原厂编码', dataIndex: 'productOrigCode', width: '14%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '产品编码', dataIndex: 'productCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '产品名称', dataIndex: 'productName', width: '18%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '原厂编码', dataIndex: 'productOrigCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '类别', scopedSlots: { customRender: 'productType' }, width: '14%', align: 'center' },
-        { title: '数量', dataIndex: 'allocationQty', width: '6%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '单位', dataIndex: 'productUnit', width: '4%', align: 'center', customRender: function (text) { return text || '--' } },
-        // { title: '成本小计(¥)', dataIndex: 'totalAllocationCost', width: '8%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '调出仓位', dataIndex: 'outWarehouseLocationName', width: '11%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '调入仓位', dataIndex: 'putWarehouseLocationName', width: '11%', align: 'center', customRender: function (text) { return text || '--' } }
+        { title: '数量', dataIndex: 'allocationQty', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '单位', dataIndex: 'productUnit', width: '5%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '调出仓位', dataIndex: 'outWarehouseLocationName', width: '10%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '调入仓位', dataIndex: 'putWarehouseLocationName', width: '10%', align: 'center', customRender: function (text) { return text || '--' } }
       ]
       if (this.$hasPermissions('M_ShowAllCost')) {
-        arr.splice(7, 0, { title: '成本小计(¥)', dataIndex: 'totalAllocationCost', width: '8%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
+        arr.splice(5, 0, { title: '成本价', dataIndex: 'allocationCost', width: '5%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
+        arr.splice(8, 0, { title: '成本小计', dataIndex: 'totalAllocationCost', width: '5%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
       }
       return arr
     }

+ 46 - 30
src/views/allocationManagement/warehouseAllocation/edit.vue

@@ -251,22 +251,6 @@ export default {
       productType: [],
       warehousePutLocData: [], //  调入仓位  下拉数据
       warehouseOutLocData: [], //  调出仓位  下拉数据
-      // 表头
-      columns: [
-        { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
-        { title: '产品编码', dataIndex: 'productCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品名称', dataIndex: 'productName', width: '17%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '原厂编码', dataIndex: 'productOrigCode', width: '11%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '品牌', dataIndex: 'brandName', width: '9%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '分类', scopedSlots: { customRender: 'productType' }, width: '9%', align: 'center' },
-        { title: '调出仓位', dataIndex: 'warehouseLocationName', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '调入仓位', scopedSlots: { customRender: 'putWarehouseLocationSn' }, width: '8%', align: 'center' },
-        { title: '调出数量', scopedSlots: { customRender: 'outQty' }, width: '7%', align: 'center' },
-        { title: '可用库存数', dataIndex: 'currentQty', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        // { title: '冻结库存数', dataIndex: 'freezeQty', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '单位', dataIndex: 'unit', width: '4%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: '6%', align: 'center' }
-      ],
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
@@ -283,20 +267,6 @@ export default {
           return data
         })
       },
-      // 表头
-      chooseColumns: [
-        { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
-        { title: '产品编码', dataIndex: 'productCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品名称', dataIndex: 'productName', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '原厂编码', dataIndex: 'productOrigCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '品牌', dataIndex: 'brandName', width: '9%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '分类', scopedSlots: { customRender: 'productType' }, width: '9%', align: 'center' },
-        { title: '调出仓位', dataIndex: 'outWarehouseLocationName', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '调入仓位', scopedSlots: { customRender: 'putWarehouseLocationSn' }, width: '8%', align: 'center' },
-        { title: '调出数量', scopedSlots: { customRender: 'outQty' }, width: '8%', align: 'center' },
-        { title: '单位', dataIndex: 'productUnit', width: '5%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: '6%', align: 'center' }
-      ],
       // 加载数据方法 必须为 Promise 对象
       chooseLoadData: parameter => {
         this.chooseDisabled = true
@@ -309,6 +279,7 @@ export default {
             data.list[i].no = no + i + 1
             data.list[i].outQty = data.list[i].allocationQty
             data.list[i].outQtyBackups = data.list[i].allocationQty
+            data.list[i].allocationCost = data.list[i].totalAllocationCost / data.list[i].allocationQty
           }
           this.chooseDisabled = false
           return data
@@ -318,6 +289,51 @@ export default {
       productTotal: null //  合计
     }
   },
+  computed: {
+    columns () {
+      const _this = this
+      const arr = [
+        { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
+        { title: '产品编码', dataIndex: 'productCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '产品名称', dataIndex: 'productName', width: '17%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '原厂编码', dataIndex: 'productOrigCode', width: '11%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '品牌', dataIndex: 'brandName', width: '9%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '分类', scopedSlots: { customRender: 'productType' }, width: '9%', align: 'center' },
+        { title: '调出仓位', dataIndex: 'warehouseLocationName', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '调入仓位', scopedSlots: { customRender: 'putWarehouseLocationSn' }, width: '8%', align: 'center' },
+        { title: '调出数量', scopedSlots: { customRender: 'outQty' }, width: '7%', align: 'center' },
+        { title: '可用库存数', dataIndex: 'currentQty', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        // { title: '冻结库存数', dataIndex: 'freezeQty', width: '5%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '单位', dataIndex: 'unit', width: '4%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '操作', scopedSlots: { customRender: 'action' }, width: '6%', align: 'center' }
+      ]
+      if (this.$hasPermissions('M_ShowAllCost')) {
+        arr.splice(6, 0, { title: '成本价', dataIndex: 'putCost', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
+      }
+      return arr
+    },
+    chooseColumns () {
+      const _this = this
+      const arr = [
+        { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
+        { title: '产品编码', dataIndex: 'productCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '产品名称', dataIndex: 'productName', width: '12%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '原厂编码', dataIndex: 'productOrigCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '品牌', dataIndex: 'brandName', width: '9%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '分类', scopedSlots: { customRender: 'productType' }, width: '9%', align: 'center' },
+        { title: '调出仓位', dataIndex: 'outWarehouseLocationName', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '调入仓位', scopedSlots: { customRender: 'putWarehouseLocationSn' }, width: '8%', align: 'center' },
+        { title: '调出数量', scopedSlots: { customRender: 'outQty' }, width: '8%', align: 'center' },
+        { title: '单位', dataIndex: 'productUnit', width: '5%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '操作', scopedSlots: { customRender: 'action' }, width: '6%', align: 'center' }
+      ]
+      if (this.$hasPermissions('M_ShowAllCost')) {
+        arr.splice(6, 0, { title: '成本价', dataIndex: 'allocationCost', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
+        arr.splice(11, 0, { title: '成本小计', dataIndex: 'totalAllocationCost', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
+      }
+      return arr
+    }
+  },
   methods: {
     //  重置
     resetSearchForm () {

+ 8 - 3
src/views/customerManagement/customerInfo/list.vue

@@ -74,13 +74,18 @@
       <!-- 操作按钮 -->
       <div class="table-operator">
         <a-button v-if="$hasPermissions('B_customer_customerInfo_add')" id="customerManagementList-add" type="primary" class="button-error" @click="handleEdit()">新增</a-button>
-        <!-- <a-button id="customerManagementList-merge" @click="handleMerge" style="margin: 0 0 0 15px;">客户合并</a-button> -->
       </div>
+      <!-- 合计 -->
+      <a-alert type="info" style="margin-bottom:10px">
+        <div class="ftext" slot="message" style="color:#f30f30;">
+          注意:客户合并功能中,将以当前客户合并被选客户。
+        </div>
+      </a-alert>
       <!-- 列表 -->
       <s-table
         class="sTable fixPagination"
         ref="table"
-        :style="{ height: tableHeight+84.5+'px' }"
+        :style="{ height: tableHeight+68+'px' }"
         size="small"
         :rowKey="(record) => record.id"
         :columns="columns"
@@ -341,7 +346,7 @@ export default {
     },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
-      this.tableHeight = window.innerHeight - tableSearchH - 235
+      this.tableHeight = window.innerHeight - tableSearchH - 255
     },
     // 合并客户
     mergeCustomer (con) {

+ 1 - 1
src/views/purchasingManagement/purchaseOrder/list.vue

@@ -217,7 +217,7 @@ export default {
         this.disabled = true
         this.spinning = true
         const params = Object.assign(parameter, this.queryParam)
-        if(!params.billStatus){
+        if (!params.billStatus) {
           params.billStatus = undefined
         }
         // 获取统计数据

+ 3 - 1
src/views/purchasingManagement/purchaseOrderNew/chooseProductModal.vue

@@ -264,7 +264,9 @@ export default {
     searchForm () {
       if (this.hasVaild) {
         this.showTable = true
-        this.$refs.table.refresh(true)
+        if (this.$refs.table) {
+          this.$refs.table.refresh(true)
+        }
       } else {
         this.$message.info('请输入查询条件')
       }

+ 1 - 1
src/views/purchasingManagement/purchaseOrderNew/list.vue

@@ -209,7 +209,7 @@ export default {
         this.disabled = true
         this.spinning = true
         const params = Object.assign(parameter, this.queryParam)
-        if(!params.billStatus){
+        if (!params.billStatus) {
           params.billStatus = undefined
         }
         // 获取统计数据

+ 4 - 3
src/views/salesManagement/salesReturn/queryPart.vue

@@ -164,9 +164,10 @@ export default {
       loadData: parameter => {
         this.disabled = true
         // 抓单时
-        if (this.grabFlag == 1) {
-          this.queryParam.buyerSn = this.buyerSn
-        }
+        // if (this.grabFlag == 1) {
+        //   this.queryParam.buyerSn = this.buyerSn
+        // }
+        this.queryParam.buyerSn = this.buyerSn
         const fun = [stockList, salesReturnProductList]
         if (this.grabFlag == 0) {
           this.queryParam.salePriceType = this.priceType

+ 15 - 10
src/views/shoppingCarManagement/shoppingCar/list.vue

@@ -2,7 +2,7 @@
   <a-card size="small" :bordered="false" class="shoppingCar-wrap">
     <!-- 搜索条件 -->
     <div ref="tableSearch" class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="searchForm">
+      <a-form layout="inline" @keyup.enter.native="searchForm()">
         <a-row type="flex" :gutter="12" justify="start">
           <a-col flex="auto">
             <a-form-item label="产品编码">
@@ -37,8 +37,8 @@
             </a-form-item>
           </a-col>
           <a-col flex="auto" style="margin-bottom:10px;">
-            <a-button type="primary" @click="searchForm" :disabled="disabled" id="shoppingCar-refresh">查询</a-button>
-            <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="shoppingCar-reset">重置</a-button>
+            <a-button type="primary" @click="searchForm()" :disabled="disabled" id="shoppingCar-refresh">查询</a-button>
+            <a-button style="margin-left: 5px" @click="resetSearchForm()" :disabled="disabled" id="shoppingCar-reset">重置</a-button>
           </a-col>
         </a-row>
       </a-form>
@@ -167,12 +167,15 @@ export default {
   methods: {
     ...mapActions(['getCartList']),
     // 查询
-    searchForm () {
-      // this.$refs.table.clearSelected() // 清空表格选中项
+    searchForm (flag) {
       this.$refs.table.refresh(true)
+      if (flag) {
+        this.$refs.table.clearSelected()
+        this.rowSelectionInfo = null
+      }
     },
     //  重置
-    resetSearchForm () {
+    resetSearchForm (flag) {
       this.queryParam.code = ''
       this.queryParam.name = ''
       this.queryParam.productBrandSn = undefined
@@ -182,8 +185,10 @@ export default {
       this.queryParam.onlineFalg = undefined
       this.productType = []
       this.$refs.table.refresh(true)
-      this.rowSelectionInfo = null
-      this.$refs.table.clearSelected()
+      if (flag) {
+        this.$refs.table.clearSelected()
+        this.rowSelectionInfo = null
+      }
     },
     // 设置表头
     getColumns () {
@@ -254,7 +259,7 @@ export default {
             if (res.status == 200) {
               this.$message.info(res.message)
               this.getCartList()
-              this.searchForm()
+              this.searchForm(true)
             }
             this.loading = false
           })
@@ -328,7 +333,7 @@ export default {
             if (res.status == 200) {
               _this.$emit('ok')
               _this.getCartList()
-              _this.searchForm()
+              _this.searchForm(true)
               _this.loading = false
             } else {
               _this.loading = false