作者 李涵

合并分支 'xv' 到 'master'

Xv



查看合并请求 !6
... ... @@ -191,6 +191,186 @@ class ZjGoodsController extends AdminBaseController
}
}
/**
* 编辑商品
*/
public function edit(){
if ($this->request->param()){
$param=input('param.id');
$one=Db::name('zj_goods')->alias('g')->join('zj_category c','g.cid=c.id')->join('zj_category ca','c.cid=ca.id')
->where('g.id',$param)->field('g.*,c.name as cname,ca.name as caname,ca.id as caid')->find();
$cate=Db::name('zj_category')->where('delete_time','0')->field('id,name,grade,cid')->select();
foreach ($cate as $k=>$v){
if ($v['grade']==1){
$cate1[$k]=$v;
}else{
$cate2[$k]=$v;
}
}
$cate2=array_merge($cate2);
$cate1=array_merge($cate1);
$this->assign('one',$one);
$this->assign('cate3',$cate1);
$this->assign('cate4',$cate2);
return $this->fetch();
}
}
/**
* 编辑商品提交
*/
public function editPost(){
if ($this->request->param()){
$param=input('param.');
//检查商品详情是否为空
if (empty($param['content'])){
$this->error('商品详情不能为空');
}
//检查商品的价格是否为小数
if (strpos($param['price_cash'],'.')||strpos($param['price'],'.')||strpos($param['price_num'],'.')){
$this->error('商品金额、积分、单价为整数');
}
//检查商品缩略图
if (empty($param['thumb'])){
$this->error('请添加商品缩略图');
}
//检查图片轮播图图片数量并转json
if (empty($param['photo_urls'])){
$this->error('请至少上传1张商品轮播图');
}elseif (!empty($param['photo_urls']['5'])){
$this->error('最多上传五张商品轮播图','',$param);
}else{
foreach ($param['photo_urls'] as $k=>$v){
$param['more'][$k]=['url'=>$v,'name'=>$param['photo_names'][$k]];
}
unset($param['photo_names']);
unset($param['photo_urls']);
$param['more']=json_encode($param['more']);
}
//检查商品的一级分类
if ($param['cate']==2){
if (empty($param['is_type'])){
$this->error('请选择组合支付方式');
}
//判断组合支付方式
if ($param['is_type']==2){
if ($param['price_num']!=0){
$this->error('最低金额选项的商品积分应为‘0’');
}
if ($param['price_cash']>=$param['price']){
$this->error('商品单价应大于商品金额');
}
}else if ($param['is_type']==1){
if ($param['price']!=$param['price_cash']+$param['price_num']){
$this->error('商品积分+商品金额=商品价格');
}
}else{
$this->error('组合支付方式出现未知错误'.$param['is_type']);
}
}else{
//属性赋值
$param['price_cash']='0';
$param['price_num']='0';
$param['is_type']='0';
}
//检查商品的价格是否大于等于0
if ($param['price']<0||$param['price_num']<0||$param['price_cash']<0){
$this->error('商品金额、商品积分、商品单价应大于等于0');
}
$param['content']=htmlspecialchars(cmf_replace_content_file_url(htmlspecialchars_decode($param['content'])));
unset($param['cate']);
$add=Db::name('zj_goods')->update($param);
if (empty($add)){
$this->error('编辑保存失败','',$param);
}else{
$this->success('编辑保存成功');
}
}
}
/**
* 删除商品
*/
public function delete(){
if ($this->request->param()){
$param=input('param.id');
$del=Db::name('zj_goods')->update(['id'=>$param,'delete_time'=>time()]);
if (empty($del)){
$this->error('删除失败');
}else{
$this->success('删除成功');
}
}
}
/**
* 商品评论
*/
public function eva(){
if ($this->request->param()){
$param=input('param.');
$where['e.gid']=$param['id'];
$where['e.delete_time']=0;
if (!empty($param['zt'])){
if ($param['zt']==1){
$where['e.is_sta']=1;
}elseif ($param['zt']==2){
$where['e.is_sta']=2;
}elseif ($param['zt']==3){
$where['e.is_shove']=2;
}elseif ($param['zt']==4){
$where['e.is_shove']=1;
}
}
if (!empty($param['rank'])){
$where['e.rank']=$param['rank'];
}
$one=Db::name('zj_goods')->where('id',$param['id'])->find();
$all=Db::name('zj_evaluate')->alias('e')->join('user u','e.uid=u.id')->where($where)
->field('e.*,u.user_nickname as nickname,u.mobile')->order('create_time','desc')->paginate(20);
$all->appends($param);
$this->assign('rank',!empty($param['rank'])?$param['rank']:'');
$this->assign('zt',!empty($param['zt'])?$param['zt']:'');
$this->assign('id',$param['id']);
$this->assign('page',$all->render());
$this->assign('all',$all->items());
$this->assign('one',$one);
return $this->fetch();
}
}
/**
* 评论状态修改
*/
public function evaState(){
if ($this->request->isAjax()){
$param=input('param.');
$edit=Db::name('zj_evaluate')->update($param);
if (empty($edit)){
$this->error('评价状态修改失败');
}else{
$this->success('评价状态修改成功');
}
}
}
/**
* 删除评论
*/
public function evaDelete(){
if ($this->request->param()){
$param=input('param.id');
$del=Db::name('zj_evaluate')->update(['id'=>$param,'delete_time'=>time()]);
if (empty($del)){
$this->error('删除失败');
}else{
$this->success('删除成功');
}
}
}
/**
* 商品分类列表
... ...
... ... @@ -10,7 +10,7 @@
// [ 入口文件 ]
// 调试模式开关
define("APP_DEBUG", false);
define("APP_DEBUG", true);
// 定义CMF根目录,可更改此目录
define('CMF_ROOT', __DIR__ . '/../');
... ...
... ... @@ -237,7 +237,6 @@
//$('<span class="tips_error">' + data.msg + '</span>').appendTo($btn.parent()).fadeIn('fast');
$btn.removeProp('disabled').removeClass('disabled');
console.log(data)
new Noty({
text: data.msg,
type: 'error',
... ...
... ... @@ -34,15 +34,10 @@
</div>
</div>
<div class="form-group">
<label for="name"><span class="form-required">*</span>商品简介</label>
<div>
<input type="text" name="intro" maxlength="50" class="form-control" placeholder="请输入简介" required>
</div>
</div>
<div class="form-group">
<label><span class="form-required">*</span>一级分类</label>
<div>
<select class="form-control" name="cate" id="classo" onchange="teacherChange(this.options[this.selectedIndex].value)">
<select class="form-control" name="cate" id="classo" required onchange="teacherChange(this.options[this.selectedIndex].value)">
<option value>选择一级分类</option>
<foreach name="cate3" item="vo">
<option value="{$vo.id}">{$vo.name}</option>
</foreach>
... ... @@ -52,14 +47,19 @@
<div class="form-group">
<label><span class="form-required">*</span>二级分类</label>
<div>
<select name="cid" class="form-control" id="classobj">
<foreach name="cate4" item="vo">
<option value="{$vo.id}">{$vo.name}</option>
</foreach>
<select name="cid" class="form-control" required id="classobj">
<option value>选择二级分类</option>
</select>
</div>
</div>
<div class="form-group">
<label for="name"><span class="form-required">*</span>商品简介</label>
<div>
<textarea class="form-control" name="intro" required
placeholder="请输入简介(最多50字)" maxlength="50"></textarea>
</div>
</div>
<div class="form-group">
<label for="name"><span class="form-required">*</span>商品详情</label>
<div>
<script type="text/plain" id="content" name="content"></script>
... ... @@ -151,13 +151,14 @@
function teacherChange(area){
var tobj=document.getElementById('classobj');
removeAllOptions(tobj);
var option0 = document.createElement("option");
option0.text = '选择二级分类';
option0.value = '';
tobj.add(option0);
if (area==2){
$(".price").css('display','block')
$("#xx").css('display','block')
}else if (area==3){
$(".price").css('display','none')
$("#xx").css('display','none')
}else if (area==1){
}else{
$(".price").css('display','none')
$("#xx").css('display','none')
}
... ... @@ -167,11 +168,6 @@
option.text = ar1[m]['name'];
option.value = ar1[m]['id'];
tobj.add(option);
}else if(area==''){
var option = document.createElement("option");
option.text = ar1[m]['name'];
option.value = ar1[m]['id'];
tobj.add(option);
}
}
}
... ...
... ... @@ -20,55 +20,61 @@
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('index')}">商品列表</a></li>
<li class="active"><a href="{:url('add')}">添加商品</a></li>
<li><a href="{:url('add')}">添加商品</a></li>
<li class="active"><a href="javascript:;">编辑商品</a></li>
</ul>
<div class="row margin-top-20">
<form class="js-ajax-form" action="{:url('addPost')}" method="post">
<form class="js-ajax-form" action="{:url('editPost')}" method="post">
<div class="col-md-7">
<div class="tab-content">
<div class="tab-pane active" id="A">
<div class="form-group">
<label for="name"><span class="form-required">*</span>商品名称</label>
<div>
<input type="text" class="form-control" placeholder="请输入名称" id="name" name="name" maxlength="30" required>
<input type="text" class="form-control" placeholder="请输入名称" value="{$one.name}" id="name" name="name" maxlength="30" required>
</div>
</div>
<div class="form-group">
<label for="name"><span class="form-required">*</span>商品简介</label>
<label><span class="form-required">*</span>一级分类</label>
<div>
<input type="text" name="intro" maxlength="50" class="form-control" placeholder="请输入简介" required>
<foreach name="cate3" item="vo">
<if condition="$vo.id eq $one.caid">
<input type="hidden" name="cate" value="{$vo.id}">
<input type="text" value="{$vo.name}" readonly unselectable="on" class="form-control">
</if>
</foreach>
</div>
</div>
<div class="form-group">
<label><span class="form-required">*</span>级分类</label>
<label><span class="form-required">*</span>级分类</label>
<div>
<select class="form-control" name="cate" id="classo" onchange="teacherChange(this.options[this.selectedIndex].value)">
<foreach name="cate3" item="vo">
<option value="{$vo.id}">{$vo.name}</option>
<select name="cid" class="form-control" required id="classobj">
<foreach name="cate4" item="vo">
<if condition="$vo.cid eq $one.caid">
<option value="{$vo.id}" <eq name="$one.cid" value="$vo.id"> selected </eq>>{$vo.name}</option>
</if>
</foreach>
</select>
</div>
</div>
<div class="form-group">
<label><span class="form-required">*</span>二级分类</label>
<label for="name"><span class="form-required">*</span>商品简介</label>
<div>
<select name="cid" class="form-control" id="classobj">
<foreach name="cate4" item="vo">
<option value="{$vo.id}">{$vo.name}</option>
</foreach>
</select>
<textarea class="form-control" name="intro" required
placeholder="请输入简介(最多50字)" maxlength="50">{$one.intro}</textarea>
</div>
</div>
<div class="form-group">
<label for="name"><span class="form-required">*</span>商品详情</label>
<div>
<script type="text/plain" id="content" name="content"></script>
<script type="text/plain" id="content" name="content">{:cmf_replace_content_file_url(htmlspecialchars_decode($one.content))}</script>
</div>
</div>
</div>
</div>
<div class="form-group" style="text-align: right;">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('ADD')}</button>
<input type="hidden" name="id" value="{$one.id}">
<button type="submit" class="btn btn-primary js-ajax-submit">保存</button>
<a class="btn btn-default" href="{:url('category')}">{:lang('BACK')}</a>
</div>
</div>
... ... @@ -77,11 +83,17 @@
<label><span class="form-required">*</span>商品缩略图</label>
<div>
<div style="text-align: left;">
<input type="hidden" name="thumb" id="thumbnail" value="">
<input type="hidden" name="thumb" id="thumbnail" value="{$one.thumb}">
<a href="javascript:uploadOneImage('图片上传','#thumbnail');">
<img src="__TMPL__/public/assets/images/default-thumbnail.png"
id="thumbnail-preview"
width="135" style="cursor: pointer"/>
<if condition="empty($one.thumb)">
<img src="__TMPL__/public/assets/images/default-thumbnail.png"
id="thumbnail-preview"
width="135" style="cursor: pointer"/>
<else/>
<img src="{:cmf_get_image_preview_url($one.thumb)}"
id="thumbnail-preview"
width="135" style="cursor: pointer"/>
</if>
</a>
<input type="button" class="btn btn-sm btn-cancel-thumbnail" value="取消图片">
</div>
... ... @@ -90,33 +102,50 @@
<div class="form-group">
<label><span class="form-required">*</span>商品轮播图</label>
<div>
<ul id="photos" class="pic-list list-unstyled form-inline"></ul>
<ul id="photos" class="pic-list list-unstyled form-inline">
<foreach name=":json_decode($one.more,true)" item="vo">
<php>$img_url=cmf_get_image_preview_url($vo['url']);</php>
<li id="saved-image{$key}">
<input id="photo-{$key}" type="hidden" name="photo_urls[]"
value="{$vo.url}">
<input class="form-control" id="photo-{$key}-name" type="text"
name="photo_names[]"
value="{$vo.name|default=''}" style="width: 200px;" title="图片名称">
<img id="photo-{$key}-preview"
src="{:cmf_get_image_preview_url($vo['url'])}"
style="height:36px;width: 36px;"
onclick="parent.imagePreviewDialog(this.src);">
<a href="javascript:uploadOneImage('图片上传','#photo-{$key}');">替换</a>
<a href="javascript:(function(){$('#saved-image{$key}').remove();})();">移除</a>
</li>
</foreach>
</ul>
<a href="javascript:uploadMultiImage('图片上传','#photos','photos-item-tpl');"
class="btn btn-default btn-sm">选择图片</a>
</div>
</div>
<div class="form-group" id="xx" style="display: none">
<div class="form-group" id="xx" <if condition="$one.caid neq 2">style="display: none"</if>>
<label for="name"><span class="form-required">*</span>组合支付方式</label>
<div style="padding-left: 10px">
固定金额:<input type="radio" name="is_type" value="1" style="margin-right: 30px"> 最低金额:<input type="radio" name="is_type" value="2">
固定金额:<input type="radio" name="is_type" value="1" <eq name="$one.is_type" value="1">checked</eq> style="margin-right: 30px"> 最低金额:<input type="radio" <eq name="$one.is_type" value="2">checked</eq> name="is_type" value="2">
</div>
</div>
<div class="form-group price" style="display: none">
<div class="form-group price" <if condition="$one.caid neq 2">style="display: none"</if>>
<label for="name"><span class="form-required">*</span>商品金额</label>
<div>
<input type="number" name="price_cash" maxlength="50" class="form-control" placeholder="请输入金额" required>
<input type="number" name="price_cash" maxlength="50" value="{$one.price_cash}" class="form-control" placeholder="请输入金额" required>
</div>
</div>
<div class="form-group price" style="display: none">
<div class="form-group price" <if condition="$one.caid neq 2">style="display: none"</if>>
<label for="name"><span class="form-required">*</span>商品积分</label>
<div>
<input type="number" name="price_num" maxlength="50" class="form-control" placeholder="请输入积分(最低金额支付此项请填'0')" required>
<input type="number" name="price_num" maxlength="50" value="{$one.price_num}" class="form-control" placeholder="请输入积分(最低金额支付此项请填'0')" required>
</div>
</div>
<div class="form-group">
<label for="name"><span class="form-required">*</span>商品单价</label>
<div>
<input type="number" name="price" maxlength="50" class="form-control" placeholder="请输入单价" required>
<input type="number" name="price" maxlength="50" value="{$one.price}" class="form-control" placeholder="请输入单价" required>
</div>
</div>
</div>
... ... @@ -146,44 +175,40 @@
});
});
var ar1={:json_encode($cate4)};//后台传入服务名称
//当选择指向类时改变目标的下拉菜单
function teacherChange(area){
var tobj=document.getElementById('classobj');
removeAllOptions(tobj);
if (area==2){
$(".price").css('display','block')
$("#xx").css('display','block')
}else if (area==3){
$(".price").css('display','none')
$("#xx").css('display','none')
}else if (area==1){
$(".price").css('display','none')
$("#xx").css('display','none')
}
for(m=0;m<ar1.length;m++){
if (ar1[m]['cid']==area&&area!=''){
var option = document.createElement("option");
option.text = ar1[m]['name'];
option.value = ar1[m]['id'];
tobj.add(option);
}else if(area==''){
var option = document.createElement("option");
option.text = ar1[m]['name'];
option.value = ar1[m]['id'];
tobj.add(option);
}
}
}
//移除option 当中所有元素
function removeAllOptions(selectbox)
{
var i;
for(i=selectbox.options.length-1;i>=0;i--)
{
selectbox.remove(i);
}
}
// var ar1={:json_encode($cate4)};//后台传入服务名称
// //当选择指向类时改变目标的下拉菜单
// function teacherChange(area){
// var tobj=document.getElementById('classobj');
// removeAllOptions(tobj);
// var option0 = document.createElement("option");
// option0.text = '选择二级分类';
// option0.value = '';
// tobj.add(option0);
// if (area==2){
// $(".price").css('display','block')
// $("#xx").css('display','block')
// }else{
// $(".price").css('display','none')
// $("#xx").css('display','none')
// }
// for(m=0;m<ar1.length;m++){
// if (ar1[m]['cid']==area&&area!=''){
// var option = document.createElement("option");
// option.text = ar1[m]['name'];
// option.value = ar1[m]['id'];
// tobj.add(option);
// }
// }
// }
// //移除option 当中所有元素
// function removeAllOptions(selectbox)
// {
// var i;
// for(i=selectbox.options.length-1;i>=0;i--)
// {
// selectbox.remove(i);
// }
// }
</script>
</body>
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('index')}">商品列表</a></li>
<li><a href="{:url('add')}">添加商品</a></li>
<li class="active"><a href="javascript:;">商品评论</a></li>
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('eva')}">
评价级别:
<select name="rank" class="form-control" style="width: 120px;">
<option value>选择级别</option>
<option value="1" <eq name="$rank" value="1">selected</eq>>差评</option>
<option value="2" <eq name="$rank" value="2">selected</eq>>中评</option>
<option value="3" <eq name="$rank" value="3">selected</eq>>好评</option>
</select>
状态:
<select name="zt" class="form-control" style="width: 120px;">
<option value>选择状态</option>
<option value="1" <eq name="$zt" value="1">selected</eq>>隐藏</option>
<option value="2" <eq name="$zt" value="2">selected</eq>>显示</option>
<option value="3" <eq name="$zt" value="3">selected</eq>>置顶</option>
<option value="4" <eq name="$zt" value="4">selected</eq>>不置顶</option>
</select>
<input type="hidden" name="id" value="{$id}">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('eva',array('id'=>$id))}">清空</a>
</form>
<table class="table table-hover table-bordered" style="margin-top: 20px;margin: 20px 0px; border: 1px solid white;width: 30%;">
<tr>
<th style="width: 60px;">商品id</th>
<td style="width: 50px;">{$one.id}</td>
<th style="width: 50px;">名称</th>
<td>{$one.name}</td>
</tr>
</table>
<form method="post" class="js-ajax-form">
<table class="table table-hover table-bordered">
<thead>
<tr>
<th style="width: 60px;">用户id</th>
<th style="width: 100px;">用户名</th>
<th style="width: 100px;">手机号</th>
<th style="width: 50px;">评价</th>
<th>评价内容</th>
<th style="width: 130px;">图片</th>
<th style="width: 130px;">评价时间</th>
<th style="width: 130px;">状态</th>
<th style="width: 130px;">操作</th>
</tr>
</thead>
<tbody>
<foreach name="all" item="vo">
<tr>
<td>{$vo.uid}</td>
<td>{$vo.nickname}</td>
<td>{$vo.mobile}</td>
<td>
<if condition="$vo.rank eq 1">
差评
<elseif condition="$vo.rank eq 2">
中评
<elseif condition="$vo.rank eq 3">
好评
</if>
</td>
<td>{$vo.content}</td>
<td>
<if condition="$vo.more eq ''">
无图片
<else>
<foreach name=":json_decode($vo.more,true)" item="val">
<a href="javascript:parent.imagePreviewDialog('{:cmf_get_image_preview_url($val['url'])}');">
<i class="fa fa-photo fa-fw"></i>
</a>
</foreach>
</if>
</td>
<td>{:date('Y-m-d H:i',$vo.create_time)}</td>
<td>
<eq name="$vo.is_shove" value="1">
不置顶
<else>
置顶
</eq>
<eq name="$vo.is_sta" value="1">
隐藏
<else>
显示
</eq>
</td>
<td>
<eq name="$vo.is_shove" value="1">
<a href="{:url('evaState',array('id'=>$vo['id'],'is_shove'=>'2'))}" class="js-ajax-dialog-btn" data-msg="确定置顶该评论">置顶</a>
<else>
<a href="{:url('evaState',array('id'=>$vo['id'],'is_shove'=>'1'))}" class="js-ajax-dialog-btn" data-msg="确定取消置顶">不置顶</a>
</eq>
<eq name="$vo.is_sta" value="1">
<a href="{:url('evaState',array('id'=>$vo['id'],'is_sta'=>'2'))}" class="js-ajax-dialog-btn" data-msg="确定显示该评论">显示</a>
<else>
<a href="{:url('evaState',array('id'=>$vo['id'],'is_sta'=>'1'))}" class="js-ajax-dialog-btn" data-msg="确定隐藏该评论">隐藏</a>
</eq>
<a href="{:url('evaDelete',array('id'=>$vo['id']))}" class="js-ajax-delete">{:lang('DELETE')}</a>
</td>
</tr>
</foreach>
</tbody>
</table>
<div class="pagination">{$page}</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
... ... @@ -47,16 +47,17 @@
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>id</th>
<th style="width: 50px;">id</th>
<th>商品名称</th>
<th>一级分类</th>
<th>二级分类</th>
<th>添加时间</th>
<th>积分售价</th>
<th>金额售价</th>
<th>总价</th>
<th>商品状态</th>
<th style="width: 200px;">操作</th>
<th>商品简介</th>
<th style="width: 80px;">一级分类</th>
<th style="width: 80px;">二级分类</th>
<th style="width: 130px;">添加时间</th>
<th style="width: 130px;">积分售价</th>
<th style="width: 130px;">金额售价</th>
<th style="width: 50px;">总价</th>
<th style="width: 150px;">商品状态</th>
<th style="width: 260px;">操作</th>
</tr>
</thead>
<tbody>
... ... @@ -64,6 +65,7 @@
<tr>
<td>{$vo.id}</td>
<td>{$vo.name}</td>
<td>{$vo.intro}</td>
<td>{$vo.caname}</td>
<td>{$vo.cname}</td>
<td>{:date('Y-m-d H:i',$vo.create_time)}</td>
... ... @@ -109,6 +111,8 @@
<a href="{:url('state',array('id'=>$vo['id'],'is_sta'=>'1'))}" class="js-ajax-dialog-btn" data-msg="确定上架商品">上架</a>
</eq>
<a href="{:url('edit',array('id'=>$vo.id))}">编辑</a>
<a href="{:url('delete',array('id'=>$vo['id']))}" class="js-ajax-delete">{:lang('DELETE')}</a>
<a href="{:url('eva',array('id'=>$vo.id))}">查看评论</a>
</td>
</tr>
</foreach>
... ...
... ... @@ -232,7 +232,7 @@
<tr>
<th>快递公司</th>
<td>
<span>$one.kname</span>
<span>{$one.kname}</span>
</td>
</tr>
<tr>
... ...
... ... @@ -37,7 +37,7 @@
style="width: 140px;" autocomplete="off"> &nbsp; &nbsp;
<input type="hidden" name="uid" value="{$uid|default=''}">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('index')}">清空</a>
<a class="btn btn-danger" href="{:url('index',array('uid'=>$uid))}">清空</a>
</form>
<form method="post" class="js-ajax-form">
<table class="table table-hover table-bordered">
... ...
... ... @@ -64,7 +64,7 @@
data-msg="{:lang('BLOCK_USER_CONFIRM_MESSAGE')}">{:lang('BLOCK_USER')}</a>
</empty>
<a href="{:url('balance',array('id'=>$vo['id']))}">查看积分详情</a>
<a href="javascript:;">查看用户订单</a>
<a href="{:url('admin/zj_order/index',array('uid'=>$vo.id))}">查看用户订单</a>
<else/>
<a style="color: #ccc;">{:lang('BLOCK_USER')}</a>
</neq>
... ...