From c245fd8c67c75ebec392d52b29af7d532282a737 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 26 Nov 2024 15:08:13 +0800
Subject: [PATCH] feat(mall): 新增运费模板功能

---
 src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html          |   55 +----
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsCategoryController.java  |    6 
 src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html       |   54 +----
 src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsCategoryService.java         |    3 
 src/main/java/cc/mrbird/febs/mall/vo/AdminWorldAddressVo.java                       |   12 +
 src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd-bak.html      |  297 +++++++++++++++++++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/entity/MallAddressWorld.java                      |   25 ++
 src/main/java/com/best/javaSdk/BsApi.java                                           |   14 +
 src/main/java/cc/mrbird/febs/common/listener/RedisKeyExpirationListener.java        |   10 -
 src/main/java/cc/mrbird/febs/mall/mapper/MallAddressWorldMapper.java                |    7 
 src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java                   |    3 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsCategoryServiceImpl.java |   27 +++
 12 files changed, 413 insertions(+), 100 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/listener/RedisKeyExpirationListener.java b/src/main/java/cc/mrbird/febs/common/listener/RedisKeyExpirationListener.java
index 612cfb2..1b11c40 100644
--- a/src/main/java/cc/mrbird/febs/common/listener/RedisKeyExpirationListener.java
+++ b/src/main/java/cc/mrbird/febs/common/listener/RedisKeyExpirationListener.java
@@ -1,26 +1,18 @@
 package cc.mrbird.febs.common.listener;
 
-import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
-import cc.mrbird.febs.common.utils.AppContants;
-import cc.mrbird.febs.mall.entity.MallOrderInfo;
 import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
-import cn.hutool.core.util.StrUtil;
-import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.connection.Message;
 import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
 import org.springframework.data.redis.listener.RedisMessageListenerContainer;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
 
 /**
  * @author wzy
  * @date 2021-04-16
  **/
 @Slf4j
-@Component
+//@Component
 public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
 
     public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsCategoryController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsCategoryController.java
index bb2391e..33ed194 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsCategoryController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallGoodsCategoryController.java
@@ -9,7 +9,6 @@
 import cc.mrbird.febs.mall.entity.MallStoreItem;
 import cc.mrbird.febs.mall.service.IAdminMallGoodsCategoryService;
 import cc.mrbird.febs.mall.service.IApiMallGoodsCategoryService;
-import cc.mrbird.febs.mall.vo.AdminAddAddressTreeVo;
 import cc.mrbird.febs.mall.vo.AdminMallGoodsCategoryTreeVo;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -134,6 +133,11 @@
         return new FebsResponse().success().data(mallGoodsCategoryService.findAllCategoryList());
     }
 
+    @GetMapping(value = "/addressMYXL")
+    public FebsResponse addressMYXL() {
+        return new FebsResponse().success().data(mallGoodsCategoryService.findAllAddressList());
+    }
+
     /**
      * 商品分类-选择
      */
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallAddressWorld.java b/src/main/java/cc/mrbird/febs/mall/entity/MallAddressWorld.java
new file mode 100644
index 0000000..bdc0717
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallAddressWorld.java
@@ -0,0 +1,25 @@
+package cc.mrbird.febs.mall.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@TableName("mall_address_world")
+public class MallAddressWorld  implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Long id;
+    private Long pid;
+    private String path;
+    private String level;
+    private String name;
+    private String nameEn;
+    private String namePinyin;
+    private String code;
+
+    @TableField(exist = false)
+    private List<MallAddressWorld> childrens;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallAddressWorldMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallAddressWorldMapper.java
new file mode 100644
index 0000000..e265edd
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallAddressWorldMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.MallAddressWorld;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface MallAddressWorldMapper  extends BaseMapper<MallAddressWorld> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsCategoryService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsCategoryService.java
index 70b88e6..36bb633 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsCategoryService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsCategoryService.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.mall.service;
 
 import cc.mrbird.febs.mall.entity.MallGoodsCategory;
+import cc.mrbird.febs.mall.vo.AdminWorldAddressVo;
 import cc.mrbird.febs.mall.vo.MallGoodsCategoryVo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -13,4 +14,6 @@
     List<MallGoodsCategory> findChildCategoryListById(Long id);
 
     List<MallGoodsCategory> findRecommendCategory();
+
+    List<AdminWorldAddressVo> findAllAddressList();
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsCategoryServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsCategoryServiceImpl.java
index b2aeb8b..8c596f9 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsCategoryServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsCategoryServiceImpl.java
@@ -1,14 +1,20 @@
 package cc.mrbird.febs.mall.service.impl;
 
+import cc.mrbird.febs.mall.entity.MallAddressWorld;
 import cc.mrbird.febs.mall.entity.MallGoodsCategory;
+import cc.mrbird.febs.mall.mapper.MallAddressWorldMapper;
 import cc.mrbird.febs.mall.mapper.MallGoodsCategoryMapper;
 import cc.mrbird.febs.mall.service.IApiMallGoodsCategoryService;
+import cc.mrbird.febs.mall.vo.AdminWorldAddressVo;
 import cc.mrbird.febs.mall.vo.MallGoodsCategoryVo;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -20,6 +26,7 @@
 @RequiredArgsConstructor
 public class ApiMallGoodsCategoryServiceImpl extends ServiceImpl<MallGoodsCategoryMapper, MallGoodsCategory> implements IApiMallGoodsCategoryService {
 
+    private final MallAddressWorldMapper mallAddressWorldMapper;
 
     @Override
     public List<MallGoodsCategoryVo> findAllCategoryList() {
@@ -35,4 +42,24 @@
     public List<MallGoodsCategory> findRecommendCategory() {
         return this.baseMapper.selectRecommendCategoryList();
     }
+
+    @Override
+    public List<AdminWorldAddressVo> findAllAddressList() {
+        List<AdminWorldAddressVo> objects = new ArrayList<>();
+        LambdaQueryWrapper<MallAddressWorld> addressWorldLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        addressWorldLambdaQueryWrapper.eq(MallAddressWorld::getPid, 131)
+                .eq(MallAddressWorld::getLevel, 3)
+                .orderByAsc(MallAddressWorld::getId);
+        // 执行查询
+        List<MallAddressWorld> mallAddressWorlds = mallAddressWorldMapper.selectList(addressWorldLambdaQueryWrapper);
+        if(CollUtil.isNotEmpty(mallAddressWorlds)){
+            mallAddressWorlds.forEach(item -> {
+                AdminWorldAddressVo adminWorldAddressVo = new AdminWorldAddressVo();
+                adminWorldAddressVo.setId(item.getId());
+                adminWorldAddressVo.setName(item.getName()+"-"+item.getNameEn()+"-"+item.getNamePinyin());
+                objects.add(adminWorldAddressVo);
+            });
+        }
+        return objects;
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
index fcfef1d..c669e28 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
@@ -99,7 +99,8 @@
          *               partnerKey  :  ER5DFRT320D4ed6FAFs3G410Fs977
          *               Endpoint    :http://sgp-seaedi.800best.com/Malaysia/kdapi/api/proces
          */
-        String url = "http://sgp-seaedi.800best.com/Malaysia/kdapi/api/proces";
+//        String url = "http://sgp-seaedi.800best.com/Malaysia/kdapi/api/proces";
+        String url = "http://open-sgp.800best.com/api-server/m9api/api/process";
         String partnerID = "MY_LEADING";
         String partnerKey = "ER5DFRT320D4ed6FAFs3G410Fs977";
         String format = "JSON";
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminWorldAddressVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminWorldAddressVo.java
new file mode 100644
index 0000000..db93a4c
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminWorldAddressVo.java
@@ -0,0 +1,12 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminSelectListLeaderVo", description = "信息返回类")
+public class AdminWorldAddressVo {
+    private Long id;
+    private String name;
+
+}
diff --git a/src/main/java/com/best/javaSdk/BsApi.java b/src/main/java/com/best/javaSdk/BsApi.java
index 1792271..869b879 100644
--- a/src/main/java/com/best/javaSdk/BsApi.java
+++ b/src/main/java/com/best/javaSdk/BsApi.java
@@ -4,6 +4,7 @@
 import com.best.javaSdk.kdTraceQuery.request.KdTraceQueryReq;
 import com.best.javaSdk.kdTraceQuery.request.MailNos;
 import com.best.javaSdk.kdTraceQuery.response.KdTraceQueryRsp;
+import com.best.javaSdk.kdTraceQuery.response.TraceLogs;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -11,9 +12,9 @@
 public class BsApi {
 
     public static void main(String[] args) {
-        String url = "http://open-sgp.800best.com/api-server/m9api/api/process";
-        String partnerID = "71";
-        String partnerKey = "G95DIM64";
+        String url = "http://sea-edi-hxtest.800best.com/Malaysia/kdapi/api/process";
+        String partnerID = "M_TEST";
+        String partnerKey = "TEST12345";
         String format = "JSON";
 
         Client client = new Client(url, partnerID, partnerKey, format);
@@ -21,12 +22,15 @@
         KdTraceQueryReq tdTraceQueryReq = new KdTraceQueryReq();
         MailNos mailNos = new MailNos();
         List<String> mailNo = new ArrayList<>();
-        mailNo.add("JT689574278404");
+        mailNo.add("451238000");
         mailNos.setMailNo(mailNo);
         tdTraceQueryReq.setMailNos(mailNos);
         tdTraceQueryReq.setLangType("zh-CN");
+//        tdTraceQueryReq.setLangType("en-US");
 
         KdTraceQueryRsp kdTraceQueryRsp = client.executed(tdTraceQueryReq);
-        System.out.println(JSONUtil.parseObj(kdTraceQueryRsp));
+        List<TraceLogs> traceLogs = kdTraceQueryRsp.getTraceLogs();
+        traceLogs.forEach(item1 -> item1.getTraces().getTrace().forEach(trace -> System.out.println(JSONUtil.toJsonStr(trace))) );
+
     }
 }
diff --git a/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd-bak.html b/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd-bak.html
new file mode 100644
index 0000000..e24f744
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd-bak.html
@@ -0,0 +1,297 @@
+<div class="layui-fluid layui-anim febs-anim" id="febs-carriage-rule-add" lay-title="运费模板新增">
+    <div class="layui-row febs-container">
+        <div class="layui-col-md12">
+            <div class="layui-fluid" id="carriage-rule-add">
+                <form class="layui-form" action="" lay-filter="carriage-rule-add-form">
+                    <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+                        <ul class="layui-tab-title">
+                            <li class="layui-this">运费模板</li>
+                        </ul>
+                        <div class="layui-tab-content">
+                            <div class="layui-tab-item layui-show">
+                                <blockquote class="layui-elem-quote blue-border">基本信息</blockquote>
+                                <div class="layui-row layui-col-space10 layui-form-item">
+                                    <div class="layui-col-lg6">
+                                        <label class="layui-form-label febs-form-item-require">标题:</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" name="ruleName" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
+                                        </div>
+                                    </div>
+                                </div>
+
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label febs-form-item-require">计价方式:</label>
+                                    <div class="layui-input-block">
+                                        <input type="radio" name="valuationType" value="1" title="按件算" checked />
+<!--                                        <input type="radio" name="valuationType" value="2" title="按重量算" />-->
+                                    </div>
+                                </div>
+
+                                <blockquote class="layui-elem-quote blue-border">默认规则</blockquote>
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label febs-form-item-require">默认运费:</label>
+                                    <div class="layui-input-inline" style="width: 80px">
+                                        <input type="text" name="basicCntDefault" lay-verify="required" autocomplete="off" class="layui-input" >
+                                    </div>
+                                    <div class="layui-form-mid">件内,</div>
+                                    <div class="layui-input-inline" style="width: 80px">
+                                        <input type="text" name="basicPriceDefault" lay-verify="required" autocomplete="off" class="layui-input" >
+                                    </div>
+                                    <div class="layui-form-mid">元,</div>
+                                    <div class="layui-form-mid">每增加</div>
+                                    <div class="layui-input-inline" style="width: 80px">
+                                        <input type="text" name="moreCntDefault" lay-verify="required" autocomplete="off" class="layui-input" >
+                                    </div>
+                                    <div class="layui-form-mid">件,增加运费</div>
+                                    <div class="layui-input-inline" style="width: 80px">
+                                        <input type="text" name="morePriceDefault" lay-verify="required" autocomplete="off" class="layui-input" >
+                                    </div>
+                                    <div class="layui-form-mid">元。</div>
+                                </div>
+                                <div class="layui-form-item multi-rule-table">
+                                    <div class="layui-row layui-col-space10 layui-form-item">
+                                        <blockquote class="layui-elem-quote blue-border">为指定省份设置运费</blockquote>
+
+                                        <div class="layui-col-lg6">
+                                            <label class="layui-form-label febs-form-item-require">指定省份:</label>
+                                            <div class="layui-input-block">
+                                                <div id="province-set"></div>
+                                            </div>
+                                        </div>
+                                        <div class="layui-col-lg6">
+                                            <button type="button" class="layui-btn layui-btn-normal layui-btn" id="test3" >添加</button>
+                                        </div>
+                                    </div>
+
+                                    <div class="layui-form-item">
+                                        <div class="layui-input-block">
+                                            <table id="multiRule" lay-filter="multiRule"></table>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item febs-hide">
+                        <button class="layui-btn" lay-submit="" lay-filter="carriage-rule-add-form-submit" id="submit">保存</button>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>
+<style>
+    .blue-border {
+        border-left-color: #2db7f5;
+        font-size: 18px;
+    }
+</style>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delSku">删除</button>
+    </div>
+</script>
+<!-- 表格操作栏 end -->
+<script data-th-inline="javascript">
+    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','dropdown', 'laydate', 'layedit', 'upload', 'element', 'table', 'xmSelect'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            layer = layui.layer,
+            table = layui.table,
+            formSelects = layui.formSelects,
+            treeSelect = layui.treeSelect,
+            form = layui.form,
+            laydate = layui.laydate,
+            eleTree = layui.eleTree,
+            $view = $('#carriage-rule-add'),
+            layedit = layui.layedit,
+            upload = layui.upload,
+            validate = layui.validate,
+            element = layui.element;
+
+        form.render();
+
+        formSelects.render();
+
+        var provinceSet = xmSelect.render({
+            el: '#province-set',
+            toolbar: {
+                show: true,
+                list: [ 'ALL', 'CLEAR', 'REVERSE' ]
+            },
+            filterable: true,
+            data: [
+                {name: '北京市',value: 1,selected:false},
+                {name: '天津市',value: 2,selected:false},
+                {name: '河北省',value: 3,selected:false},
+                {name: '山西省',value: 4,selected:false},
+                {name: '辽宁省',value: 5,selected:false},
+
+                {name: '吉林省',value: 6,selected:false},
+                {name: '黑龙江省',value: 7,selected:false},
+                {name: '上海市',value: 8,selected:false},
+                {name: '江苏省',value: 9,selected:false},
+                {name: '浙江省',value: 10,selected:false},
+
+                {name: '安徽省',value: 11,selected:false},
+                {name: '福建省',value: 12,selected:false},
+                {name: '江西省',value: 13,selected:false},
+                {name: '山东省',value: 14,selected:false},
+                {name: '河南省',value: 15,selected:false},
+
+                {name: '湖北省',value: 16,selected:false},
+                {name: '湖南省',value: 17,selected:false},
+                {name: '广东省',value: 18,selected:false},
+                {name: '广西壮族自治区',value: 19,selected:false},
+                {name: '海南省',value: 20,selected:false},
+
+                {name: '重庆市',value: 21,selected:false},
+                {name: '四川省',value: 22,selected:false},
+                {name: '贵州省',value: 23,selected:false},
+                {name: '云南省',value: 24,selected:false},
+                {name: '西藏自治区',value: 25,selected:false},
+
+                {name: '陕西省',value: 26,selected:false},
+                {name: '甘肃省',value: 27,selected:false},
+                {name: '青海省',value: 28,selected:false},
+                {name: '宁夏回族自治区',value: 29,selected:false},
+                {name: '内蒙古自治区',value: 30,selected:false},
+
+                {name: '新疆维吾尔自治区',value: 31,selected:false},
+                {name: '台湾省',value: 32,selected:false},
+                {name: '香港特别行政区',value: 33,selected:false},
+                {name: '澳门特别行政区',value: 34,selected:false},
+            ],
+        })
+        let provinceChoiceExist = "";
+        $('#test3').on('click', function (){
+            let provinceChoice = provinceSet.getValue('name');
+            if(provinceChoice == null || provinceChoice == ""){
+                febs.alert.warn('指定省份不能为空');
+                return false;
+            }
+            let provinceChoiceStr = "";
+            for (let i = 0; i < provinceChoice.length; i++) {
+                //判断字符串是否出现过  =-1则没有出现
+                if(provinceChoiceExist.indexOf(provinceChoice[i]) != -1){
+                    febs.alert.warn('['+provinceChoice[i]+'],指定省份不能重复');
+                    return false;
+                }
+                provinceChoiceStr = provinceChoiceStr + provinceChoice[i]+",";
+                provinceChoiceExist = provinceChoiceExist + provinceChoiceStr;
+            }
+            let data = {};
+            data.areaAddress = provinceChoiceStr;
+            data.basicCnt = 1;
+            data.basicPrice = 1;
+            data.moreCnt = 1;
+            data.morePrice = 1;
+            addTableDate(data);
+        });
+
+        var ruleData=[];
+        var tableIns = table.render({
+            elem: '#multiRule'
+            ,limit:999
+            ,toolbar:"#toolbar"
+            ,defaultToolbar:[]
+            ,cols: [
+                [
+                ,{align: 'center', title: '请选择', colspan: 2}
+                ,{field:'areaAddress', title:'指定省份', width:400, rowspan: 2,align: 'center'}
+                ,{align: 'center', title: '规则( 2 件内,2 元,每 1 增加件,增加运费 1 元。)', colspan: 4}
+                ],
+                [ //表头
+                {type: 'checkbox', rowspan: 2,align: 'center' }
+                ,{field: 'index', title: '序号', width:100, rowspan: 2,align: 'center'}
+                ,{field: 'basicCnt', title: '件内', width:200,edit:'text'}
+                ,{field: 'basicPrice', title: '运费', width:200,edit:'text'}
+                ,{field: 'moreCnt', title: '每增加', width:200,edit:'text'}
+                ,{field: 'morePrice', title: '增加运费', width:200,edit:'text'}
+            ]]
+            ,data: []
+        });
+
+        table.on('toolbar(multiRule)', function(obj){
+            var data = obj.data;
+            var hasData = table.cache['multiRule'];
+            var checkData = table.checkStatus('multiRule').data;
+
+            if (checkData.length <= 0) {
+                febs.alert.warn('请选择删除数据');
+                return;
+            }
+            if(obj.event === 'delSku'){
+                for (let i = 0; i < checkData.length; i++) {
+                    var delData = checkData[i];
+                    for (let j = 0; j < hasData.length; j++) {
+                        if (hasData[j].index == delData.index) {
+                            hasData.splice(j, 1);
+                            break;
+                        }
+                    }
+                }
+
+                for (let i = 0; i < hasData.length; i++) {
+                    hasData[i].index = i + 1;
+                }
+
+                ruleData=hasData;
+                reloadTable(hasData);
+            }
+        });
+
+        function addTableDate(data) {
+            var hasData = table.cache['multiRule'];
+
+            data.index = hasData.length + 1;
+            ruleData.push(data);
+
+            reloadTable(ruleData);
+            return data.index;
+        }
+
+        function reloadTable(data) {
+            table.reload('multiRule', {
+                data : data
+            });
+        }
+
+        table.on('edit(multiRule)', function(obj){
+            var value = obj.value //得到修改后的值
+                ,data = obj.data //得到所在行所有键值
+                ,field = obj.field; //得到字段
+
+            for (let i = 0; i < ruleData.length; i++) {
+                if (ruleData[i].index == data.index) {
+                    ruleData[i] = data;
+                }
+            }
+        });
+
+        form.on('submit(carriage-rule-add-form-submit)', function (data) {
+            data.field.adminCarriageRuleAddInfoDtos = ruleData;
+            $.ajax({
+                'url':ctx + 'admin/goods/carriageRuleAdd',
+                'type':'post',
+                'dataType':'json',
+                'headers' : {'Content-Type' : 'application/json;charset=utf-8'}, //接口json格式
+                'traditional': true,//ajax传递数组必须添加属性
+                'data':JSON.stringify(data.field),
+                'success':function (data) {
+                    if(data.code==200){
+                        layer.closeAll();
+                        febs.alert.success(data.message);
+                        $('#febs-carriage-rule').find('#reset').click();
+                    }else{
+                        febs.alert.warn(data.message);
+                    }
+                },
+                'error':function () {
+                    febs.alert.warn('服务器繁忙');
+                }
+            })
+            return false;
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html b/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html
index e24f744..d79a111 100644
--- a/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html
+++ b/src/main/resources/templates/febs/views/modules/goods/carriageRuleAdd.html
@@ -120,52 +120,23 @@
                 list: [ 'ALL', 'CLEAR', 'REVERSE' ]
             },
             filterable: true,
-            data: [
-                {name: '北京市',value: 1,selected:false},
-                {name: '天津市',value: 2,selected:false},
-                {name: '河北省',value: 3,selected:false},
-                {name: '山西省',value: 4,selected:false},
-                {name: '辽宁省',value: 5,selected:false},
-
-                {name: '吉林省',value: 6,selected:false},
-                {name: '黑龙江省',value: 7,selected:false},
-                {name: '上海市',value: 8,selected:false},
-                {name: '江苏省',value: 9,selected:false},
-                {name: '浙江省',value: 10,selected:false},
-
-                {name: '安徽省',value: 11,selected:false},
-                {name: '福建省',value: 12,selected:false},
-                {name: '江西省',value: 13,selected:false},
-                {name: '山东省',value: 14,selected:false},
-                {name: '河南省',value: 15,selected:false},
-
-                {name: '湖北省',value: 16,selected:false},
-                {name: '湖南省',value: 17,selected:false},
-                {name: '广东省',value: 18,selected:false},
-                {name: '广西壮族自治区',value: 19,selected:false},
-                {name: '海南省',value: 20,selected:false},
-
-                {name: '重庆市',value: 21,selected:false},
-                {name: '四川省',value: 22,selected:false},
-                {name: '贵州省',value: 23,selected:false},
-                {name: '云南省',value: 24,selected:false},
-                {name: '西藏自治区',value: 25,selected:false},
-
-                {name: '陕西省',value: 26,selected:false},
-                {name: '甘肃省',value: 27,selected:false},
-                {name: '青海省',value: 28,selected:false},
-                {name: '宁夏回族自治区',value: 29,selected:false},
-                {name: '内蒙古自治区',value: 30,selected:false},
-
-                {name: '新疆维吾尔自治区',value: 31,selected:false},
-                {name: '台湾省',value: 32,selected:false},
-                {name: '香港特别行政区',value: 33,selected:false},
-                {name: '澳门特别行政区',value: 34,selected:false},
-            ],
+            data: [],
+        })
+        febs.get(ctx + 'admin/goodsCategory/addressMYXL', null, function(res) {
+            provinceSet.update({
+                // data : res.data,
+                data : res.data.map(province => ({
+                    name: province.name,
+                    value: province.id,
+                    selected: false
+                })),
+                autoRow: true,
+            });
         })
         let provinceChoiceExist = "";
         $('#test3').on('click', function (){
             let provinceChoice = provinceSet.getValue('name');
+            console.log(provinceChoice);
             if(provinceChoice == null || provinceChoice == ""){
                 febs.alert.warn('指定省份不能为空');
                 return false;
diff --git a/src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html b/src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html
index abed2f4..af5a113 100644
--- a/src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html
+++ b/src/main/resources/templates/febs/views/modules/goods/carriageRuleUpdate.html
@@ -123,48 +123,18 @@
                 list: [ 'ALL', 'CLEAR', 'REVERSE' ]
             },
             filterable: true,
-            data: [
-                {name: '北京市',value: 1,selected:false},
-                {name: '天津市',value: 2,selected:false},
-                {name: '河北省',value: 3,selected:false},
-                {name: '山西省',value: 4,selected:false},
-                {name: '辽宁省',value: 5,selected:false},
-
-                {name: '吉林省',value: 6,selected:false},
-                {name: '黑龙江省',value: 7,selected:false},
-                {name: '上海市',value: 8,selected:false},
-                {name: '江苏省',value: 9,selected:false},
-                {name: '浙江省',value: 10,selected:false},
-
-                {name: '安徽省',value: 11,selected:false},
-                {name: '福建省',value: 12,selected:false},
-                {name: '江西省',value: 13,selected:false},
-                {name: '山东省',value: 14,selected:false},
-                {name: '河南省',value: 15,selected:false},
-
-                {name: '湖北省',value: 16,selected:false},
-                {name: '湖南省',value: 17,selected:false},
-                {name: '广东省',value: 18,selected:false},
-                {name: '广西壮族自治区',value: 19,selected:false},
-                {name: '海南省',value: 20,selected:false},
-
-                {name: '重庆市',value: 21,selected:false},
-                {name: '四川省',value: 22,selected:false},
-                {name: '贵州省',value: 23,selected:false},
-                {name: '云南省',value: 24,selected:false},
-                {name: '西藏自治区',value: 25,selected:false},
-
-                {name: '陕西省',value: 26,selected:false},
-                {name: '甘肃省',value: 27,selected:false},
-                {name: '青海省',value: 28,selected:false},
-                {name: '宁夏回族自治区',value: 29,selected:false},
-                {name: '内蒙古自治区',value: 30,selected:false},
-
-                {name: '新疆维吾尔自治区',value: 31,selected:false},
-                {name: '台湾省',value: 32,selected:false},
-                {name: '香港特别行政区',value: 33,selected:false},
-                {name: '澳门特别行政区',value: 34,selected:false},
-            ],
+            data: [],
+        })
+        febs.get(ctx + 'admin/goodsCategory/addressMYXL', null, function(res) {
+            provinceSet.update({
+                // data : res.data,
+                data : res.data.map(province => ({
+                    name: province.name,
+                    value: province.id,
+                    selected: false
+                })),
+                autoRow: true,
+            });
         })
 
         let provinceChoiceExist = "";

--
Gitblit v1.9.1