mirror of
https://gitee.com/ShopeX/OMS
synced 2026-04-02 21:55:50 +08:00
253 lines
10 KiB
HTML
253 lines
10 KiB
HTML
<!--
|
|
Copyright 2012-2026 ShopeX (https://www.shopex.cn)
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<{capture name="header"}>
|
|
<{css app='omeauto' src="style.css"}>
|
|
<{/capture}>
|
|
<style>
|
|
#dataNode ul li {width:140px; overflow: hidden; float: left; margin-bottom: 0px; font-size: 12px;}
|
|
#dataNode ul li span {cursor: pointer;}
|
|
#dataNode ul li input {cursor: pointer;}
|
|
#dataNode li {width:90px; overflow: hidden; float: left; margin-bottom: 10px; font-size: 12px; line-height: 20px;}
|
|
.current-set {color: red; font-weight: 700; cursor: pointer;}
|
|
.current-disabled , .current-disabled span {color: #DDDDDD; font-weight: 700; cursor:auto;}
|
|
#centent_tbl tr,#centent_tbl th, #centent_tbl td {padding-bottom: 5px;}
|
|
</style>
|
|
<form action="index.php?app=omeauto&ctl=autodispatch&act=do_add" method="post" id="dispatchform">
|
|
<div class="tableform">
|
|
<div class="division">
|
|
<table width="100%" cellspacing="0" cellpadding="0" id="centent_tbl">
|
|
<tbody>
|
|
<tr>
|
|
<th width="80"><label for="dispName">规则名称:</label></th>
|
|
<td><{input type="text&&required" name="name" id="dispName" value=$data.name}> (请使用通俗易懂的名称,如独立店规则、淘宝订单规则)</td>
|
|
</tr>
|
|
<tr>
|
|
<th><label for="dispMemo">规则描述:</label></th>
|
|
<td><textarea name="memo" id="dispMemo" cols="60" rows="4" class="x-input"><{$data.memo|escape}></textarea></td>
|
|
</tr>
|
|
<tr>
|
|
<th>选择运营组织:</th>
|
|
<td>
|
|
<select name='org_id' id="chose_org">
|
|
<{foreach from=$orgs item=item}>
|
|
<option value="<{$item.org_id}>" <{if $data.org_id == $item.org_id}>selected<{/if}> ><{$item.name}></option>
|
|
<{/foreach}>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th><label>选择订单分组:</label></th>
|
|
<td>
|
|
<div id="dataNode">
|
|
<ul id='ord_type'>
|
|
<{if $data.oid}>
|
|
<{foreach from=$orderType item=item}>
|
|
<li><input type="checkbox" name="config[autoOrders][]" value="<{$item.tid}>" id="autoOrder_<{$item.tid}>" <{if $item.tid|in_array:$data.config.autoOrders}>checked<{else}><{if $item.did || $data.defaulted=='true'}>disabled<{/if}><{/if}>/><label for="autoOrder_<{$item.tid}>"> <span title="<{$item.title}>"><{$item.name}></span></label></li>
|
|
<{/foreach}>
|
|
<{/if}>
|
|
</ul>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>分派订单确认组:</th>
|
|
<td>
|
|
<select id='group_id' name='group_id' onchange="getOp(this.value)">
|
|
<{if $data.oid}>
|
|
<{foreach from=$groups item=item}>
|
|
<option value="<{$item.group_id}>" <{if $data.group_id == $item.group_id}>selected<{/if}> ><{$item.name}></option>
|
|
<{/foreach}>
|
|
<{/if}>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>分派订单确认员:</th>
|
|
<td><select class=" x-input-select inputstyle" id='op_id' name='op_id'></select></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<{if $data.oid}><input type="hidden" name="oid" value="<{$data.oid}>"/><{/if}>
|
|
</div>
|
|
<div class="table-action">
|
|
<{button class="btn-primary" label="保存" type="button" id="saveCurrent"}>
|
|
<{button class="btn-primary" label="取消" type="button" id="cancelBtn"}>
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript">
|
|
|
|
window.addEvent('domready', function() {
|
|
|
|
|
|
var oid = $('dispatchform').getElement('input[name^=oid]');
|
|
|
|
//获取订单确认员列表
|
|
function getOp(group_id,selected_op_id){
|
|
if(group_id){
|
|
new Request.HTML({
|
|
url:'index.php?app=ome&ctl=admin_group&act=get_op&p[0]='+group_id+'&p[1]='+selected_op_id+'&p[2]=true',
|
|
update:$('op_id'),
|
|
onComplete:function(){
|
|
($('op_id').getElement('option[selected]') || $('op_id').getElement('option')).selected=true;
|
|
}
|
|
}).send();
|
|
}else{
|
|
$('op_id').empty();
|
|
}
|
|
}
|
|
|
|
$('chose_org').addEvent('change',function(){
|
|
new Request({
|
|
url:'index.php?app=omeauto&ctl=autodispatch&act=ajax_get_group&p[0]='+ this.value,
|
|
method:'post',
|
|
data:'oid='+oid,
|
|
onComplete:function(result){
|
|
res = JSON.decode(result);
|
|
groups = res.groups;
|
|
ordtypeinfo = res.ordTypeInfo;
|
|
var group_html = '';
|
|
var ordtype_html = '';
|
|
if(groups){
|
|
for(var key in groups){
|
|
if (typeof(groups[key]) == 'object'){
|
|
group_html +="<option value='"+groups[key].group_id+"'>"+res.groups[key].name+"</option>";
|
|
}
|
|
}
|
|
|
|
if(group_html){
|
|
$('group_id').set('html',group_html);
|
|
}else{
|
|
$('group_id').empty();
|
|
$('op_id').empty();
|
|
}
|
|
}
|
|
|
|
if(ordtypeinfo){
|
|
for(var key2 in ordtypeinfo){
|
|
if (typeof(ordtypeinfo[key2]) == 'object'){
|
|
ordtype_html += "<li><input type='checkbox' name='config[autoOrders][]' value='"+ordtypeinfo[key2].tid+"' id='autoOrder_"+ordtypeinfo[key2].tid+"' "+ordtypeinfo[key2].check+" "+ordtypeinfo[key2].disabled+" /><label for='autoOrder_"+ordtypeinfo[key2].tid+"'> <span title='"+ordtypeinfo[key2].title+"'>"+ordtypeinfo[key2].name+"</span></label></li>";
|
|
}
|
|
}
|
|
|
|
if(ordtype_html){
|
|
$('ord_type').set('html',ordtype_html);
|
|
}else{
|
|
$('ord_type').empty();
|
|
}
|
|
}
|
|
|
|
getOp($('group_id').value,"<{$data.op_id}>");
|
|
}
|
|
|
|
}).send();
|
|
});
|
|
|
|
if(!oid){
|
|
$('chose_org').fireEvent('change',{stop:$empty});
|
|
}else{
|
|
getOp($('group_id').value,"<{$data.op_id}>");
|
|
}
|
|
});
|
|
|
|
$('saveCurrent').getParents('form').removeEvents('submit').addEvent('submit', function(e) {
|
|
e.stop();
|
|
|
|
new Request ({
|
|
url:this.action,
|
|
onRequest:function(e){
|
|
//提交按钮:disabled
|
|
$('saveCurrent').set('disabled', 'true');
|
|
$('saveCurrent').getElements('span')[1].set('text','正在保存');
|
|
},
|
|
onComplete:function(result){
|
|
|
|
if (result != 'SUCC'){
|
|
//提交按钮:enabled
|
|
$('saveCurrent').set('disabled', '');
|
|
$('saveCurrent').getElements('span')[1].set('text','保存');
|
|
}else{
|
|
//提交按钮:disabled
|
|
finderGroup["<{$env.get.finder_id}>"].refresh.delay(400,finderGroup["<{$env.get.finder_id}>"]);
|
|
$('cancelBtn').getParent('.dialog').retrieve('instance').close();
|
|
//setTimeout("window.close()",500);
|
|
}
|
|
}
|
|
})[this.method](this);
|
|
});
|
|
|
|
//获取订单确认员列表
|
|
function getOp(group_id,selected_op_id){
|
|
if(group_id){
|
|
new Request.HTML({
|
|
url:'index.php?app=ome&ctl=admin_group&act=get_op&p[0]='+group_id+'&p[1]='+selected_op_id+'&p[2]=true',
|
|
update:$('op_id'),
|
|
onComplete:function(){
|
|
($('op_id').getElement('option[selected]') || $('op_id').getElement('option')).selected=true;
|
|
}
|
|
}).send();
|
|
}else{
|
|
$('op_id').empty();
|
|
}
|
|
}
|
|
|
|
//保存按钮
|
|
$('saveCurrent').addEvent('click', function() {
|
|
//检查规则名称
|
|
var aName = $('dispName').value.trim();
|
|
if (aName == '') {
|
|
alert("请输入规则名称,使用通俗易懂的名字,如独立店规则、淘宝订单规则。");
|
|
return;
|
|
}
|
|
//检查对应订单类型
|
|
var aHasOrder = false;
|
|
$$('#dataNode input[type=checkbox]').each(function(item){
|
|
if (item.checked) {
|
|
aHasOrder = true;
|
|
}
|
|
});
|
|
if (!aHasOrder) {
|
|
//alert("你必须要选择对应使用本规则的订单分组,请仔细勾选后再试。");
|
|
//return;
|
|
}
|
|
|
|
$('saveCurrent').getParents('form').fireEvent('submit', {
|
|
stop: function(){
|
|
}
|
|
});
|
|
});
|
|
|
|
//关闭按钮
|
|
$('cancelBtn').addEvent('click', function(){
|
|
$('cancelBtn').getParent('.dialog').retrieve('instance').close();
|
|
});
|
|
|
|
//选择订单标红
|
|
$$('#dataNode input[type=checkbox]').addEvent('click',function(item){
|
|
this.blur();
|
|
this.getParent()[this.checked?'addClass':'removeClass']('current-set');
|
|
});
|
|
$$('#dataNode input[type=checkbox]').each(function(item){
|
|
if (item.get('disabled')) {
|
|
item.getParent()['addClass']('current-disabled');
|
|
} else {
|
|
item.blur();
|
|
item.getParent()[item.checked?'addClass':'removeClass']('current-set');
|
|
}
|
|
});
|
|
</script>
|