From f43970a061d3c90520b4e8f48caa17a204d9a085 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期四, 15 八月 2024 10:19:38 +0800
Subject: [PATCH] 完供应商自主维护商品api和后台基础管理页面

---
 CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html |  217 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 189 insertions(+), 28 deletions(-)

diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html
index fd70cd8..82815bb 100644
--- a/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html
+++ b/CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html
@@ -61,6 +61,12 @@
                                 </div>
                             </div>
                             <div class="layui-form-item">
+                                <label for="areaId" class="layui-form-label ">鎵�灞炲湴鍖�</label>
+                                <div class="layui-input-block layui-inline-4 address-class">
+                                    <input type="hidden" name="areaId" value="{{d.data.areaId || '' }}">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
                                 <label for="bn" class="layui-form-label layui-form-required">鍟嗗搧缂栫爜</label>
                                 <div class="layui-input-inline layui-inline-6">
                                     <input name="goods[bn]" id="bn" lay-verType="tips" lay-verify="required|verifybn" value="{{d.data.model.bn }}" class="layui-input" lay-reqText="璇疯緭鍏ュ晢鍝佺紪鐮�" placeholder="璇疯緭鍏ヤ笉瓒呰繃30涓瓧绗﹀唴瀹�" />
@@ -177,7 +183,7 @@
                                 1銆侀�夋嫨瀵瑰簲鐨勩�愬晢鍝佺被鍨嬨�戯紝灏嗚繘鍏ュSKU璐у搧妯″紡銆傚悓鏃跺鏋滅被鍒湁鍙傛暟锛屼篃灏嗚繘琛屾樉绀鸿缃��<br/>
                                 2銆佽缃SKU鍚庯紝鍟嗗搧鏈韩鐨勪环鏍煎彧鍋氬澶栧睍绀虹敤锛屽疄闄呬互杩涘叆鍟嗗搧璇︽儏閫夋嫨涓嶅悓璐у搧涓哄噯銆�<br/>
                                 3銆佽揣鍝丼KU缁勫悎灞炴�у�煎彧鏀寔锛氫腑鏂囥�佽嫳鏂囥�佹暟瀛椼�佸ぇ鍐欑鍙凤紝灏忓啓绗﹀彿涓変釜锛�-銆�/銆�.锛夛級<br/>
-                                4銆佽揣鍙峰繀椤讳负SN瀛楁瘝寮�澶�<br/>
+                                4銆佽揣鍝佺紪鐮佸繀椤讳负SN瀛楁瘝寮�澶�<br/>
                                 5銆佸鏋滀笉璁剧疆鍗曡揣鍝侀噸閲忥紝灏嗛粯璁や娇鐢ㄥ晢鍝侀噸閲忎负1涓崟浣嶇殑閲嶉噺銆�
                             </blockquote>-->
 
@@ -303,19 +309,24 @@
             <tr>
                 <th>榛樿璐у搧</th>
                 <th>鍥剧墖</th>
-                <th>璐у彿</th>
+                <th>璐у搧缂栫爜</th>
                 <th>SKU</th>
                 <th>閲嶉噺(鍏�)</th>
-                <th>璧犻�佺Н鍒�</th>
-                <th>绉垎鏈�澶�<br />鍙姷閲戦</th>
-                <th>搴撳瓨</th>
-                <th><i class="required-color">*</i>閿�鍞环</th>
-                <th>鎴愭湰浠�</th>
-                <th>甯傚満浠�</th>
-                <th>涓�绾ц繑鐜�</th>
-                <th>浜岀骇杩旂幇</th>
-                <th>涓夌骇杩旂幇</th>
+                <!-- <th>璧犻�佺Н鍒�</th>
+                <th>绉垎鏈�澶�<br />鍙姷閲戦</th> -->
+                <th>搴撳瓨鏁伴噺</th>
                 <th>鍐荤粨搴撳瓨</th>
+                <th style="width: 60px;">寤鸿闆跺敭浠�</th>
+                <th><i class="required-color">*</i>閿�鍞环</th>
+                <th>缁忛攢鍟嗕环</th>
+                <th>鎴愭湰浠�</th>               
+                
+                <th style="width: 60px;">鎺ㄥ箍缁忛攢鍟嗛噰璐繑鐜�</th>
+                <th>鎺ㄥ箍鐢ㄦ埛璐拱杩旂幇</th>
+                <th style="width: 80px;">鏄惁鏀寔瀹氬埗</th>
+                <!-- <th>浜岀骇杩旂幇</th>
+                <!-- <th>涓夌骇杩旂幇</th> --> -->
+          
                 <th>鎿嶄綔</th>
             </tr>
         </thead>
@@ -347,7 +358,7 @@
                     </div>
                 </td>
                 <td>
-                    <input type="text" name="product[sn][]" value="{{item.sn}}" placeholder="璐у彿" class="layui-input layui-inline-3">
+                    <input type="text" name="product[sn][]" value="{{item.sn}}" placeholder="璐у搧缂栫爜" class="layui-input layui-inline-3">
                 </td>
                 <td>
                     <input type="hidden" name="product[spesDesc][]" value="{{item.spesDesc}}" placeholder="SKU" class="layui-input">
@@ -356,36 +367,48 @@
                 <td>
                     <input type="number" name="product[weight][]" value="{{item.weight}}" placeholder="閲嶉噺" class="layui-input layui-inline-1">
                 </td>
-                <td>
+                <!-- <td>
                     <input type="number" name="product[points][]" value="{{item.points}}" placeholder="绉垎" class="layui-input layui-inline-1">
-                </td>
-                <td>
+                </td> -->
+                <!-- <td>
                     <input type="text" name="product[pointsDeduction][]" value="{{item.pointsDeduction}}" placeholder="閲戦" class="layui-input layui-inline-1">
-                </td>
+                </td> -->
                 <td class="have-add-td">
                     <input type="number" name="product[stock][]" value="{{item.stock}}" placeholder="搴撳瓨" class="layui-input layui-inline-1 goods-stock">
+                </td>
+                <td>
+                    {{item.freezeStock}}
+                </td>
+                <td>
+                    <input type="text" name="product[mktprice][]" value="{{item.mktprice}}" placeholder="寤鸿闆跺敭浠�" class="layui-input layui-inline-1">
                 </td>
                 <td>
                     <input type="text" name="product[price][]" value="{{item.price}}" placeholder="閿�鍞环" class="layui-input layui-inline-1">
                 </td>
                 <td>
+                 
+                    <input type="text" name="product[distributionPrice][]" value="{{item.distributionPrice||'0'}}" placeholder="缁忛攢鍟嗕环" class="layui-input layui-inline-1">
+                </td>
+                <td>
                     <input type="text" name="product[costprice][]" value="{{item.costprice}}" placeholder="鎴愭湰浠�" class="layui-input layui-inline-1">
                 </td>
+               
                 <td>
-                    <input type="text" name="product[mktprice][]" value="{{item.mktprice}}" placeholder="甯傚満浠�" class="layui-input layui-inline-1">
+                    <input type="text" name="product[distributionCutMoney][]" value="{{item.distributionCutMoney||'0'}}" placeholder="鎺ㄥ箍缁忛攢鍟嗛噰璐繑鐜�" class="layui-input layui-inline-1">
                 </td>
                 <td>
-                    <input type="text" name="product[levelOne][]" value="{{item.levelOne}}" placeholder="涓�绾ц繑鐜�" class="layui-input layui-inline-1">
+                    <input type="text" name="product[cutMoney][]" value="{{item.cutMoney||'0'}}" placeholder="鎺ㄥ箍鏅�氱敤鎴疯喘涔拌繑鐜�" class="layui-input layui-inline-1">
                 </td>
                 <td>
+                    <input type="checkbox" name="product[isCustomizable][]" {{item.isCustomizable==true? 'checked':""}} value="{{item.isCustomizable||'false'}}"  title="鏀寔|涓嶆敮鎸�" lay-skin="switch" lay-filter="isCustomizable" >
+                </td>
+                <!-- <td>
                     <input type="text" name="product[levelTwo][]" value="{{item.levelTwo}}" placeholder="浜岀骇杩旂幇" class="layui-input layui-inline-1">
                 </td>
                 <td>
                     <input type="text" name="product[levelThree][]" value="{{item.levelThree}}" placeholder="涓夌骇杩旂幇" class="layui-input layui-inline-1">
-                </td>
-                <td>
-                    {{item.freezeStock}}
-                </td>
+                </td> -->
+             
                 <td>
                     <a class="layui-btn layui-btn-danger layui-btn-xs del-class" lay-active="delTr">鍒犻櫎</a>
                 </td>
@@ -462,11 +485,11 @@
                 <div class="layui-input-inline">
                     <button type="button" class="layui-btn  layui-btn-warm layui-btn-sm" lay-active="getGenerateSpecBtn"><i class="layui-icon layui-icon-export"></i>鐢熸垚SKU璐у搧鍒楄〃</button>
                 </div>
-                <div class="layui-input-inline">
+                <!-- <div class="layui-input-inline">
                     <button type="button" class="aKeySetBtn layui-btn layui-btn-warm layui-btn-sm">
                         <i class="layui-icon layui-icon-set"></i>涓�閿缃�
                     </button>
-                </div>
+                </div> -->
             </div>
         </div>
         <div id="more_spec"></div>
@@ -560,7 +583,7 @@
                             </div>
                         </div>
                         <div class="layui-form-item">
-                            <label class="layui-form-label">甯傚満浠�</label>
+                            <label class="layui-form-label">鎸囧闆跺敭浠�</label>
                             <div class="layui-input-inline layui-inline-2">
                                 <input class="layui-input" id="oneKeySetMktPrice">
                             </div>
@@ -633,6 +656,8 @@
     <input type="checkbox" name="skuAttrValue" value="{{item}}" title="{{item}}" lay-filter="skuAttrValue-filter">
     {{#  }); }}
 </script>
+
+    <script src="/views/liao.js"></script>
 
 <script>
     var $;
@@ -742,7 +767,7 @@
                 } else {
                     oldSingleData = d.data.products[0];
                 }
-
+                
                 //鍒濆鍖栧晢鍝佷俊鎭�
                 var getTpl = getSpec_tpl.innerHTML, viewBox = document.getElementById('more_spec');
                 var tmpData = oldMultitermData;
@@ -758,6 +783,119 @@
                     var btn = $('#openSpecBtn');
                     $(btn).html("鍙栨秷SKU");
                 }
+                 /*****************************************************************/
+                //鍦板尯閫夋嫨
+  
+                var expensiveItems =   d.data.categories.data.filter(function(item) {
+                    return item.price > 100;
+                  });
+                   var areaid=0;
+                var arelist= d.data.model?.areaCode?.split(",");
+         
+                if(Array.isArray(arelist))
+                {
+                   var u= arelist[arelist.length - 1]
+                   let num = Number(u);
+                   if(!Number.isNaN(num))
+                   {
+                    areaid=num;
+                   }
+                }
+
+              
+                coreHelper.Post("Api/Tools/GetAreaCheckedList", { id: areaid}, function (data) {
+                 
+                   
+                    var str = "";
+                    $.each(data, function (i, n) {
+                        
+                        str += "<select lay-ignore name='areaId_" + (i + 1) + "' dep='" + (i + 1) + "'  class='select-address'>";
+                        str += `<option value= ${(d.data.areaId??0)===0?" selected='selected'":''} >璇烽�夋嫨</option>`;
+                        if(n.list.length>0)
+                       { $.each(n.list, function (h, z) {
+                            if (n.hasOwnProperty('info') && n.info?.id == z.id) {
+                                str += "<option value='" + z.id + "' selected='selected'>" + z.name + "</option>";
+                            } else {
+                                str += "<option value='" + z.id + "' >" + z.name + "</option>";
+                            }
+                        });
+                    }
+                    else
+                    {
+                        $.each(n.thisList, function (h, z) {
+                            if (n.hasOwnProperty('info') && n.info?.id == z.id) {
+                                str += "<option value='" + z.id + "' selected='selected'>" + z.name + "</option>";
+                            } else {
+                                str += "<option value='" + z.id + "' >" + z.name + "</option>";
+                            }
+                        });
+                    }
+                        str += "</select>";
+                    });
+                    $("input[name='areaId']").after(str);
+                    //浠ヤ笂鏁版嵁杈撳嚭瀹岋紝浠ヤ笅缁戝畾浜嬩欢
+                    $.each(data, function (i, n) {
+                        
+                        if (i < (data.length)) {
+                            $("select[name='areaId_" + (i + 1) + "']").change(function () {
+                                changeareaIdArea(i + 1, data.length);
+                            });
+                        }
+                    });
+                });
+
+                function changeareaIdArea(i, max_i) {
+              
+                    //娓呴櫎鍚庨潰鑺傜偣
+                    for (var x = i + 1; x <= 6; x++) {  //鏈�澶�6灞傦紝瓒冲浜�
+                        $("select[name='areaId_" + x + "']").remove();
+                    }
+                    var val = $("select[name='areaId_" + i + "']").val();
+                    if (val != "") {
+                        //鍙栧瓙鑺傜偣鏁版嵁锛岀劧鍚庢樉绀轰笅涓�绾�
+                        coreHelper.Post("Api/Tools/GetAreaChildren", { id: val }, function (e) {
+                            if (debug) { console.log(e); } //寮�鍚皟璇曡繑鍥炴暟鎹�
+                            
+                            if (e.length > 0) {
+                                var str = "";
+                                str += "<select lay-ignore name='areaId_" + (i + 1) + "' dep='" + (i + 1) + "'  class='select-address'>";
+                                str += "<option value='' >璇烽�夋嫨</option>";
+                                $.each(e, function (h, z) {
+                                    str += "<option value='" + z.id + "' >" + z.name + "</option>";
+                                });
+                                str += "</select>";
+                                $("select[name='areaId_" + i + "']").after(str);
+                                //浠ヤ笂鏁版嵁杈撳嚭瀹岋紝浠ヤ笅缁戝畾浜嬩欢
+                                $("select[name='areaId_" + (i + 1) + "']").change(function () {
+                                    changeareaIdArea(i + 1, i + 2);
+                                });
+
+                                //濡傛灉鏈夎繑鍥炲�硷紝灏辫鏄庣渷甯傚尯娌℃湁閫夋嫨鍒版渶缁堣妭鐐�
+                                if (1 == 1) {
+                                    $("input[name='areaId']").val("");
+                                } else {
+                                    $("input[name='areaId']").val($("select[name='areaId_" + i + "']").val());
+                                }
+                            } else {
+                                $("input[name='areaId']").val($("select[name='areaId_" + i + "']").val());
+                            }
+                        });
+                    } else {
+                        if (1 == 1) {
+                            $("input[name='areaId']").val("");
+                        } else {
+                            //绗竴绾х殑鍏冪礌灏辩洿鎺ヨ祴鍊间负绌哄氨鏄簡
+                            if (i == 1) {
+                                $("input[name='areaId']").val("");
+                            } else {
+                                i--;
+                                $("input[name='areaId']").val($("select[name='areaId_" + i + "']").val());
+                            }
+
+                        }
+                    }
+                }
+                 /*****************************************************************/
 
                 // 娓叉煋鍟嗗搧鍒嗙被
                 var insXmSelGoodsCategoryId = xmSelect.render({
@@ -943,7 +1081,12 @@
                         });
                     }
                 });
-
+                      // 鐩戝惉寮�鍏冲垏鎹簨浠�
+  form.on('switch(isCustomizable)', function(data){
+    var elem = data.elem; // 褰撳墠寮�鍏冲厓绱�  
+    elem.value=true;
+  
+  });
                 //鍥鹃泦涓婁紶
                 $('#upBtnimageIds').click(function () {
                     cropperImg.cropImg({
@@ -1168,7 +1311,7 @@
                 form.verify({
                     money: [/((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/, '璇疯緭鍏ラ噾棰�'],
                     verifybn: [/^[\S]{0,30}$/, '鍟嗗搧缂栫爜鏈�澶у彧鍏佽杈撳叆30浣嶅瓧绗︼紝涓斾笉鑳藉嚭鐜扮┖鏍�'],
-                    verifysn: [/^[\S]{0,30}$/, '璐у彿鏈�澶у彧鍏佽杈撳叆30浣嶅瓧绗︼紝涓斾笉鑳藉嚭鐜扮┖鏍�'],
+                    verifysn: [/^[\S]{0,30}$/, '璐у搧缂栫爜鏈�澶у彧鍏佽杈撳叆30浣嶅瓧绗︼紝涓斾笉鑳藉嚭鐜扮┖鏍�'],
                     verifyname: [/^.{0,200}$/, '鍟嗗搧鍚嶇О鏈�澶у彧鍏佽杈撳叆200浣嶅瓧绗�'],
                     verifybrief: [/^.{0,255}$/, '鍟嗗搧绠�浠嬫渶澶у彧鍏佽杈撳叆255浣嶅瓧绗︼紝涓斾笉鑳藉嚭鐜扮┖鏍�'],
                     verifyimageIds: [/^[\S]{0,255}$/, '榛樿鍥剧墖 鍥剧墖id鏈�澶у彧鍏佽杈撳叆255浣嶅瓧绗︼紝涓斾笉鑳藉嚭鐜扮┖鏍�'],
@@ -1817,6 +1960,18 @@
                         goods.stock = field['goods[stock]'];
                         goods.unit = field['goods[unit]'];
                         goods.weight = field['goods[weight]'];
+                        goods.areaCode='';
+                        
+                        if (isNumericString(field["areaId_1"])) {
+                            goods.areaCode+=`${field["areaId_1"]}`;
+                            if (isNumericString(field["areaId_2"]))
+                            goods.areaCode+=`,${field["areaId_2"]}`;
+                            if (isNumericString(field["areaId_3"]))
+                            goods.areaCode+=`,${field["areaId_3"]}`;
+                          } else {
+                           
+                          }
+                   
                         goods.openSpec = parseInt(field.openSpec);
                         //澶氬弬鏁颁骇鍝佸簱鐢熸垚鍒楄〃闆嗗悎
                         var products = [];
@@ -1848,7 +2003,13 @@
                             productModel.levelThree = field['product[levelThree][' + i + ']'];
                             productModel.pointsDeduction = field['product[pointsDeduction][' + i + ']'];
                             productModel.points = field['product[points][' + i + ']'];
+                            //娣诲姞 鐧惧垎鍏垫硶
+                            productModel.isCustomizable = field['product[isCustomizable][' + i + ']'];
+                            productModel.distributionPrice = field['product[distributionPrice][' + i + ']'];
+                            productModel.distributionCutMoney = field['product[distributionCutMoney][' + i + ']'];
+                            productModel.cutMoney = field['product[cutMoney][' + i + ']'];
                             products.push(productModel);
+                            
                         }
                         //浼氬憳浠锋牸妯″瀷
                         var gradePrice = [];

--
Gitblit v1.9.1