sgj
2025-12-29 c7fcb7f2763ea83db7611575af90824bd24c7338
收储公司、库区、仓库页面交互调整
已修改3个文件
164 ■■■■ 文件已修改
fzzy-igdss-view/src/main/java/com/fzzy/igds/Company.view.xml 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/Depot.view.xml 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/Dept.view.xml 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/Company.view.xml
@@ -210,30 +210,31 @@
* 查看详情
* @param {String/Number} manualId 手动传入的id值(可选)
*/
detail = function(manualId){
    // 优先使用手动传入的id,没有则走原有选中行逻辑
    var id = manualId;
    if(!id){
        var cur = view.get("#dgMain").get("selection");
        if(cur){
            id = cur.get("id");
        }
    }
    
    // 有id则打开详情页,否则提示
    if(id){
        var url = "/com.fzzy.igds.Dept.d?parentId="+ id;
        window.$openTab("库区管理", url);
    }else{
        $notify("请先选择收储公司……");
    }
detail = function(){
    var cur = view.get("#dgMain").get("selection");
     if (cur) {
        var id = cur.get("id");
        var url = "/com.fzzy.igds.Dept.d?parentId=" + id;
        window.$openTab("库区管理", url);
    }else {
        $notify("请先选择数据……");
    }   
   
};

showDlg=function(){
    var select = view.get("#dgMain").get("selection");
    if(select){
        view.get("#dialogMain").show();;
    }else{
         $notify("请先选择数据……");
    }
};

renderId = function(arg){
    var txt = arg.data.getText("id");
    if(!txt) return true;
    // 关键修改:点击时把txt作为参数传给detail方法(注意转义双引号)
    var htm = "<a href='javascript:;' onClick='detail(\""+txt+"\")' >"+txt+"</a>";
    var htm = "<a href='javascript:;' onClick='showDlg()' >"+txt+"</a>";
    arg.dom.innerHTML = htm;
}</ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
@@ -321,6 +322,14 @@
          <Property name="align">center</Property>
          <Property name="width">160</Property>
        </DataColumn>
        <DataColumn>
          <ClientEvent name="onRenderCell">arg.dom.innerHTML = &quot;&lt;a href='javascript:;' onClick='detail()' class='a-btn1'>查看详情&lt;/a>&quot;;</ClientEvent>
          <Property name="width">160</Property>
          <Property name="caption">操作</Property>
          <Property name="align">center</Property>
          <Property name="width">120</Property>
          <Editor/>
        </DataColumn>
      </DataGrid>
    </Container>
    <Dialog id="dialogMain">
fzzy-igdss-view/src/main/java/com/fzzy/igds/Depot.view.xml
@@ -16,37 +16,33 @@
    </DataType>
  </Model>
  <View layout="padding:10">
    <ClientEvent name="onReady">// start 通过库区id来加载仓储数据&#xD;
/**&#xD;
 * 通用工具函数:获取URL中的指定参数值&#xD;
 * @param {String} name 要获取的参数名&#xD;
 * @returns {String/null} 参数值(无则返回null)&#xD;
 */&#xD;
function getUrlParam(name) {&#xD;
    // 解析URL的查询字符串(?后面的部分)&#xD;
    var search = window.location.search.substring(1);&#xD;
    // 分割成键值对数组&#xD;
    var params = search.split(&quot;&amp;&quot;);&#xD;
    for (var i = 0; i &lt; params.length; i++) {&#xD;
        var pair = params[i].split(&quot;=&quot;);&#xD;
        // 解码参数值(处理中文/特殊字符)&#xD;
        if (decodeURIComponent(pair[0]) === name) {&#xD;
            return decodeURIComponent(pair[1] || &quot;&quot;);&#xD;
        }&#xD;
    }&#xD;
    return null;&#xD;
};  &#xD;
&#xD;
&#xD;
    <ClientEvent name="onReady">&#xD;
&#xD;
/**&#xD;
 * 查询&#xD;
 */&#xD;
query = function(){&#xD;
    //通过库区id来加载仓储数据&#xD;
    var parentId = getUrlParam(&quot;parentId&quot;);&#xD;
    var parentId = &quot;${request.getParameter('parentId')}&quot;;&#xD;
    view.get(&quot;#dataSetdepot&quot;).set(&quot;parameter&quot;,{parentId: parentId}).flushAsync();&#xD;
};&#xD;query();&#xD;
&#xD;
&#xD;
showDlg=function(){&#xD;
    var select = view.get(&quot;#dataGridDepot&quot;).get(&quot;selection&quot;);&#xD;
    if(select){&#xD;
        view.get(&quot;#depotdialog&quot;).show();;&#xD;
    }else{&#xD;
         $notify(&quot;请先选择数据……&quot;);&#xD;
    }&#xD;
};&#xD;
&#xD;
renderId = function(arg){&#xD;
    var txt = arg.data.getText(&quot;id&quot;);&#xD;
    if(!txt) return true;&#xD;
    var htm = &quot;&lt;a href='javascript:;' onClick='showDlg()' >&quot;+txt+&quot;&lt;/a>&quot;;&#xD;
    arg.dom.innerHTML = htm;&#xD;
}&#xD;
&#xD;
</ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
@@ -125,6 +121,7 @@
        <RowSelectorColumn/>
        <RowNumColumn/>
        <DataColumn name="id">
          <ClientEvent name="onRenderCell">renderId(arg);</ClientEvent>
          <Property name="property">id</Property>
          <Property name="align">center</Property>
          <Property name="width">120</Property>
fzzy-igdss-view/src/main/java/com/fzzy/igds/Dept.view.xml
@@ -149,64 +149,40 @@
      view.get(&quot;#dialogImg&quot;).show();&#xD;
      &#xD;
      };</ClientEvent>
    <ClientEvent name="onReady">&#xD;
// start 通过收储公司id来加载库区数据&#xD;
/**&#xD;
 * 通用工具函数:获取URL中的指定参数值&#xD;
 * @param {String} name 要获取的参数名&#xD;
 * @returns {String/null} 参数值(无则返回null)&#xD;
 */&#xD;
function getUrlParam(name) {&#xD;
    // 解析URL的查询字符串(?后面的部分)&#xD;
    var search = window.location.search.substring(1);&#xD;
    // 分割成键值对数组&#xD;
    var params = search.split(&quot;&amp;&quot;);&#xD;
    for (var i = 0; i &lt; params.length; i++) {&#xD;
        var pair = params[i].split(&quot;=&quot;);&#xD;
        // 解码参数值(处理中文/特殊字符)&#xD;
        if (decodeURIComponent(pair[0]) === name) {&#xD;
            return decodeURIComponent(pair[1] || &quot;&quot;);&#xD;
        }&#xD;
    }&#xD;
    return null;&#xD;
};&#xD;
&#xD;
var parentId = getUrlParam(&quot;parentId&quot;);&#xD;
console.log(&quot;parentId&quot;,parentId);&#xD;
    <ClientEvent name="onReady">var parentId = &quot;${request.getParameter('parentId')}&quot;;&#xD;
view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,{parentId: parentId}).flushAsync();&#xD;
//end   &#xD;
&#xD;
/**&#xD;
* 查看详情&#xD;
* @param {String/Number} manualId 手动传入的id值(可选)&#xD;
*/&#xD;
detail = function(manualId){&#xD;
    // 优先使用手动传入的id,没有则走原有选中行逻辑&#xD;
    var id = manualId;&#xD;
    if(!id){&#xD;
        var cur = view.get(&quot;#dgMain&quot;).get(&quot;selection&quot;);&#xD;
        if(cur){&#xD;
            id = cur.get(&quot;id&quot;);&#xD;
        }&#xD;
    }&#xD;
    &#xD;
    // 有id则打开详情页,否则提示&#xD;
    if(id){&#xD;
detail = function(){&#xD;
     var cur = view.get(&quot;#dgMain&quot;).get(&quot;selection&quot;);&#xD;
     if (cur) {&#xD;
        var id = cur.get(&quot;id&quot;);&#xD;
        var url = &quot;/com.fzzy.igds.Depot.d?parentId=&quot;+ id;&#xD;
        window.$openTab(&quot;仓库管理&quot;, url);&#xD;
    }else{&#xD;
        $notify(&quot;请先选择库区……&quot;);&#xD;
    }&#xD;
        window.$openTab(&quot;库区管理&quot;, url);&#xD;
    }else {&#xD;
        $notify(&quot;请先选择数据……&quot;);&#xD;
    }  &#xD;
};&#xD;
&#xD;
&#xD;
showDlg=function(){&#xD;
    var select = view.get(&quot;#dgMain&quot;).get(&quot;selection&quot;);&#xD;
    if(select){&#xD;
        view.get(&quot;#dialogMain&quot;).show();;&#xD;
    }else{&#xD;
         $notify(&quot;请先选择数据……&quot;);&#xD;
    }&#xD;
};&#xD;
&#xD;
renderId = function(arg){&#xD;
    var txt = arg.data.getText(&quot;id&quot;);&#xD;
    if(!txt) return true;&#xD;
    // 关键修改:点击时把txt作为参数传给detail方法(注意转义双引号)&#xD;
    var htm = &quot;&lt;a href='javascript:;' onClick='detail(\&quot;&quot;+txt+&quot;\&quot;)' >&quot;+txt+&quot;&lt;/a>&quot;;&#xD;
    var htm = &quot;&lt;a href='javascript:;' onClick='showDlg()' >&quot;+txt+&quot;&lt;/a>&quot;;&#xD;
    arg.dom.innerHTML = htm;&#xD;
}&#xD;
</ClientEvent>
}</ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataProvider">deptPR#getData</Property>
@@ -282,6 +258,14 @@
          <Property name="align">center</Property>
          <Property name="width">160</Property>
        </DataColumn>
        <DataColumn>
          <ClientEvent name="onRenderCell">arg.dom.innerHTML = &quot;&lt;a href='javascript:;' onClick='detail()' class='a-btn1'>查看详情&lt;/a>&quot;;</ClientEvent>
          <Property name="width">160</Property>
          <Property name="caption">操作</Property>
          <Property name="align">center</Property>
          <Property name="width">120</Property>
          <Editor/>
        </DataColumn>
      </DataGrid>
    </Container>
    <Dialog id="dialogMain">