فهرست منبع

装集客项目更新

lijiangwei 4 سال پیش
والد
کامیت
00f60abc67
2فایلهای تغییر یافته به همراه121 افزوده شده و 58 حذف شده
  1. 109 57
      uis/views/employee/edit.html
  2. 12 1
      uis/views/employee/index.html

+ 109 - 57
uis/views/employee/edit.html

@@ -26,7 +26,6 @@
                 <div class="layui-card-body">
                     <form class="layui-form" action="" lay-filter="component-form-element">
                         <div class="layui-row layui-col-space10 layui-form-item">
-
                             <div class="layui-col-lg6">
                                 <label class="layui-form-label"><font color='red' size="4">*</font>姓名:</label>
                                 <div class="layui-input-block">
@@ -77,34 +76,28 @@
                                 </div>
                             </div>
                             <div class="layui-col-lg6">
-                                <div class="layui-col-lg6">
-                                    <label class="layui-form-label"><font color='red' size="4">*</font>总代理:</label>
-                                    <div class="layui-input-block">
-                                        <select id="id_general" name="general_agent" lay-verify="required">
-                                            <option value="">选择总代理</option>
-                                        </select>
-                                    </div>
+                                <label class="layui-form-label"><font color='red' size="4">*</font>总代理:</label>
+                                <div class="layui-input-block">
+                                    <select id="id_general" name="general_agent" lay-verify="required" lay-filter="onGeneralAgentChange">
+                                        <option value="">请选择总代理</option>
+                                    </select>
                                 </div>
                             </div>
                             <div class="layui-col-lg6">
-                                <div class="layui-col-lg6">
-                                    <label class="layui-form-label">代理商:</label>
-                                    <div class="layui-input-block">
-                                        <select id="id_agents" name="agent"
-                                                lay-filter="onAgentChange">
-                                            <option value="">选择代理商</option>
-                                        </select>
-                                    </div>
+                                <label class="layui-form-label">代理商:</label>
+                                <div class="layui-input-block">
+                                    <select id="id_agents" name="agent"
+                                            lay-filter="onAgentChange">
+                                           <option value="">请选择代理商</option>
+                                    </select>
                                 </div>
                             </div>
                             <div class="layui-col-lg6">
-                                <div class="layui-col-lg6">
-                                    <label class="layui-form-label">门店:</label>
-                                    <div class="layui-input-block">
-                                        <select id="id_stores" name="store" lay-search="">
-                                            <option value="">选择门店</option>
-                                        </select>
-                                    </div>
+                                <label class="layui-form-label">门店:</label>
+                                <div class="layui-input-block">
+                                    <select id="id_stores" name="store" lay-search="">
+                                        <option value="">请选择门店</option>
+                                    </select>
                                 </div>
                             </div>
 
@@ -154,17 +147,21 @@
         form.val("component-form-element", {
             'password': '1111'
         });
-        var loadData = function () {
+        var loadData = function (agents, stores) {
             if (id) {
                 var editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
-                form.val("component-form-element", editdata);
+                //渲染select
+                renderSelect(agents, stores, editdata.general_agent, editdata.agent);
                 form.val("component-form-element", {
                     'password': ''
                 });
+                form.val("component-form-element", editdata);
             }
         }
         form.render(null, 'component-form-element');
-        async function getDict(){
+
+        //获取字典
+        function getDict(val){
             return new Promise((resolve, reject)=>{
                 admin.req({
                     url: '/agent/dict/',
@@ -172,43 +169,99 @@
                         var general_agents = res.data.general_agents;
                         var agents = res.data.agents;
                         var stores = res.data.stores;
-                        //代理商下拉框更新
-                        // var agents_node = $('#id_agents');
-                        // for (var i in agents) {
-                        //     var pid = agents[i].id;
-                        //     var agents_value = agents[i].name;
-                        //     agents_node.append("<option value='" + pid + "'>" + agents_value + "</option>");
-                        // }
-                        //总代理下拉框更新
-                        var general_node = $('#id_general');
-                        for (var i in general_agents) {
-                            var pid = general_agents[i].id;
-                            var general_agents_value = general_agents[i].name;
-                            general_node.append("<option value='" + pid + "'>" + general_agents_value + "</option>");
+                        if(val === 'firstRender'){
+                             //总代理下拉框更新
+                            var general_node = $('#id_general');
+                            for (var i in general_agents) {
+                                var pid = general_agents[i].id;
+                                var general_agents_value = general_agents[i].name;
+                                general_node.append("<option value='" + pid + "'>" + general_agents_value + "</option>");
+                            }
+                            form.render();
+                            loadData(agents, stores);
                         }
-                        form.render();
-                        loadData();
+                        var tempObj = {};
+                        tempObj['agents'] = agents;
+                        tempObj['stores'] = stores;
+                        //async函数调用成功的回调
+                        resolve(tempObj);
                     }
                 });
             })
         }
+        //渲染选择框(修改的时候执行)
+        function renderSelect(agents, stores, general_id, agent_id){
+            var agents_node = $('#id_agents');
+            var optionsHtml = "<option value=\"\">请选择代理商</option>";
+            if(agents && agents.length > 0){
+                agents.forEach(item=>{
+                    if(parseInt(general_id) === item['general_agent_id']){
+                        var pid = item.id;
+                        var agents_value = item.name;
+                        optionsHtml += "<option value='" + pid + "'>" + agents_value + "</option>\n";
+                    }
+                });
+                agents_node.html(optionsHtml);
+            }
+            var stores_node = $('#id_stores');
+            var optionsStoresHtml = "<option value=\"\">请选择门店</option>";
+            if(stores && stores.length > 0){
+                stores.forEach(item=>{
+                    if(parseInt(agent_id) === item['agent_id']){
+                        var pid = item.id;
+                        var agents_value = item.name;
+                        optionsStoresHtml += "<option value='" + pid + "'>" + agents_value + "</option>\n";
+                    }
+                });
+                stores_node.html(optionsStoresHtml);
+            }
+            form.render();
+        };
         //页面初次加载渲染页面
-        getDict();
-        //选择代理商
-        form.on('select(onAgentChange)', function (data) {
+        getDict('firstRender');
 
+        // 选择总代理
+        form.on('select(onGeneralAgentChange)', async function (data) {
+            //清空门店选择
+            var stores_node = $('#id_stores');
+            var optionsStoreHtml = "<option value=\"\">请选择门店</option>";
+            stores_node.html(optionsStoreHtml);
+            let general_id = data.value;
+            let obj = await getDict();
+            let agentList = obj['agents'];
+            var agents_node = $('#id_agents');
+            var optionsHtml = "<option value=\"\">请选择代理商</option>";
+            if(agentList && agentList.length > 0){
+                agentList.forEach(item=>{
+                    if(parseInt(general_id) === item['general_agent_id']){
+                        var pid = item.id;
+                        var agents_value = item.name;
+                        optionsHtml += "<option value='" + pid + "'>" + agents_value + "</option>\n";
+                    }
+                });
+                agents_node.html(optionsHtml);
+                form.render();
+            }
+        });
+        //选择代理商
+        form.on('select(onAgentChange)', async function (data) {
+            let agent_id = data.value;
+            let obj = await getDict();
+            let storesList = obj['stores'];
+            var stores_node = $('#id_stores');
+            if(storesList && storesList.length > 0){
+                var optionsHtml = "<option value=\"\">请选择门店</option>";
+                storesList.forEach(item=>{
+                    if(parseInt(agent_id) === item['agent_id']){
+                        var pid = item.id;
+                        var agents_value = item.name;
+                        optionsHtml += "<option value='" + pid + "'>" + agents_value + "</option>\n";
+                    }
+                });
+                stores_node.html(optionsHtml);
+                form.render();
+            }
         });
-        // var onAgentChange = function (value) {
-        //     var store_node = $('#id_stores');
-        //     for (var i in stores) {
-        //         var pid = stores[i].id;
-        //         var stores_value = stores[i].name;
-        //         if (pid == value) {
-        //             store_node.append("<option value='" + pid + "'>" + stores_value + "</option>");
-        //         }
-        //     }
-        //     form.render();
-        // }
         formSelects.config('selectGroup', {
             beforeSuccess: function (eid, url, searchVal, result) {
                 if (id) {
@@ -243,8 +296,7 @@
                 , data: data.field
                 , type: type
                 , done: function (res) {
-                    parent.layer.closeAll('iframe');
-                    parent.layui.table.reload('datagrid', {});
+                    parent.layui.onSubmitChild(res);
                 }
             });
             return false;

+ 12 - 1
uis/views/employee/index.html

@@ -137,6 +137,13 @@
                     area: ['50%', '80%'],
                     btn: ['保存', '取消'],
                     yes: function (index, dom) {
+                        layui.onSubmitChild = function (res) {
+                            if (res.code === 0) {
+                                layer.msg('修改成功!', {icon: 1})
+                            }
+                            layer.close(index);
+                            table.reload('datagrid', {});
+                        };
                         layui.submitChild();
                     },
                     btn2: function (index, layero) {
@@ -203,10 +210,14 @@
                 area: ['550px', '80%'],
                 btn: ['保存', '取消'],
                 yes: function (index, dom) {
-                    layui.onSubmitChild = function (data) {
+                    layui.onSubmitChild = function (res) {
+                        if (res.code === 0) {
+                            layer.msg('添加成功!', {icon: 1})
+                        }
                         layer.close(index);
                         table.reload('datagrid', {});
                     };
+                    layui.submitChild();
                 },
                 btn2: function (index, layero) {
                     layer.close(index);//关闭当前按钮