Browse Source

Merge branch 'develop_yh39' of jianguan-web/qpls-md-html into pre-release

李磊 1 year ago
parent
commit
9804f5dbc9

+ 1 - 1
public/version.json

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

+ 4 - 4
src/libs/JGPrint.js

@@ -18,9 +18,9 @@ export const JGPrintTag = function (width, height, data) {
       onOk () {
       onOk () {
         var agent = navigator.userAgent.toLowerCase();
         var agent = navigator.userAgent.toLowerCase();
         if (agent.indexOf("win32") >= 0 || agent.indexOf("wow32") >= 0) {
         if (agent.indexOf("win32") >= 0 || agent.indexOf("wow32") >= 0) {
-            window.open('https://iscm.360arrow.com/electron/CLodop.exe')
+            window.open('https://demo.lodop.net:8443/Lodop6.226_Clodop6.594.zip')
         }else if (agent.indexOf("win64") >= 0 || agent.indexOf("wow64") >= 0) {
         }else if (agent.indexOf("win64") >= 0 || agent.indexOf("wow64") >= 0) {
-            window.open('https://iscm.360arrow.com/electron/CLodop.exe')
+            window.open('https://www.lodop.net/download/CLodop_Setup_for_Win64NT_6.594EN.zip')
         }
         }
       }
       }
     })
     })
@@ -285,9 +285,9 @@ export const jGPrint = function (data, type, printerType, taskName) {
         onOk () {
         onOk () {
           var agent = navigator.userAgent.toLowerCase();
           var agent = navigator.userAgent.toLowerCase();
           if (agent.indexOf("win32") >= 0 || agent.indexOf("wow32") >= 0) {
           if (agent.indexOf("win32") >= 0 || agent.indexOf("wow32") >= 0) {
-              window.open('https://iscm.360arrow.com/electron/CLodop.exe')
+              window.open('https://demo.lodop.net:8443/Lodop6.226_Clodop6.594.zip')
           }else if (agent.indexOf("win64") >= 0 || agent.indexOf("wow64") >= 0) {
           }else if (agent.indexOf("win64") >= 0 || agent.indexOf("wow64") >= 0) {
-              window.open('https://iscm.360arrow.com/electron/CLodop.exe')
+              window.open('https://www.lodop.net/download/CLodop_Setup_for_Win64NT_6.594EN.zip')
           }
           }
         }
         }
       })
       })

+ 1 - 1
src/views/common/rangeDate.vue

@@ -98,7 +98,7 @@ export default {
         'date3': [moment().startOf('month'), moment()],
         'date3': [moment().startOf('month'), moment()],
         'date4': [moment().subtract(1, 'months').startOf('month'), moment().subtract(1, 'months').endOf('month')],
         'date4': [moment().subtract(1, 'months').startOf('month'), moment().subtract(1, 'months').endOf('month')],
         'date5': [moment().subtract(1, 'years'), moment()],
         'date5': [moment().subtract(1, 'years'), moment()],
-        'date6': [moment().subtract(3, 'months').startOf('month'), moment().subtract(3, 'months').endOf('month')]
+        'date6': [moment().month(moment().month() - 2).startOf('month'), moment()]
       },
       },
       startMode:'',
       startMode:'',
       endMode: ''
       endMode: ''

+ 18 - 13
src/views/common/shopingCatModal.vue

@@ -8,11 +8,12 @@
     :wrap-style="{ position: 'absolute' }"
     :wrap-style="{ position: 'absolute' }"
     @close="onClose"
     @close="onClose"
     wrapClassName="shopingCat-drawer jg-drawer-wrap">
     wrapClassName="shopingCat-drawer jg-drawer-wrap">
-     <div slot="title">
-       <strong>{{title}}</strong>
-       <span style="color: #ed1c24;;margin-left:10px;font-size: 12px;">注意:仅可添加本供应商有经销权且总部已上线的产品</span>
-     </div>
-     <shopingCat ref="shopingCat" modes="modals" @ok="handleok"></shopingCat>
+    <div slot="title">
+      <strong>{{ title }}</strong>
+      <span style="color: #ed1c24;;margin-left:10px;font-size: 12px;" v-if="purchaseTargetType&&(purchaseTargetType=='DEALER_UP'||purchaseTargetType=='DEALER_SUPPLIER')">注意:仅可添加本供应商有权限的产品</span>
+      <span style="color: #ed1c24;;margin-left:10px;font-size: 12px;" v-else-if="purchaseTargetType&&purchaseTargetType=='SUPPLIER_SYS'">注意:仅可添加本供应商有经销权且总部已上线的产品</span>
+    </div>
+    <shopingCat ref="shopingCat" :purchaseType="purchaseTargetType" modes="modals" @ok="handleok"></shopingCat>
   </a-drawer>
   </a-drawer>
 </template>
 </template>
 
 
@@ -20,7 +21,7 @@
 import { commonMixin } from '@/utils/mixin'
 import { commonMixin } from '@/utils/mixin'
 import shopingCat from '@/views/shoppingCarManagement/shoppingCar/list.vue'
 import shopingCat from '@/views/shoppingCarManagement/shoppingCar/list.vue'
 export default {
 export default {
-  name:"shopingCatModal",
+  name: 'ShopingCatModal',
   mixins: [commonMixin],
   mixins: [commonMixin],
   components: {
   components: {
     shopingCat
     shopingCat
@@ -40,22 +41,26 @@ export default {
     },
     },
     paramsData: {
     paramsData: {
       type: Object
       type: Object
+    },
+    purchaseTargetType: {
+      type: String,
+      default: null
     }
     }
   },
   },
   watch: {
   watch: {
     showModal (newValue, oldValue) {
     showModal (newValue, oldValue) {
       this.visible = newValue
       this.visible = newValue
       if (newValue) {
       if (newValue) {
-         setTimeout(()=>{
-           this.$refs.shopingCat.pageInit(this.paramsData)
-         },500)
+        setTimeout(() => {
+          this.$refs.shopingCat.pageInit(this.paramsData)
+        }, 500)
       }
       }
-    },
+    }
   },
   },
   data () {
   data () {
     return {
     return {
       visible: this.showModal,
       visible: this.showModal,
-      title: '购物车',
+      title: '购物车'
     }
     }
   },
   },
   methods: {
   methods: {
@@ -64,7 +69,7 @@ export default {
     },
     },
     handleok () {
     handleok () {
       this.$emit('ok')
       this.$emit('ok')
-    },
+    }
   }
   }
 }
 }
 </script>
 </script>
@@ -84,6 +89,6 @@ export default {
       height: 100%;
       height: 100%;
     }
     }
   }
   }
-  
+
 }
 }
 </style>
 </style>

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

@@ -134,7 +134,7 @@ export default {
   data () {
   data () {
     return {
     return {
       spinning: false,
       spinning: false,
-      advanced: false, // 高级搜索 展开/关闭
+      advanced: true, // 高级搜索 展开/关闭
       tableHeight: 0,
       tableHeight: 0,
       queryParam: { //  查询条件
       queryParam: { //  查询条件
         saleBeginDate: '',
         saleBeginDate: '',
@@ -146,7 +146,7 @@ export default {
         countySn: undefined, //  区
         countySn: undefined, //  区
         dealerFlag: undefined, //  是否卫星仓客户
         dealerFlag: undefined, //  是否卫星仓客户
         customerTypeSn: undefined, //  客户类型
         customerTypeSn: undefined, //  客户类型
-        enabledFlag: undefined, //  启用状态
+        enabledFlag: '1', //  启用状态
         relationType: undefined
         relationType: undefined
       },
       },
       disabled: false, //  查询、重置按钮是否可操作
       disabled: false, //  查询、重置按钮是否可操作
@@ -216,7 +216,7 @@ export default {
       this.queryParam.dealerFlag = undefined
       this.queryParam.dealerFlag = undefined
       this.queryParam.customerTypeSn = undefined
       this.queryParam.customerTypeSn = undefined
       this.queryParam.relationType = undefined
       this.queryParam.relationType = undefined
-      this.queryParam.enabledFlag = undefined
+      this.queryParam.enabledFlag = '1'
       this.addrCityList = []
       this.addrCityList = []
       this.addrDistrictList = []
       this.addrDistrictList = []
       if (this.advanced) {
       if (this.advanced) {

+ 62 - 37
src/views/power/role/menuModal.vue

@@ -1,35 +1,35 @@
 <template>
 <template>
   <a-modal
   <a-modal
-        centered
-        class="modalBox"
-        :title="roleName"
-        v-model="isshow"
-        @cancel="cancel"
-        :maskClosable="false">
-        <div style="min-height: 100px;">
-          <a-spin :spinning="spinning" tip="Loading...">
-            <a-form class="form-box" style="max-height: 600px;" :form="form" @submit="handleSubmit">
-            <a-tree
-              checkable
-              @check="onCheck"
-              @expand="onExpand"
-              :expandedKeys="expandedKeys"
-              :autoExpandParent="autoExpandParent"
-              v-model="checkedKeys"
-              :treeData="treeData"
-            />
-          </a-form>
-          <a-form-item :wrapper-col="{ offset: 15 }">
-            <a-button type="primary" @click="handleSubmit()" id="menuModal-handleSubmit">
-              保存
-            </a-button>
-            <a-button :style="{ marginLeft: '8px' }" @click="cancel" id="menuModal-handleCancel">
-              取消
-            </a-button>
-          </a-form-item>
-          </a-spin>
-        </div>
-      </a-modal>
+    centered
+    class="modalBox"
+    :title="roleName"
+    v-model="isshow"
+    @cancel="cancel"
+    :maskClosable="false">
+    <div style="min-height: 100px;">
+      <a-spin :spinning="spinning" tip="Loading...">
+        <a-form class="form-box" style="max-height: 600px;" :form="form" @submit="handleSubmit">
+          <a-tree
+            checkable
+            @check="onCheck"
+            @expand="onExpand"
+            :expandedKeys="expandedKeys"
+            :autoExpandParent="autoExpandParent"
+            v-model="checkedKeys"
+            :treeData="treeData"
+          />
+        </a-form>
+        <a-form-item :wrapper-col="{ offset: 15 }">
+          <a-button type="primary" @click="handleSubmit()" id="menuModal-handleSubmit">
+            保存
+          </a-button>
+          <a-button :style="{ marginLeft: '8px' }" @click="cancel" id="menuModal-handleCancel">
+            取消
+          </a-button>
+        </a-form-item>
+      </a-spin>
+    </div>
+  </a-modal>
 </template>
 </template>
 
 
 <script>
 <script>
@@ -44,7 +44,7 @@ export default {
     visible: {
     visible: {
       type: Boolean,
       type: Boolean,
       default: false
       default: false
-    },
+    }
   },
   },
   data () {
   data () {
     return {
     return {
@@ -126,27 +126,32 @@ export default {
         }
         }
       }
       }
     },
     },
-    getmenuData(id){
+    getmenuData (id) {
       this.spinning = true
       this.spinning = true
       getMenuList({
       getMenuList({
         id: id
         id: id
       }).then(res => {
       }).then(res => {
         if (res.status == 200) {
         if (res.status == 200) {
-          if(res.data.role){
+          if (res.data.role) {
             this.setmenuData(res.data)
             this.setmenuData(res.data)
-          }else{
-            this.$message.error("获取数据失败,请重试!")
+          } else {
+            this.$message.error('获取数据失败,请重试!')
             this.isshow = false
             this.isshow = false
           }
           }
         }
         }
         this.spinning = false
         this.spinning = false
       })
       })
     },
     },
-    setmenuData(newValue){
+    setmenuData (newValue) {
       this.menuData = newValue
       this.menuData = newValue
       console.log(this.menuData)
       console.log(this.menuData)
       if (newValue) { // 编辑
       if (newValue) { // 编辑
-        this.treeData = this.menuData.allMenuList
+        if (this.$store.state.user.isShowSpecialPrice == 1) { // 特约经销商
+          const newChilderArr = this.filterTree(newValue.allMenuList)
+          this.treeData = newChilderArr
+        } else {
+          this.treeData = this.menuData.allMenuList
+        }
         this.id = this.menuData.role.id
         this.id = this.menuData.role.id
         this.roleName = '分配权限' + '(' + this.menuData.role.name + ')'
         this.roleName = '分配权限' + '(' + this.menuData.role.name + ')'
         if (this.menuData.role.menuIds) {
         if (this.menuData.role.menuIds) {
@@ -157,6 +162,26 @@ export default {
         }
         }
       }
       }
     },
     },
+    // 筛选子级中的不含市级价的树
+    filterTree (tree) {
+      return tree.map(node => {
+        // 创建当前节点的副本,避免直接修改原节点
+        const newNode = { ...node }
+        // 递归删除子节点中 name 等于 '市级价' 的节点
+        if (newNode.children) {
+          newNode.children = newNode.children.filter(child => {
+            // 如果子节点有子级,则递归处理
+            if (child.children && child.children.length > 0) {
+              child.children = this.filterTree(child.children)
+            }
+            // 返回不符合删除条件的子节点
+            return child.name != '市级价'
+          })
+        }
+        // 返回处理后的节点
+        return newNode
+      })
+    }
   },
   },
   beforeCreate () {
   beforeCreate () {
     this.form = this.$form.createForm(this, { name: 'menuModal' })
     this.form = this.$form.createForm(this, { name: 'menuModal' })

+ 1 - 2
src/views/productManagement/priceChangeRecord/list.vue

@@ -194,7 +194,7 @@ export default {
       ]
       ]
       getCurrentDealer().then(res => {
       getCurrentDealer().then(res => {
         if (res.status == 200) {
         if (res.status == 200) {
-          if (res.data.dealerLevel && res.data.dealerLevel == 'PROVINCE') { //  省级
+          if (res.data.dealerLevel && (res.data.dealerLevel == 'PROVINCE' || res.data.dealerLevel == 'CITY')) { //  省级
             this.columns.push({
             this.columns.push({
               title: '省级价',
               title: '省级价',
               dataIndex: 'sdtermindfaldsdPrice',
               dataIndex: 'sdtermindfaldsdPrice',
@@ -204,7 +204,6 @@ export default {
                 { title: '变更后', scopedSlots: { customRender: 'afterProvincePrice' }, width: '4%', align: 'right' }
                 { title: '变更后', scopedSlots: { customRender: 'afterProvincePrice' }, width: '4%', align: 'right' }
               ]
               ]
             })
             })
-
             if (this.$hasPermissions('M_ShowAllCityPrice')) {
             if (this.$hasPermissions('M_ShowAllCityPrice')) {
               this.columns.push({
               this.columns.push({
                 title: '市级价',
                 title: '市级价',

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

@@ -81,7 +81,7 @@
           <a-dropdown v-model="showCell">
           <a-dropdown v-model="showCell">
             <a-button type="link" class="button-default"> <a-icon type="setting" />  显示</a-button>
             <a-button type="link" class="button-default"> <a-icon type="setting" />  显示</a-button>
             <a-menu slot="overlay">
             <a-menu slot="overlay">
-              <a-menu-item v-if="currentDealerInfo.dealerLevel && currentDealerInfo.dealerLevel == 'PROVINCE'">
+              <a-menu-item v-if="currentDealerInfo.dealerLevel && (currentDealerInfo.dealerLevel == 'CITY'||currentDealerInfo.dealerLevel == 'PROVINCE')">
                 <a-checkbox v-model="isProPrice">
                 <a-checkbox v-model="isProPrice">
                   省级价
                   省级价
                 </a-checkbox>
                 </a-checkbox>
@@ -116,7 +116,7 @@
                   自定义车主价
                   自定义车主价
                 </a-checkbox>
                 </a-checkbox>
               </a-menu-item>
               </a-menu-item>
-            </a-menu>
+              </a-menu-item></a-menu>
           </a-dropdown>
           </a-dropdown>
           <a-divider type="vertical" style="margin:5px 0;"/>
           <a-divider type="vertical" style="margin:5px 0;"/>
           <a-dropdown>
           <a-dropdown>
@@ -286,7 +286,8 @@ export default {
         { title: '产品图片', scopedSlots: { customRender: 'imageUrl' }, width: '6%', align: 'center' },
         { title: '产品图片', scopedSlots: { customRender: 'imageUrl' }, width: '6%', align: 'center' },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '12%', align: 'center' }
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '12%', align: 'center' }
       ]
       ]
-      if (_this.currentDealerInfo.dealerLevel && _this.currentDealerInfo.dealerLevel == 'PROVINCE') { //  省级
+
+      if (_this.currentDealerInfo.dealerLevel && (_this.currentDealerInfo.dealerLevel == 'PROVINCE' || _this.currentDealerInfo.dealerLevel == 'CITY')) { //  省级
         if (this.isProPrice) {
         if (this.isProPrice) {
           arr.push(
           arr.push(
             { title: '省级价', dataIndex: 'provincePrice', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }
             { title: '省级价', dataIndex: 'provincePrice', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }

+ 12 - 9
src/views/purchasingManagement/purchaseOrder/edit.vue

@@ -156,7 +156,7 @@
                     class="button-primary"
                     class="button-primary"
                     :loading="addLoading"
                     :loading="addLoading"
                     @click="handleAdd(record,0)"
                     @click="handleAdd(record,0)"
-                    >添加</a-button>
+                  >添加</a-button>
                 </template>
                 </template>
               </s-table>
               </s-table>
             </div>
             </div>
@@ -265,6 +265,7 @@
     <!-- 上次缺货 -->
     <!-- 上次缺货 -->
     <outStockModal
     <outStockModal
       ref="outStock"
       ref="outStock"
+      :purchaseTargetType="detail?detail.purchaseTargetType:null"
       :paramsSn="$route.params.sn"
       :paramsSn="$route.params.sn"
       :openModal="openOutStockModal"
       :openModal="openOutStockModal"
       :chooseData="chooseData"
       :chooseData="chooseData"
@@ -287,7 +288,7 @@ import chooseAddressModal from '@/views/common/receivingAddress/chooseAddressMod
 import ProductType from '../../common/productType.js'
 import ProductType from '../../common/productType.js'
 import ProductBrand from '../../common/productBrand.js'
 import ProductBrand from '../../common/productBrand.js'
 import { purchaseDetailBySn, purchaseWriteSubmit, purchaseDetailPrint, purchaseDetailExport, purchaseDetailAddress } from '@/api/purchase'
 import { purchaseDetailBySn, purchaseWriteSubmit, purchaseDetailPrint, purchaseDetailExport, purchaseDetailAddress } from '@/api/purchase'
-import { purchaseDetailList, purchaseDetailSave, purchaseDetailDel, purchaseDetailCancelList } from '@/api/purchaseDetail'
+import { purchaseDetailList, purchaseDetailSave, purchaseDetailDel } from '@/api/purchaseDetail'
 import { productListPurchase } from '@/api/product'
 import { productListPurchase } from '@/api/product'
 import defImg from '@/assets/def_img@2x.png'
 import defImg from '@/assets/def_img@2x.png'
 import Print from '@/views/common/print.vue'
 import Print from '@/views/common/print.vue'
@@ -386,7 +387,7 @@ export default {
         { title: '产品图片', scopedSlots: { customRender: 'imageUrl' }, width: '6%', align: 'center' },
         { title: '产品图片', scopedSlots: { customRender: 'imageUrl' }, width: '6%', align: 'center' },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '8%', align: 'center' }
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '8%', align: 'center' }
       ]
       ]
-      // 产品来源 
+      // 产品来源
       if (this.isDealerUp) {
       if (this.isDealerUp) {
         arr.splice(1, 0, { title: '产品编码', scopedSlots: { customRender: 'code' }, width: '15%', align: 'center', sorter: true })
         arr.splice(1, 0, { title: '产品编码', scopedSlots: { customRender: 'code' }, width: '15%', align: 'center', sorter: true })
         arr.splice(6, 0, { title: '产品来源', dataIndex: 'sysFlagDictValue', width: '6%', align: 'center', customRender: function (text) { return text || '--' } })
         arr.splice(6, 0, { title: '产品来源', dataIndex: 'sysFlagDictValue', width: '6%', align: 'center', customRender: function (text) { return text || '--' } })
@@ -503,25 +504,27 @@ export default {
       }
       }
       // 添加
       // 添加
       if (type == 0) {
       if (type == 0) {
-        if(this.isDealerUp){
-          if(row.purchasePrice){
+        if (this.isDealerUp) {
+          if (row.purchasePrice) {
             params.productSn = row.productSn
             params.productSn = row.productSn
             params.purchaseBillSn = this.detail.purchaseBillSn
             params.purchaseBillSn = this.detail.purchaseBillSn
             params.purchaseBillNo = this.detail.purchaseBillNo
             params.purchaseBillNo = this.detail.purchaseBillNo
             params.price = row.purchasePrice
             params.price = row.purchasePrice
             params.qty = row.qty
             params.qty = row.qty
-          }else{
+            params.priceLevel = row.priceLevel
+          } else {
             this.$message.warning('成本价不能为空!')
             this.$message.warning('成本价不能为空!')
             return
             return
           }
           }
-        }else{
-          if(row.purchasePrice&&row.terminalPrice&&row.carOwnersPrice){
+        } else {
+          if (row.purchasePrice && row.terminalPrice && row.carOwnersPrice) {
             params.productSn = row.productSn
             params.productSn = row.productSn
             params.purchaseBillSn = this.detail.purchaseBillSn
             params.purchaseBillSn = this.detail.purchaseBillSn
             params.purchaseBillNo = this.detail.purchaseBillNo
             params.purchaseBillNo = this.detail.purchaseBillNo
             params.price = row.purchasePrice
             params.price = row.purchasePrice
             params.qty = row.qty
             params.qty = row.qty
-          }else{
+            params.priceLevel = row.priceLevel
+          } else {
             this.$message.warning('成本价、终端会员价、车主零售价不能为空!')
             this.$message.warning('成本价、终端会员价、车主零售价不能为空!')
             return
             return
           }
           }

+ 19 - 4
src/views/purchasingManagement/purchaseOrder/outStockModal.vue

@@ -4,10 +4,14 @@
     class="outStock-modal"
     class="outStock-modal"
     :footer="null"
     :footer="null"
     :maskClosable="false"
     :maskClosable="false"
-    title="采购缺货产品明细"
     v-model="isShow"
     v-model="isShow"
     @cancel="isShow=false"
     @cancel="isShow=false"
     :width="900">
     :width="900">
+    <div slot="title">
+      <strong>采购缺货产品明细</strong>
+      <span style="color: #ed1c24;;margin-left:10px;font-size: 12px;" v-if="purchaseTargetType&&(purchaseTargetType=='DEALER_UP'||purchaseTargetType=='DEALER_SUPPLIER')">注意:仅可添加本供应商有权限的产品</span>
+      <span style="color: #ed1c24;;margin-left:10px;font-size: 12px;" v-else-if="purchaseTargetType&&purchaseTargetType=='SUPPLIER_SYS'">注意:仅可添加本供应商有经销权且总部已上线的产品</span>
+    </div>
     <a-spin :spinning="spinning" tip="Loading...">
     <a-spin :spinning="spinning" tip="Loading...">
       <div class="outStock-con">
       <div class="outStock-con">
         <div>
         <div>
@@ -54,13 +58,19 @@
             ref="table"
             ref="table"
             size="small"
             size="small"
             :rowKey="(record) => record.id"
             :rowKey="(record) => record.id"
-            :row-selection="{ columnWidth: 40 }"
+            :row-selection="{ columnWidth: 40 ,getCheckboxProps:record=>({props:{disabled:(purchaseTargetType&&purchaseTargetType=='SUPPLIER_SYS'&&record.onlineFalg == 0)||record.productPowerFlag==0}})}"
             @rowSelection="rowSelectionFun"
             @rowSelection="rowSelectionFun"
             :data="loadData"
             :data="loadData"
             :columns="columns"
             :columns="columns"
             :scroll="{ y: 450 }"
             :scroll="{ y: 450 }"
             :defaultLoadData="false"
             :defaultLoadData="false"
             bordered>
             bordered>
+            <!-- 产品编码 -->
+            <template slot="productCode" slot-scope="text, record">
+              {{ record.productCode }}
+              <a-tag v-if="record.onlineFalg == 0">下架</a-tag>
+              <a-tag color="red" v-if="record.productPowerFlag== 0">无权限</a-tag>
+            </template>
           </s-table>
           </s-table>
         </div>
         </div>
         <!-- 按钮 -->
         <!-- 按钮 -->
@@ -109,6 +119,10 @@ export default {
       default: () => {
       default: () => {
         return []
         return []
       }
       }
+    },
+    purchaseTargetType: {
+      type: String,
+      default: null
     }
     }
   },
   },
   data () {
   data () {
@@ -123,7 +137,7 @@ export default {
       columns: [
       columns: [
         { title: '序号', dataIndex: 'no', width: '8%', align: 'center' },
         { title: '序号', dataIndex: 'no', width: '8%', align: 'center' },
         { title: '采购单号', dataIndex: 'purchaseBillNo', width: '18%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '采购单号', dataIndex: 'purchaseBillNo', width: '18%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品编码', dataIndex: 'productCode', width: '18%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '产品编码', dataIndex: 'productCode', width: '18%', align: 'center', scopedSlots: { customRender: 'productCode' } },
         { title: '产品名称', dataIndex: 'productName', width: '30%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '产品名称', dataIndex: 'productName', width: '30%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '缺货数量', dataIndex: 'qty', width: '15%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '缺货数量', dataIndex: 'qty', width: '15%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '缺货金额', dataIndex: 'totalAmount', width: '15%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
         { title: '缺货金额', dataIndex: 'totalAmount', width: '15%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
@@ -161,7 +175,8 @@ export default {
           productTypeSn1: '', //  产品一级分类
           productTypeSn1: '', //  产品一级分类
           productTypeSn2: '', //  产品二级分类
           productTypeSn2: '', //  产品二级分类
           productTypeSn3: '' //  产品三级分类
           productTypeSn3: '' //  产品三级分类
-        }
+        },
+        newPurchaseBillSn: _this.paramsSn
       }
       }
     }
     }
   },
   },

+ 4 - 4
src/views/purchasingManagement/purchaseOrderNew/chooseProductModal.vue

@@ -104,7 +104,7 @@
               class="button-primary"
               class="button-primary"
               :loading="addLoading"
               :loading="addLoading"
               @click="handleAdd(record)"
               @click="handleAdd(record)"
-              >添加</a-button>
+            >添加</a-button>
           </template>
           </template>
         </s-table>
         </s-table>
         <div v-else>
         <div v-else>
@@ -241,10 +241,10 @@ export default {
       ]
       ]
       // 产品来源
       // 产品来源
       if (this.isDealerUp) {
       if (this.isDealerUp) {
-        arr.splice(0,0,{ title: '产品编码', scopedSlots: { customRender: 'code' }, width: '150px', align: 'center', fixed: 'left' })
+        arr.splice(0, 0, { title: '产品编码', scopedSlots: { customRender: 'code' }, width: '150px', align: 'center', fixed: 'left' })
         arr.splice(2, 0, { title: '产品来源', dataIndex: 'sysFlagDictValue', width: '100px', align: 'center', customRender: function (text) { return text || '--' } })
         arr.splice(2, 0, { title: '产品来源', dataIndex: 'sysFlagDictValue', width: '100px', align: 'center', customRender: function (text) { return text || '--' } })
-      }else{
-        arr.splice(0,0,{ title: '产品编码', dataIndex: 'code', width: '150px', align: 'center', customRender: function (text) { return text || '--' }, fixed: 'left', sorter: true })
+      } else {
+        arr.splice(0, 0, { title: '产品编码', dataIndex: 'code', width: '150px', align: 'center', customRender: function (text) { return text || '--' }, fixed: 'left', sorter: true })
       }
       }
       if (this.$hasPermissions('M_ShowAllCost')) {
       if (this.$hasPermissions('M_ShowAllCost')) {
         arr.splice(this.isDealerUp ? 4 : 3, 0, { title: '成本价', dataIndex: 'purchasePrice', width: '100px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })
         arr.splice(this.isDealerUp ? 4 : 3, 0, { title: '成本价', dataIndex: 'purchasePrice', width: '100px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } })

+ 10 - 8
src/views/purchasingManagement/purchaseOrderNew/edit.vue

@@ -171,11 +171,11 @@
       :paramsSn="$route.params.sn"
       :paramsSn="$route.params.sn"
       :chooseData="chooseData"
       :chooseData="chooseData"
       :openModal="openOutStockModal"
       :openModal="openOutStockModal"
+      :purchaseTargetType="detail?detail.purchaseTargetType:null"
       @close="openOutStockModal=false"
       @close="openOutStockModal=false"
       @ok="hanldeOkOutStock" />
       @ok="hanldeOkOutStock" />
     <!-- 购物车 -->
     <!-- 购物车 -->
-    <shopingCatModal :showModal="openShopCatModal" :paramsData="paramsData" @close="openShopCatModal=false" @ok="getOrderDetail(false, true)"></shopingCatModal>
-
+    <shopingCatModal :showModal="openShopCatModal" :paramsData="paramsData" :purchaseTargetType="detail?detail.purchaseTargetType:null" @close="openShopCatModal=false" @ok="getOrderDetail(false, true)"></shopingCatModal>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -414,26 +414,28 @@ export default {
       }
       }
       // 添加
       // 添加
       if (type == 0) {
       if (type == 0) {
-        if(this.isDealerUp){
-          if(row.purchasePrice){
+        if (this.isDealerUp) {
+          if (row.purchasePrice) {
             params.productSn = row.productSn
             params.productSn = row.productSn
             params.purchaseBillSn = this.detail.purchaseBillSn
             params.purchaseBillSn = this.detail.purchaseBillSn
             params.purchaseBillNo = this.detail.purchaseBillNo
             params.purchaseBillNo = this.detail.purchaseBillNo
             params.price = row.purchasePrice
             params.price = row.purchasePrice
             params.qty = row.qty
             params.qty = row.qty
-          }else{
+            params.priceLevel = row.priceLevel
+          } else {
             this.$message.warning('成本价不能为空!')
             this.$message.warning('成本价不能为空!')
             this.$refs.chooseProduct.spinning = false
             this.$refs.chooseProduct.spinning = false
             return
             return
           }
           }
-        }else{
-          if(row.purchasePrice&&row.terminalPrice&&row.carOwnersPrice){
+        } else {
+          if (row.purchasePrice && row.terminalPrice && row.carOwnersPrice) {
             params.productSn = row.productSn
             params.productSn = row.productSn
             params.purchaseBillSn = this.detail.purchaseBillSn
             params.purchaseBillSn = this.detail.purchaseBillSn
             params.purchaseBillNo = this.detail.purchaseBillNo
             params.purchaseBillNo = this.detail.purchaseBillNo
             params.price = row.purchasePrice
             params.price = row.purchasePrice
             params.qty = row.qty
             params.qty = row.qty
-          }else{
+            params.priceLevel = row.priceLevel
+          } else {
             this.$message.warning('成本价、终端会员价、车主零售价不能为空!')
             this.$message.warning('成本价、终端会员价、车主零售价不能为空!')
             this.$refs.chooseProduct.spinning = false
             this.$refs.chooseProduct.spinning = false
             return
             return

+ 22 - 5
src/views/purchasingManagement/purchaseOrderNew/outStockModal.vue

@@ -1,7 +1,6 @@
 <template>
 <template>
   <a-drawer
   <a-drawer
     :zIndex="zIndex"
     :zIndex="zIndex"
-    title="采购缺货产品明细"
     placement="right"
     placement="right"
     :visible="isShow"
     :visible="isShow"
     :width="width"
     :width="width"
@@ -10,6 +9,11 @@
     @close="onCancel"
     @close="onCancel"
     wrapClassName="outStock-modal"
     wrapClassName="outStock-modal"
   >
   >
+    <div slot="title">
+      <strong>采购缺货产品明细</strong>
+      <span style="color: #ed1c24;;margin-left:10px;font-size: 12px;" v-if="purchaseTargetType&&(purchaseTargetType=='DEALER_UP'||purchaseTargetType=='DEALER_SUPPLIER')">注意:仅可添加本供应商有权限的产品</span>
+      <span style="color: #ed1c24;;margin-left:10px;font-size: 12px;" v-else-if="purchaseTargetType&&purchaseTargetType=='SUPPLIER_SYS'">注意:仅可添加本供应商有经销权且总部已上线的产品</span>
+    </div>
     <a-spin :spinning="spinning" tip="Loading...">
     <a-spin :spinning="spinning" tip="Loading...">
       <div class="outStock-con jg-drawer-wrap">
       <div class="outStock-con jg-drawer-wrap">
         <div>
         <div>
@@ -63,7 +67,7 @@
             ref="table"
             ref="table"
             size="small"
             size="small"
             :rowKey="(record) => record.id"
             :rowKey="(record) => record.id"
-            :row-selection="{ columnWidth: 40 }"
+            :row-selection="{ columnWidth: 40 ,getCheckboxProps:record=>({props:{disabled:(purchaseTargetType&&purchaseTargetType=='SUPPLIER_SYS'&&record.onlineFalg == 0)||record.productPowerFlag==0}})}"
             :scroll="{ y:tableHeight, x: 1000 }"
             :scroll="{ y:tableHeight, x: 1000 }"
             @rowSelection="rowSelectionFun"
             @rowSelection="rowSelectionFun"
             :data="loadData"
             :data="loadData"
@@ -71,6 +75,12 @@
             :columns="columns"
             :columns="columns"
             :pageSize="30"
             :pageSize="30"
             bordered>
             bordered>
+            <!-- 产品编码 -->
+            <template slot="productCode" slot-scope="text, record">
+              {{ record.productCode }}
+              <a-tag v-if="record.onlineFalg == 0">下架</a-tag>
+              <a-tag color="red" v-if="record.productPowerFlag== 0">无权限</a-tag>
+            </template>
           </s-table>
           </s-table>
         </div>
         </div>
       </div>
       </div>
@@ -111,6 +121,12 @@ export default {
     zIndex: {
     zIndex: {
       type: Number,
       type: Number,
       default: 100
       default: 100
+    },
+    // 1向总部采购的提示语:注意:仅可添加本供应商有经销权且总部已上线的产品
+    // 2向上级与省仓采购的提示语:注意:仅可添加本供应商有权限的产品
+    purchaseTargetType: {
+      type: String,
+      default: null
     }
     }
   },
   },
   data () {
   data () {
@@ -126,7 +142,7 @@ export default {
       columns: [
       columns: [
         { title: '序号', dataIndex: 'no', width: '8%', align: 'center' },
         { title: '序号', dataIndex: 'no', width: '8%', align: 'center' },
         { title: '采购单号', dataIndex: 'purchaseBillNo', width: '18%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '采购单号', dataIndex: 'purchaseBillNo', width: '18%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品编码', dataIndex: 'productCode', width: '18%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '产品编码', dataIndex: 'productCode', width: '18%', align: 'center', scopedSlots: { customRender: 'productCode' } },
         { title: '产品名称', dataIndex: 'productName', width: '30%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '产品名称', dataIndex: 'productName', width: '30%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '缺货数量', dataIndex: 'qty', width: '15%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '缺货数量', dataIndex: 'qty', width: '15%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '缺货金额', dataIndex: 'totalAmount', width: '15%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
         { title: '缺货金额', dataIndex: 'totalAmount', width: '15%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
@@ -136,7 +152,7 @@ export default {
       loadData: parameter => {
       loadData: parameter => {
         this.disabled = true
         this.disabled = true
         this.spinning = true
         this.spinning = true
-        return outOfStockDetailList(Object.assign(parameter, { purchaseBillSnList: this.chooseData, purchaseBillNo: this.purchaseBillNo, dealerProduct: this.queryParam })).then(res => {
+        return outOfStockDetailList(Object.assign(parameter, { purchaseBillSnList: this.chooseData, newPurchaseBillSn: _this.paramsSn, purchaseBillNo: this.purchaseBillNo, dealerProduct: this.queryParam })).then(res => {
           let data
           let data
           if (res.status == 200) {
           if (res.status == 200) {
             data = res.data
             data = res.data
@@ -160,7 +176,8 @@ export default {
         productTypeSn1: '', //  产品一级分类
         productTypeSn1: '', //  产品一级分类
         productTypeSn2: '', //  产品二级分类
         productTypeSn2: '', //  产品二级分类
         productTypeSn3: '' //  产品三级分类
         productTypeSn3: '' //  产品三级分类
-      }
+      },
+      purchaseBillNo: ''
     }
     }
   },
   },
   methods: {
   methods: {

+ 2 - 2
src/views/salesManagement/productPricing/list.vue

@@ -56,7 +56,7 @@
     </div>
     </div>
     <!-- 价格 -->
     <!-- 价格 -->
     <div style="padding: 10px 0;text-align: right;">
     <div style="padding: 10px 0;text-align: right;">
-      <a-checkbox v-model="isCostPrice" v-if="$hasPermissions('M_ShowAllCost')"><span style="display: inline-block;">成本价</span></a-checkbox>
+      <a-checkbox v-model="isCostPrice" v-if="$hasPermissions('M_ShowAllCost')"><span style="display: inline-block;">参考成本价</span></a-checkbox>
       <!-- 特约加盟商不可见市级价 -->
       <!-- 特约加盟商不可见市级价 -->
       <a-checkbox v-model="isCityPrice" v-if="dealerData && dealerData.dealerLevel != 'SPECIAL'&&$hasPermissions('M_ShowAllCityPrice')"><span style="display: inline-block;">市级价</span></a-checkbox>
       <a-checkbox v-model="isCityPrice" v-if="dealerData && dealerData.dealerLevel != 'SPECIAL'&&$hasPermissions('M_ShowAllCityPrice')"><span style="display: inline-block;">市级价</span></a-checkbox>
       <!-- 是否展示特约价 -->
       <!-- 是否展示特约价 -->
@@ -170,7 +170,7 @@ export default {
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '6%', align: 'center' }
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '6%', align: 'center' }
       ]
       ]
       if (this.isCostPrice) {
       if (this.isCostPrice) {
-        arr.splice(6, 0, { title: '成本价', dataIndex: 'offerCost', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } })
+        arr.splice(6, 0, { title: '参考成本价', dataIndex: 'offerCost', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } })
       }
       }
       if (this.isCityPrice && this.$hasPermissions('M_ShowAllCityPrice')) {
       if (this.isCityPrice && this.$hasPermissions('M_ShowAllCityPrice')) {
         const ind = this.isCostPrice ? 7 : 6
         const ind = this.isCostPrice ? 7 : 6

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

@@ -6,7 +6,7 @@
           <a href="javascript:;" @click="handleBack"><a-icon type="left"></a-icon> 返回列表</a>
           <a href="javascript:;" @click="handleBack"><a-icon type="left"></a-icon> 返回列表</a>
           <a style="margin: 0 10px 0 20px;color: #666;font-size: 14px;font-weight: 600;">单号:{{ detailData&&detailData.salesBillNo || '--' }}</a>
           <a style="margin: 0 10px 0 20px;color: #666;font-size: 14px;font-weight: 600;">单号:{{ detailData&&detailData.salesBillNo || '--' }}</a>
           <a-button
           <a-button
-            v-if="(detailData&&detailData.billStatus !== 'CANCEL' && detailData.billStatus !== 'FINISH' && detailData.billStatus != 'WAIT_OUT_WAREHOUSE')&&$hasPermissions('B_salesEdit')"
+            v-if="(detailData&&detailData.sourceType!='CHILD_PURCHASE'&&detailData.billStatus!='AUDIT_REJECT'&&detailData.billStatus !== 'CANCEL' && detailData.billStatus !== 'FINISH' && detailData.billStatus != 'WAIT_OUT_WAREHOUSE')&&$hasPermissions('B_salesEdit')"
             type="primary"
             type="primary"
             size="small"
             size="small"
             style="background-color: #1890ff;margin-left: 20px;border: #1890ff;"
             style="background-color: #1890ff;margin-left: 20px;border: #1890ff;"

+ 2 - 0
src/views/salesManagement/salesQuery/edit.vue

@@ -602,6 +602,7 @@ export default {
         // productCode: row.productCode,
         // productCode: row.productCode,
         // productOrigCode: row.productOrigCode,
         // productOrigCode: row.productOrigCode,
         price: row.price,
         price: row.price,
+        priceLevel: row.priceLevel,
         qty: row.salesNums,
         qty: row.salesNums,
         salesBillSn: this.detailData.salesBillSn,
         salesBillSn: this.detailData.salesBillSn,
         salesBillNo: this.detailData.salesBillNo,
         salesBillNo: this.detailData.salesBillNo,
@@ -639,6 +640,7 @@ export default {
           buyerSn: this.detailData.buyerSn,
           buyerSn: this.detailData.buyerSn,
           productSn: item.productSn,
           productSn: item.productSn,
           cost: item.putCost,
           cost: item.putCost,
+          priceLevel: item.priceLevel,
           price: item.price,
           price: item.price,
           qty: item.salesNums,
           qty: item.salesNums,
           salesBillSn: this.detailData.salesBillSn,
           salesBillSn: this.detailData.salesBillSn,

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

@@ -81,7 +81,7 @@
           </a-col>
           </a-col>
           <a-col flex="auto" style="margin-bottom: 15px;display:flex;align-items:center;">
           <a-col flex="auto" style="margin-bottom: 15px;display:flex;align-items:center;">
             <a-checkbox v-model="cost" v-if="$hasPermissions('M_ShowAllCost')" id="salesQuery-cost">成本价</a-checkbox>
             <a-checkbox v-model="cost" v-if="$hasPermissions('M_ShowAllCost')" id="salesQuery-cost">成本价</a-checkbox>
-            <a-checkbox v-model="cityPrice" v-if="$hasPermissions('M_ShowAllCityPrice')" id="salesQuery-cityPrice">市级价</a-checkbox>
+            <a-checkbox v-model="cityPrice" v-if="$hasPermissions('M_ShowAllCityPrice')&&$store.state.user.isShowSpecialPrice==0" id="salesQuery-cityPrice">市级价</a-checkbox>
             <a-checkbox v-model="tyuePrice" v-if="$store.state.user.isShowSpecialPrice==1" id="salesQuery-tyuePrice">特约价</a-checkbox>
             <a-checkbox v-model="tyuePrice" v-if="$store.state.user.isShowSpecialPrice==1" id="salesQuery-tyuePrice">特约价</a-checkbox>
             <a-checkbox v-model="zdPrice" id="salesQuery-zdPrice">终端价</a-checkbox>
             <a-checkbox v-model="zdPrice" id="salesQuery-zdPrice">终端价</a-checkbox>
           </a-col>
           </a-col>

+ 1 - 1
src/views/salesManagement/salesQueryNew/chooseProductModal.vue

@@ -114,7 +114,7 @@
                 <a-menu-item v-if="$hasPermissions('M_ShowAllCost')" >
                 <a-menu-item v-if="$hasPermissions('M_ShowAllCost')" >
                   <a-checkbox v-model="cost" id="salesQuery-cost">成本价</a-checkbox>
                   <a-checkbox v-model="cost" id="salesQuery-cost">成本价</a-checkbox>
                 </a-menu-item>
                 </a-menu-item>
-                <a-menu-item v-if="$hasPermissions('M_ShowAllCityPrice')">
+                <a-menu-item v-if="$hasPermissions('M_ShowAllCityPrice')&&$store.state.user.isShowSpecialPrice==0">
                   <a-checkbox v-model="cityPrice" id="salesQuery-cityPrice">市级价</a-checkbox>
                   <a-checkbox v-model="cityPrice" id="salesQuery-cityPrice">市级价</a-checkbox>
                 </a-menu-item>
                 </a-menu-item>
                 <a-menu-item v-if="$store.state.user.isShowSpecialPrice==1" >
                 <a-menu-item v-if="$store.state.user.isShowSpecialPrice==1" >

+ 2 - 0
src/views/salesManagement/salesQueryNew/edit.vue

@@ -743,6 +743,7 @@ export default {
         // productCode: row.productCode,
         // productCode: row.productCode,
         // productOrigCode: row.productOrigCode,
         // productOrigCode: row.productOrigCode,
         price: row.price,
         price: row.price,
+        priceLevel: row.priceLevel,
         qty: row.salesNums,
         qty: row.salesNums,
         salesBillSn: this.detailData.salesBillSn,
         salesBillSn: this.detailData.salesBillSn,
         salesBillNo: this.detailData.salesBillNo,
         salesBillNo: this.detailData.salesBillNo,
@@ -779,6 +780,7 @@ export default {
           productSn: item.productSn,
           productSn: item.productSn,
           cost: item.putCost,
           cost: item.putCost,
           price: item.price,
           price: item.price,
+          priceLevel: item.priceLevel,
           qty: item.salesNums,
           qty: item.salesNums,
           salesBillSn: this.detailData.salesBillSn,
           salesBillSn: this.detailData.salesBillSn,
           salesBillNo: this.detailData.salesBillNo,
           salesBillNo: this.detailData.salesBillNo,

+ 16 - 10
src/views/salesManagement/salesReturn/chooseCustomModal.vue

@@ -109,7 +109,13 @@
         <a-row :gutter="15">
         <a-row :gutter="15">
           <a-col :span="8">
           <a-col :span="8">
             <a-form-model-item label="是否抓单" prop="grabFlag">
             <a-form-model-item label="是否抓单" prop="grabFlag">
-              <v-select code="FLAG" :disabled="isEdit" id="chooseCustom-grabFlag" v-model="form.grabFlag" allowClear placeholder="请选择"></v-select>
+              <v-select
+                code="FLAG"
+                :disabled="isEdit"
+                id="chooseCustom-grabFlag"
+                v-model="form.grabFlag"
+                allowClear
+                placeholder="请选择"></v-select>
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="8">
           <a-col :span="8">
@@ -119,12 +125,12 @@
         <a-row :gutter="15">
         <a-row :gutter="15">
           <a-col :span="24">
           <a-col :span="24">
             <a-form-model-item label="备注" :labelCol="{ span: 2 }" :wrapper-col="{ span: 14 }">
             <a-form-model-item label="备注" :labelCol="{ span: 2 }" :wrapper-col="{ span: 14 }">
-               <a-textarea
-                    v-model="form.remarks"
-                    :maxLength="100"
-                    placeholder="请输入备注(最多100个字符)"
-                    :auto-size="{ minRows: 2, maxRows: 6 }"
-                  />
+              <a-textarea
+                v-model="form.remarks"
+                :maxLength="100"
+                placeholder="请输入备注(最多100个字符)"
+                :auto-size="{ minRows: 2, maxRows: 6 }"
+              />
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
         </a-row>
         </a-row>
@@ -204,7 +210,7 @@ export default {
           { required: true, message: '请选择区/县', trigger: 'change' }
           { required: true, message: '请选择区/县', trigger: 'change' }
         ],
         ],
         grabFlag: [
         grabFlag: [
-          { required: true, message: '请选择是否铺货出库', trigger: 'change' }
+          { required: true, message: '请选择是否抓单', trigger: 'change' }
         ]
         ]
       },
       },
       addrProvinceList: [], //  省下拉
       addrProvinceList: [], //  省下拉
@@ -264,7 +270,7 @@ export default {
         }
         }
       } else {
       } else {
         this.$refs.ruleForm.resetFields()
         this.$refs.ruleForm.resetFields()
-        if(!this.isEdit){
+        if (!this.isEdit) {
           this.$refs.custList.resetForm()
           this.$refs.custList.resetForm()
         }
         }
       }
       }
@@ -277,7 +283,7 @@ export default {
       this.form = Object.assign(this.form, data)
       this.form = Object.assign(this.form, data)
       this.form.buyerName = data.buyerNameCurrent || data.buyerName
       this.form.buyerName = data.buyerNameCurrent || data.buyerName
       this.buyerSnBak = this.form.buyerSn
       this.buyerSnBak = this.form.buyerSn
-      if(data.buyerInfo){
+      if (data.buyerInfo) {
         this.form.contactTel = data.buyerInfo.contactTel
         this.form.contactTel = data.buyerInfo.contactTel
         this.form.contactMobile = data.buyerInfo.contactMobile
         this.form.contactMobile = data.buyerInfo.contactMobile
         this.form.consigneeName = data.buyerInfo.contactName
         this.form.consigneeName = data.buyerInfo.contactName

+ 1 - 0
src/views/salesManagement/salesReturn/salesReturnEdit.vue

@@ -494,6 +494,7 @@ export default {
         'price': type == 'edit' ? row.price : row.salePrice,
         'price': type == 'edit' ? row.price : row.salePrice,
         'cost': row.putCost,
         'cost': row.putCost,
         'productSn': row.productSn,
         'productSn': row.productSn,
+        'priceLevel': row.priceLevel,
         'celQty': row.celQty,
         'celQty': row.celQty,
         'hasReturnQty': row.returnQty,
         'hasReturnQty': row.returnQty,
         'qty': row.returnQty,
         'qty': row.returnQty,

+ 8 - 4
src/views/shoppingCarManagement/shoppingCar/list.vue

@@ -63,7 +63,7 @@
       ref="table"
       ref="table"
       :style="modes=='pages'?{ height: tableHeight+84.5+'px' }:{}"
       :style="modes=='pages'?{ height: tableHeight+84.5+'px' }:{}"
       size="small"
       size="small"
-      :row-selection="modes=='pages'?{ columnWidth: 40 }:{ columnWidth: 40, getCheckboxProps: record => ({ props: { disabled: !record.productEntity.purchasePrice || !(record.productEntity.onlineFalg == 1&& record.dealerScopeFlag == 1) } }) }"
+      :row-selection="modes=='pages'?{ columnWidth: 40 }:{ columnWidth: 40, getCheckboxProps: record => ({ props:{disabled: (purchaseType&&purchaseType=='SUPPLIER_SYS'&&record.productEntity.onlineFalg == 0) || record.dealerScopeFlag == 0 }}) }"
       @rowSelection="rowSelectionFun"
       @rowSelection="rowSelectionFun"
       rowKeyName="productSn"
       rowKeyName="productSn"
       :rowKey="(record) => record.productSn"
       :rowKey="(record) => record.productSn"
@@ -98,7 +98,7 @@
         <div v-else>
         <div v-else>
           <span style="padding-right: 15px;">{{ text }}</span>
           <span style="padding-right: 15px;">{{ text }}</span>
           <a-tag v-if="record.productEntity.onlineFalg == 0">下架</a-tag>
           <a-tag v-if="record.productEntity.onlineFalg == 0">下架</a-tag>
-          <a-tag color="red" v-else-if="record.productEntity.onlineFalg == 1&& record.dealerScopeFlag == 0">无权限</a-tag>
+          <a-tag color="red" v-if="record.dealerScopeFlag == 0">无权限</a-tag>
         </div>
         </div>
       </template>
       </template>
     </s-table>
     </s-table>
@@ -121,6 +121,10 @@ export default {
     modes: {
     modes: {
       type: String,
       type: String,
       default: 'pages'
       default: 'pages'
+    },
+    purchaseType: {
+      type: String,
+      default: null
     }
     }
   },
   },
   data () {
   data () {
@@ -198,7 +202,7 @@ export default {
           { title: '产品编码', dataIndex: 'productEntity.code', scopedSlots: { customRender: 'productCode' }, width: '20%', align: 'center' },
           { title: '产品编码', dataIndex: 'productEntity.code', scopedSlots: { customRender: 'productCode' }, width: '20%', align: 'center' },
           { title: '产品名称', dataIndex: 'productEntity.name', width: '30%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
           { title: '产品名称', dataIndex: 'productEntity.name', width: '30%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
           { title: '可用库存数量', dataIndex: 'currentStockQty', width: '14%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
           { title: '可用库存数量', dataIndex: 'currentStockQty', width: '14%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-          { title: '成本价', dataIndex: 'productEntity.purchasePrice', width: '8%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
+          { title: '成本价', dataIndex: 'productEntity.productPrice', width: '8%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
           { title: '单位', dataIndex: 'productEntity.unit', width: '8%', align: 'center', customRender: function (text) { return (!text || text == ' ') ? '--' : text } },
           { title: '单位', dataIndex: 'productEntity.unit', width: '8%', align: 'center', customRender: function (text) { return (!text || text == ' ') ? '--' : text } },
           { title: '包装数', scopedSlots: { customRender: 'baozh' }, dataIndex: 'productEntity.packQty', width: '8%', align: 'center' },
           { title: '包装数', scopedSlots: { customRender: 'baozh' }, dataIndex: 'productEntity.packQty', width: '8%', align: 'center' },
           { title: '采购数量', scopedSlots: { customRender: 'purchaseQty' }, width: '12%', align: 'center' }
           { title: '采购数量', scopedSlots: { customRender: 'purchaseQty' }, width: '12%', align: 'center' }
@@ -208,7 +212,7 @@ export default {
           { title: '产品编码', dataIndex: 'productEntity.code', scopedSlots: { customRender: 'productCode' }, width: '200px', align: 'center', fixed: 'left' },
           { title: '产品编码', dataIndex: 'productEntity.code', scopedSlots: { customRender: 'productCode' }, width: '200px', align: 'center', fixed: 'left' },
           { title: '产品名称', dataIndex: 'productEntity.name', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
           { title: '产品名称', dataIndex: 'productEntity.name', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
           { title: '可用库存数量', dataIndex: 'currentStockQty', width: '140px', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
           { title: '可用库存数量', dataIndex: 'currentStockQty', width: '140px', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-          { title: '成本价', dataIndex: 'productEntity.purchasePrice', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
+          { title: '成本价', dataIndex: 'productEntity.productPrice', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
           { title: '单位', dataIndex: 'productEntity.unit', width: '80px', align: 'center', customRender: function (text) { return (!text || text == ' ') ? '--' : text } },
           { title: '单位', dataIndex: 'productEntity.unit', width: '80px', align: 'center', customRender: function (text) { return (!text || text == ' ') ? '--' : text } },
           { title: '包装数', scopedSlots: { customRender: 'baozh' }, dataIndex: 'productEntity.packQty', width: '80px', align: 'center' },
           { title: '包装数', scopedSlots: { customRender: 'baozh' }, dataIndex: 'productEntity.packQty', width: '80px', align: 'center' },
           { title: '采购数量', scopedSlots: { customRender: 'purchaseQty' }, width: '120px', align: 'center', fixed: 'right' }
           { title: '采购数量', scopedSlots: { customRender: 'purchaseQty' }, width: '120px', align: 'center', fixed: 'right' }