Browse Source

Merge branch 'develop_yh44' of http://git.chelingzhu.com/jianguan-web/jg-ocs-html into develop_yh44

lilei 10 months ago
parent
commit
4ef0f206a9

+ 1 - 0
src/components/index.less

@@ -278,6 +278,7 @@
       user-select: auto !important;
     }
   }
+  
   // input:disabled{
   //   opacity: 1!important;
   //   color: #fff!important;

+ 1 - 1
src/components/newThem.less

@@ -3,7 +3,7 @@
 @font-size-base: 12px;
 @table-row-hover-bg: color(~`colorPalette('@{primary-color}', 0.5) `);
 @text-color: fade(@black, 100%);
-@disabled-bg: #fafafa;
+@disabled-bg: #DEDEDE;
 @modal-body-padding: 15px;
 @menu-item-height: 30px;
 @collapse-header-padding: 6px 8px;

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

@@ -3437,8 +3437,8 @@ export const asyncRouterMap = [
                 meta: {
                   title: '新增修理厂促销',
                   icon: 'file-ppt',
-                  hidden: true
-                  // permission: 'B_promotionManagementAdd'
+                  hidden: true,
+                  permission: 'B_promotionManagementAdd'
                 }
               },
               {
@@ -3448,8 +3448,8 @@ export const asyncRouterMap = [
                 meta: {
                   title: '编辑修理厂促销',
                   icon: 'file-ppt',
-                  hidden: true
-                  // permission: 'B_promotionManagementEdit'
+                  hidden: true,
+                  permission: 'B_promotionManagementEdit'
                 }
               }
             ]

+ 3 - 1
src/views/promotionRulesManagement/promotionManagement/addModal.vue

@@ -164,10 +164,12 @@ export default {
     handleDealerModal () {
       this.openDealerModal = true
       const _this = this
+      let arr = []
       if (_this.chooseDealerList.length == 0) {
         _this.form.dealerSnList = []
+      } else {
+        arr = _this.chooseDealerList.map(item => { return item.dealerSn })
       }
-      const arr = _this.form.dealerSnList
       // 选择经销商回显
       _this.$nextTick(() => {
         _this.$refs.dealerChoose.pageInit(arr)

+ 18 - 13
src/views/promotionRulesManagement/promotionManagement/detailModal.vue

@@ -32,7 +32,7 @@
               v-for="(con,i) in imageSet"
               style="margin-right:10px;object-fit: cover;"
               :key="i"/>
-            <div class="upload-desc">说明:单张大小小于10Mb,最多10张;建议尺寸:宽(420px)*高(230px)</div>
+            <div class="upload-desc">说明:单张大小小于10Mb;建议尺寸:宽(420px)*高(230px)</div>
           </a-form-model-item>
           <a-form-model-item label="内容类型" prop="contentType">
             {{ form.contentType==='IMAGE_CONTENT'?'图文展示':form.contentType==='VIDEO'?'视频展示':'跳转链接' }}
@@ -83,8 +83,8 @@
               <span>
                 {{ form.promoRule&&form.promoRule.validType?form.promoRule.validType==='FIXED'?'固定日期':'领取后,立即生效,':'--' }}
               </span>
-              <span class="timeBox" v-if="form.promoRule.validType==='FIXED'">{{ form.promoRule.validStartDate }}~{{ form.promoRule.validEndDate }}</span>
-              <span class="timeBox" v-else>有效期{{ form.promoRule.validDays }}天</span>
+              <span class="timeBox" v-if="form.promoRule&&form.promoRule.validType&&form.promoRule.validType==='FIXED'">{{ form.promoRule.validStartDate }}~{{ form.promoRule.validEndDate }}</span>
+              <span class="timeBox" v-else>有效期{{ form.promoRule&&form.promoRule.validDays?form.promoRule.validDays:'--' }}天</span>
             </a-form-model-item>
             <a-form-model-item label="券适用范围" prop="range" >
               全部产品
@@ -99,10 +99,9 @@
               {{ form.publishFlag?form.publishFlag==='1'?'是':'否':'--' }}
             </a-form-model-item>
             <a-form-model-item label="产品范围" prop="productRangeList" >
-              <div v-if="form.promoRule&&form.promoRule.productRangeList">
+              <div v-if="productRangeList&&productRangeList.length>0" style="margin-bottom:10px;">
                 <a-tree-select
-                  v-model="form.promoRule.productRangeList"
-                  :maxTagCount="12"
+                  v-model="productRangeList"
                   :tree-data="productTypeList"
                   tree-checkable
                   :disabled="true"
@@ -110,7 +109,7 @@
                   :replaceFields="{children:'children',title: 'productTypeName',key: 'productTypeSn',value: 'productTypeSn'}"
                   placeholder="请选择产品范围" />
               </div>
-              <div>--</div>
+              <div v-else>--</div>
             </a-form-model-item>
             <a-form-model-item label="返券产品" prop="publishFlag" >
               <div class="productTable">
@@ -167,6 +166,7 @@ export default {
         wrapperCol: { span: 18 }
       },
       productTypeList: [],
+      productRangeList: [],
       form: {
         promoActiveSn: undefined, // 促销活动sn
         title: '', // 标题
@@ -198,10 +198,10 @@ export default {
         { title: '序号', dataIndex: 'no', width: '4%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '产品编码', dataIndex: 'productCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '产品名称', dataIndex: 'productName', width: '20%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '原厂编码', dataIndex: 'origCode', width: '12%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '活动价', dataIndex: 'price', width: '12%', align: 'center', customRender: text => { return ((text || text == 0) ? this.toThousands(text) : '--') } },
-        { title: '返券金额', dataIndex: 'ruleValue', width: '12%', align: 'center', customRender: text => { return ((text || text == 0) ? this.toThousands(text) : '--') } },
-        { title: '参考终端价', dataIndex: 'terminalPrice', width: '12%', align: 'center', customRender: text => { return ((text || text == 0) ? this.toThousands(text) : '--') } }
+        { title: '原厂编码', dataIndex: 'origCode', width: '20%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '活动价', dataIndex: 'price', width: '10%', align: 'right', customRender: text => { return ((text || text == 0) ? this.toThousands(text) : '--') } },
+        { title: '返券金额', dataIndex: 'ruleValue', width: '10%', align: 'right', customRender: text => { return ((text || text == 0) ? this.toThousands(text) : '--') } },
+        { title: '参考终端价', dataIndex: 'terminalPrice', width: '10%', align: 'right', customRender: text => { return ((text || text == 0) ? this.toThousands(text) : '--') } }
       ],
       rules: {
         title: [{ required: true, message: '请输入标题名称', trigger: 'blur' }],
@@ -280,8 +280,10 @@ export default {
             this.$nextTick(() => {
               this.getTreeData()
             })
-            if (res.data.promoRule.productRangeList && res.data.promoRule.productRangeList.productRangeList.length > 0) {
-              this.form.promoRule.productRangeList = res.data.promoRule.productRangeList.map(item => { return item.productTypeSn })
+            if (res.data.promoRule && res.data.promoRule.productRangeList && res.data.promoRule.productRangeList.length > 0) {
+              this.productRangeList = res.data.promoRule.productRangeList.map(item => { return item.productTypeSn })
+            } else {
+              this.productRangeList = []
             }
           }
           if (res.data.imageSet) {
@@ -390,6 +392,9 @@ export default {
    .productTable{
      width:100%;
    }
+   /deep/.ant-select-disabled .ant-select-selection--multiple .ant-select-selection__choice{
+     color:#333;
+   }
   }
 
 </style>

+ 121 - 113
src/views/promotionRulesManagement/promotionManagement/edit.vue

@@ -52,7 +52,7 @@
                   v-model="form.imageSet"
                   ref="imageSet"
                   :fileSize="10"
-                  :maxNums="10"
+                  :maxNums="1"
                   @change="changeImage"
                   listType="picture-card"></Upload>
                 <div v-else>
@@ -65,7 +65,7 @@
                     style="margin-right:10px;object-fit: cover;"
                     :key="i" />
                 </div>
-                <span class="upload-desc">说明:单张大小小于10Mb,最多10张;建议尺寸:宽(420px)*高(230px)</span>
+                <span class="upload-desc">说明:单张大小小于10Mb;建议尺寸:宽(420px)*高(230px)</span>
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
@@ -140,9 +140,9 @@
                     其他
                   </a-select-option>
                 </a-select>
-                <span class="tip upload-desc">
+                <!-- <span class="tip upload-desc">
                   选择【货架促销】,促销内容会同步显示在促销模块内
-                </span>
+                </span> -->
               </a-form-model-item>
             </a-col>
           </a-row>
@@ -174,7 +174,7 @@
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <a-form-model-item label="券名称" :label-col="{span:4}" :wrapper-col="{span:16}" prop="ruleName">
+              <a-form-model-item label="券名称" :label-col="{span:4}" :wrapper-col="{span:16}" prop="promoRule.ruleName">
                 <a-input
                   :disabled="isDisabled"
                   id="promotionEdit-ruleName"
@@ -196,8 +196,7 @@
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <a-form-model-item label="生成方式" prop="ruleBaseType">
-                <!-- showType="radio" -->
+              <a-form-model-item label="生成方式" prop="promoRule.ruleBaseType">
                 <v-select
                   style="width:40%;"
                   v-model="form.promoRule.ruleBaseType"
@@ -208,7 +207,7 @@
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <a-form-model-item label="券有效期" prop="validType">
+              <a-form-model-item label="券有效期" prop="promoRule.validType">
                 <v-select
                   style="width:40%;"
                   v-model="form.promoRule.validType"
@@ -240,12 +239,12 @@
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <a-form-model-item class="productName" label="券适用范围" prop="range">
+              <a-form-model-item class="productName" label="券适用范围" prop="promoRule.range">
                 全部产品
               </a-form-model-item>
             </a-col>
             <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <a-form-model-item label="使用说明" prop="ruleExplain">
+              <a-form-model-item label="使用说明" prop="promoRule.ruleExplain">
                 <a-input
                   v-model="form.promoRule.ruleExplain"
                   :disabled="isDisabled"
@@ -255,77 +254,77 @@
               </a-form-model-item>
             </a-col>
             <div style="text-align:center;" v-if="!isShowNextStep"><a-button type="primary" size="large" :disabled="isDisabled" @click="handleSave('part')" >保存后设置产品</a-button></div>
-          </a-row>
-          <a-row v-if="form.contentType =='LINK'&&isShowNextStep">
-            <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <a-form-model-item label="产品范围">
-                <div id="setPromotion-productRange" style="position:relative;">
-                  <a-tree-select
-                    v-model="form.promoRule.productRangeList"
-                    :maxTagCount="12"
-                    :tree-data="productTypeList"
-                    tree-checkable
-                    :disabled="isDisabled"
-                    :getPopupContainer="triggerNode => triggerNode.parentNode"
-                    :replaceFields="{children:'children',title: 'productTypeName',key: 'productTypeSn',value: 'productTypeSn'}"
-                    @change="onChangeTree"
-                    placeholder="请选择产品范围" />
-                </div>
-              </a-form-model-item>
-            </a-col>
-            <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <a-form-model-item label="返券产品" prop="range">
-                <div class="productInfo flex-center">
-                  <div>
-                    返券金额<a-input-number
-                      v-model="form.promoRule.ruleValue"
-                      style="margin:0 5px;"
-                      :min="0"
-                      :step="1"
-                      :precision="2"
-                      :max="99999999"
+            <div v-if="form.contentType =='LINK'&&isShowNextStep">
+              <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+                <a-form-model-item label="产品范围">
+                  <div id="setPromotion-productRange" style="position:relative;">
+                    <a-tree-select
+                      v-model="productRangeList"
+                      :maxTagCount="12"
+                      :tree-data="productTypeList"
+                      tree-checkable
                       :disabled="isDisabled"
-                      size="small"/> 元
-                    <a-button type="primary" :disabled="isDisabled" class="button-primary" size="small" @click="handleBatchAdd">批量设置</a-button>
+                      :getPopupContainer="triggerNode => triggerNode.parentNode"
+                      :replaceFields="{children:'children',title: 'productTypeName',key: 'productTypeSn',value: 'productTypeSn'}"
+                      @change="onChangeTree"
+                      placeholder="请选择产品范围" />
+                  </div>
+                </a-form-model-item>
+              </a-col>
+              <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+                <a-form-model-item label="返券产品" prop="promoRule.range">
+                  <div class="productInfo flex-center">
+                    <div>
+                      返券金额<a-input-number
+                        v-model="form.promoRule.ruleValue"
+                        style="margin:0 5px;"
+                        :min="0"
+                        :step="1"
+                        :precision="2"
+                        :max="99999999"
+                        :disabled="isDisabled"
+                        size="small"/> 元
+                      <a-button type="primary" :disabled="isDisabled" class="button-primary" size="small" @click="handleBatchAdd">批量设置</a-button>
+                    </div>
+                    <a-button type="primary" :disabled="isDisabled" @click="handleAddProduct" size="small">添加产品</a-button>
                   </div>
-                  <a-button type="primary" :disabled="isDisabled" @click="handleAddProduct" size="small">添加产品</a-button>
+                </a-form-model-item>
+              </a-col>
+              <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+                <div style="width: 83%;margin:0 auto 10px;">
+                  <productTable ref="chooseProductList" :promoActiveSn="$route.params.sn" :disabledVal="isDisabled"></productTable>
                 </div>
-              </a-form-model-item>
-            </a-col>
-            <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <div style="width: 83%;margin:0 auto 10px;">
-                <productTable ref="chooseProductList" :promoActiveSn="$route.params.sn" :disabledVal="isDisabled"></productTable>
-              </div>
-            </a-col>
-            <a-col
-              :xs="24"
-              :sm="24"
-              :md="24"
-              :lg="24"
-              :xl="24">
-              <a-form-model-item label="加盟商编辑" prop="dealerEditFlag">
-                <a-radio-group button-style="solid" :disabled="isDisabled" v-model="form.promoRule.dealerEditFlag">
-                  <a-radio-button value="1">
-                    是
-                  </a-radio-button>
-                  <a-radio-button value="0">
-                    否
-                  </a-radio-button>
-                </a-radio-group>
-              </a-form-model-item>
-            </a-col>
-            <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <a-form-model-item label="是否发布" prop="publishFlag">
-                <a-radio-group button-style="solid" v-model="form.promoRule.publishFlag">
-                  <a-radio-button value="1">
-                    是
-                  </a-radio-button>
-                  <a-radio-button value="0">
-                    否
-                  </a-radio-button>
-                </a-radio-group>
-              </a-form-model-item>
-            </a-col>
+              </a-col>
+              <a-col
+                :xs="24"
+                :sm="24"
+                :md="24"
+                :lg="24"
+                :xl="24">
+                <a-form-model-item label="加盟商编辑" prop="promoRule.dealerEditFlag">
+                  <a-radio-group button-style="solid" :disabled="isDisabled" v-model="form.promoRule.dealerEditFlag">
+                    <a-radio-button value="1">
+                      是
+                    </a-radio-button>
+                    <a-radio-button value="0">
+                      否
+                    </a-radio-button>
+                  </a-radio-group>
+                </a-form-model-item>
+              </a-col>
+              <a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+                <a-form-model-item label="是否发布" prop="promoRule.publishFlag">
+                  <a-radio-group button-style="solid" v-model="form.promoRule.publishFlag">
+                    <a-radio-button value="1">
+                      是
+                    </a-radio-button>
+                    <a-radio-button value="0">
+                      否
+                    </a-radio-button>
+                  </a-radio-group>
+                </a-form-model-item>
+              </a-col>
+            </div>
           </a-row>
         </a-form-model>
       </a-card>
@@ -376,20 +375,21 @@ export default {
         labelCol: { span: 2 },
         wrapperCol: { span: 20 }
       },
+      productRangeList: [], // 产品范围列表
+      // 链接配置内容
       form: {
         promoActiveSn: undefined, // 促销活动sn
         title: '', // 标题
         imageSet: '', // 图片
         contentType: 'IMAGE_CONTENT', // 内容类型
         content: '', // 内容
-        ruleEnableFlag: '1', // 参属配置  1 是  0否
         contentLink: '', // 链接内容
         sort: undefined, // 排序
         publishFlag: '0', // 是否发布
+        linkType: '1',
         dealerEditFlag: '0', // 加盟商编辑 1是 0否
         promoRule: {
           ruleType: 'ticket', // 基本规则类型
-          productRangeList: [], // 产品范围列表
           ruleName: '', // 券名称
           ruleTitle: '', // 副标题
           ruleBaseType: 'category', // 券生成方式
@@ -401,7 +401,7 @@ export default {
           dealerEditFlag: '0', // 加盟商编辑 1是 0否
           publishFlag: '0', // 是否发布
           range: '1'
-        } // 链接配置内容
+        }
       },
       time: [], // 有效期
       dateFormat: 'YYYY-MM-DD', // 有效期时间格式
@@ -427,8 +427,8 @@ export default {
         'promoRule.validType': [{ required: true, message: '请选择券有效期类型', trigger: 'change' }],
         'promoRule.publishFlag': [{ required: true, message: '请选择是否发布', trigger: 'change' }],
         'promoRule.dealerEditFlag': [{ required: true, message: '请选择加盟商是否可编辑', trigger: 'change' }],
+        'promoRule.range': [{ required: true, message: '请选择', trigger: 'blur' }],
         dealerEditFlag: [{ required: true, message: '请选择加盟商是否可编辑', trigger: 'change' }]
-        // range: [{ required: true, message: '请选择', trigger: 'blur' }]
       }
     }
   },
@@ -448,8 +448,6 @@ export default {
     insterProduct (obj) {
       if (obj && Object.keys(obj).length > 0) {
         this.chooseTypeList = obj.typeArr
-        this.chooseDataList = obj.productArr
-        this.chooseProductList = obj.chooseProductArr
       }
       this.showProModal = true
     },
@@ -501,16 +499,27 @@ export default {
               _this.isShowNextStep = true
               _this.form.promoRule.range = '1'
               _this.time = [res.data.promoRule.validStartDate, res.data.promoRule.validEndDate]
-              if (res.data.promoRule.productRangeList && res.data.promoRule.productRangeList.productRangeList.length > 0) {
-                _this.form.promoRule.productRangeList = res.data.promoRule.productRangeList.map(item => { return item.productTypeSn })
+              if (res.data.promoRule.productRangeList && res.data.promoRule.productRangeList.length > 0) {
+                _this.productRangeList = res.data.promoRule.productRangeList.map(item => { return item.productTypeSn })
               }
-              _this.form.promoRule = res.data.promoRule
             }
+            _this.form.promoRule = { ..._this.form.promoRule, ...res.data.promoRule }
           }
         }
       })
     },
-    //  确定保存
+    // 券有效期 change
+    handleValidType (con) {
+      this.form.promoRule.validType = con
+      if (con === 'FIXED') {
+        this.form.promoRule.validDays = undefined
+      } else {
+        this.time = []
+        this.form.promoRule.validStartDate = undefined
+        this.form.promoRule.validEndDate = undefined
+      }
+    },
+    //  确定保存  验证必填
     handleSave (type) {
       const _this = this
       if (_this.form.contentType === 'LINK') {
@@ -523,28 +532,17 @@ export default {
         }
       })
     },
-    // 券有效期 change
-    handleValidType (con) {
-      this.sellForm.validType = con
-      if (con === 'FIXED') {
-        this.sellForm.validDays = undefined
-      } else {
-        this.time = []
-        this.sellForm.validStartDate = undefined
-        this.sellForm.validEndDate = undefined
-      }
-    },
+    // 保存
     savePartInfo (type) {
       const _this = this
       _this.form.promoActiveSn = this.$route.params.sn
       var formData = JSON.parse(JSON.stringify(_this.form))
       formData.imageSet = formData.imageSet ? formData.imageSet.split(',') : []
-
       // 跳转链接
       if (formData.contentType == 'LINK') {
         delete formData.contentLink
-        if (formData.promoRule.productRangeList && formData.promoRule.productRangeList.length > 0) {
-          formData.promoRule.productRangeList = formData.promoRule.productRangeList.map(item => { return { productTypeSn: item } })
+        if (_this.productRangeList && _this.productRangeList.length > 0) {
+          formData.promoRule.productRangeList = _this.productRangeList.map(item => { return { productTypeSn: item } })
         }
         // 促销活动
         if (_this.form.linkType === '1') {
@@ -559,20 +557,23 @@ export default {
               return false
             }
           }
+          formData.publishFlag = _this.form.promoRule.publishFlag
+          formData.dealerEditFlag = _this.form.promoRule.dealerEditFlag
         } else {
           formData.promoRule = undefined
         }
-        const numInfo = _this.$refs.chooseProductList.getDataNum()
-        if (numInfo == 0) {
-          if (!_this.form.promoRule.validDays) {
+        if (_this.$refs.chooseProductList) {
+          const numInfo = _this.$refs.chooseProductList.getDataNum()
+          if (numInfo == 0) {
             _this.$message.warning('请选择返券产品!')
-            return false
+            return
           }
         }
       } else {
         formData.promoRule = undefined
       }
       _this.spinning = true
+
       promoActivePublish(formData).then(res => {
         if (res.status == 200) {
           _this.$message.success(res.message)
@@ -625,11 +626,11 @@ export default {
         contentLink: '', // 链接内容
         sort: undefined, // 排序
         publishFlag: '0', // 是否发布
+        linkType: '1',
         dealerEditFlag: '0', // 加盟商编辑 1是 0否
-        ruleEnableFlag: '1',
+        productRangeList: [], // 产品范围列表
         promoRule: {
           ruleType: 'ticket', // 基本规则类型
-          productRangeList: [], // 产品范围列表
           ruleName: '', // 券名称
           ruleTitle: '', // 副标题
           ruleBaseType: 'category', // 券生成方式
@@ -690,16 +691,16 @@ export default {
     },
     // 添加产品
     handleAddProduct () {
-      this.chooseTypeList = this.form.promoRule.productRangeList
+      this.chooseTypeList = this.productRangeList
       this.showProModal = true
     },
     // 批量添加
     handleBatchAdd () {
-      if (!this.sellForm.ruleValue) {
+      if (!this.form.promoRule.ruleValue) {
         this.$message.warning('请输入返券金额(需大于0)!')
         return
       }
-      this.$refs.chooseProductList.editMorePrice(this.sellForm.ruleValue)
+      this.$refs.chooseProductList.editMorePrice(this.form.promoRule.ruleValue)
     },
     // 添加产品成功
     addProductSuccess (list) {
@@ -722,13 +723,20 @@ export default {
       })
     },
     onChangeTree (e) {
-      deleteByProductType({ promoActiveSn: this.$route.params.sn, productTypeSnList: this.form.promoRule.productRangeList || [] }).then(res => {
+      deleteByProductType({ promoActiveSn: this.$route.params.sn, productTypeSnList: this.productRangeList || [] }).then(res => {
         if (res.status == 200) {
           this.$refs.chooseProductList.pageInit()
         }
       })
       // 保存产品范围
-      saveBatchEntity({ list: this.form.promoRule.productRangeList, promoActiveSn: this.$route.params.sn }).then(res => {
+      const newArr = this.productRangeList.map(item => {
+        return {
+          promoActiveSn: this.$route.params.sn,
+          promoRuleSn: this.form.promoRule.promoRuleSn,
+          productTypeSn: item
+        }
+      })
+      saveBatchEntity({ list: newArr, promoActiveSn: this.$route.params.sn }).then(res => {
         if (res.status == 200) {
           console.log('保存产品范围成功')
         }

+ 2 - 3
src/views/promotionRulesManagement/promotionManagement/list.vue

@@ -97,7 +97,7 @@
                 type="link"
                 class="button-warning"
                 @click="promotionEdit(record)"
-                v-if="(record.publishState=='UNPUBLISH' || record.publishState=='CLOSE') && $hasPermissions('B_promotionManagementAdd')"
+                v-if="(record.publishState=='UNPUBLISH' || record.publishState=='CLOSE') && $hasPermissions('B_promotionManagementEdit')"
                 id="promotion-edit-btn">编辑</a-button>
               <a-button
                 size="small"
@@ -111,7 +111,7 @@
                 type="link"
                 class="button-success"
                 @click="handleSee(record)"
-                v-if="(record.publishState=='PUBLISH')&&$hasPermissions('B_promotionManagementContent')"
+                v-if="(record.publishState=='PUBLISH' || record.publishState=='END')&&$hasPermissions('B_promotionManagementDetail')"
                 id="promotion-modify-btn">查看</a-button>
               <a-button
                 size="small"
@@ -127,7 +127,6 @@
                 v-if="record.publishState=='UNPUBLISH'&&$hasPermissions('B_promotionManagementDel')"
                 @click="handleDel(record)"
                 id="promotion-del-btn">删除</a-button>
-              <span v-if="record.publishState=='End'">--</span>
             </div>
           </template>
         </s-table>