why.xingtongworld.com项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

544 lines
24 KiB

{extend name="admin@public/base" /}
{block name="main-content"}
<style>
.btn{
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
text-decoration: none;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
}
a.btn:hover{
background-color: #3366b7;
}
.progress{
margin-top:2px;
width: 200px;
height: 14px;
margin-bottom: 10px;
overflow: hidden;
background-color: #f5f5f5;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
}
.progress-bar{
background-color: rgb(92, 184, 92);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.14902) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.14902) 50%, rgba(255, 255, 255, 0.14902) 75%, transparent 75%, transparent);
background-size: 40px 40px;
box-shadow: rgba(0, 0, 0, 0.14902) 0px -1px 0px 0px inset;
box-sizing: border-box;
color: rgb(255, 255, 255);
display: block;
float: left;
font-size: 12px;
height: 20px;
line-height: 20px;
text-align: center;
transition-delay: 0s;
transition-duration: 0.6s;
transition-property: width;
transition-timing-function: ease;
width: 266.188px;
}
</style>
<div class="page-content">
<!--主题-->
<div class="page-header">
<h1>
您当前操作
<small>
<i class="ace-icon fa fa-angle-double-right"></i>
修改
</small>
</h1>
</div>
<div class="row">
<div class="col-xs-12">
<form class="form-horizontal ajaxForm2" name="form0" method="post" action="{:url('admin/'.$controller.'/'.$table_name.'_edit',['cid'=>$n_cid,'kind'=>$n_kind,'page'=>$page])}" enctype="multipart/form-data">
<input type="hidden" name="id" id="id" value="{$list.id}" />
<input type="hidden" name="cid" id="cid" value="{$n_cid}" />
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 标的名称: </label>
<div class="col-sm-10">
<input type="text" name="title" value="{$list.title}" class="col-xs-10 col-sm-6" required/>
<span class="help-inline col-xs-12 col-sm-7">
<span class="middle" id="resone"></span>
</span>
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 标的类别: </label>
<div class="col-sm-10">
<select id="kind" name="kind" class="col-sm-2">
<option value="">请选择产品分类</option>
{foreach name="types" item="jo"}
<option disabled >{$jo.name}</option>
{foreach name="jo['childs']" item="vo" key="k"}
<option value="{$vo.id}" {if condition="$list['kind'] eq $vo['id']"}selected='selected'{/if} >&nbsp;├─{$vo.type_name}</option>
{/foreach}
{/foreach}
</select>
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 作者: </label>
<div class="col-sm-10">
<input type="text" name="author" value="{$list.author}" class="col-xs-10 col-sm-6" />
</div>
</div>
<div class="space-4"></div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 标的尺寸: </label>
<div class="col-sm-10">
<textarea name="size" class="col-xs-10 col-sm-6" maxlength="200">{$list.size}</textarea>
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 作品重量: </label>
<div class="col-sm-10">
<input type="text" name="weight" value="{$list.weight}" class="col-xs-10 col-sm-6" />
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 起拍价: </label>
<div class="col-sm-10">
<input type="text" name="price" value="{$list.price}" class="col-xs-10 col-sm-6" />
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 市场估价: </label>
<div class="col-sm-10">
<input type="text" name="gprice" value="{$list.gprice}" class="col-xs-10 col-sm-6" />
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1">视频地址 : </label>
<div class="col-sm-10">
<input type="hidden" name="video" id="video" value="{$list.video}" />
{if condition="$list['video']"}<p><a href="{$list.video}" target="_blank">{$list.video}</a></p>{/if}
<div id="ossfile">你的浏览器不支持flash,Silverlight或者HTML5!</div>
<div id="container">
<a id="selectfiles" href="javascript:void(0);" class='btn'>选择文件</a>
<a id="postfiles" href="javascript:void(0);" class='btn'>开始上传</a>
</div>
<div id="console"></div>
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 标的编号 : </label>
<div class="col-sm-10">
<input type="text" name="code" value="{$list.code}" class="col-xs-10 col-sm-6" />
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 标的风格 : </label>
<div class="col-sm-10">
<input type="text" name="style" value="{$list.style}" class="col-xs-10 col-sm-6" />
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 年代 : </label>
<div class="col-sm-10">
<input type="text" name="year" value="{$list.year}" class="col-xs-10 col-sm-6" />
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 简介: </label>
<div class="col-sm-9">
<textarea name="description" class="col-xs-10 col-sm-7" maxlength="200">{$list.description}</textarea>
<label class="input_last">已限制在200个字以内</label>
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 标的题材 : </label>
<div class="col-sm-10">
<input type="text" name="topic" value="{$list.topic}" class="col-xs-10 col-sm-6" />
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 标的材质 : </label>
<div class="col-sm-10">
<input type="text" name="material" value="{$list.material}" class="col-xs-10 col-sm-6" />
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 溯源簿下载 : </label>
<div class="col-sm-10">
<input type="text" name="link" value="{$list.link}" class="col-xs-10 col-sm-6" />
</div>
</div>
{notempty name="has_img"}
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 封面图片上传: </label>
<div class="col-sm-10">
<input type="hidden" name="checkpic" id="checkpic" value="{$list.poster}" />
<input type="hidden" name="oldcheckpic" id="oldcheckpic" value="{$list.poster}" />
<a href="javascript:;" class="file" title="点击选择所要上传的图片">
<input type="file" name="pic_one[]" id="file0" multiple="multiple"/>
选择上传文件
</a>
<span class="lbl">&nbsp;&nbsp;<img src="{$list.poster|get_imgurl}" height="70" id="img0" ></span>&nbsp;&nbsp;<a href="javascript:;" onclick="return backpic('{$list.poster|get_imgurl}');" title="还原修改前的图片" class="file">
撤销修改
</a>
<span class="lbl">&nbsp;&nbsp;建议宽高比例7:10,建议最小像素尺寸560x800px</span>
</div>
</div>
{/notempty}
{notempty name="has_img"}
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 上链地址二维码: </label>
<div class="col-sm-10">
<input type="hidden" name="checkpic" id="checkpic" value="{$list.xcode}" />
<input type="hidden" name="oldcheckpic" id="oldcheckpic" value="{$list.xcode}" />
<a href="javascript:;" class="file" title="点击选择所要上传的图片">
<input type="file" name="pic_one2[]" id="file1" multiple="multiple"/>
选择上传文件
</a>
<span class="lbl">&nbsp;&nbsp;<img src="{$list.xcode|get_imgurl}" height="70" id="img1" ></span>&nbsp;&nbsp;<a href="javascript:;" onclick="return backpic('{$list.xcode|get_imgurl}');" title="还原修改前的图片" class="file">
撤销修改
</a>
<span class="lbl">&nbsp;&nbsp;上传前先用PS处理成等比例图片后上传,默认比例100*70、600*420、800*560像素<br />
</span>
</div>
</div>
{/notempty}
{notempty name="has_imgs"}
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 多图图集: </label>
<div class="col-sm-10">
<label>
<span class="btn btn-minier btn-success" data-toggle="modal" data-target="#myModal">查看已上传的图片</span>
</label>
</div>
</div>
<div class="space-4"></div>
<link href="__PUBLIC__/ppy/css/fileinput.css" media="all" rel="stylesheet" type="text/css" />
<script src="__PUBLIC__/ppy/js/fileinput.js" type="text/javascript"></script>
<script src="__PUBLIC__/ppy/js/fileinput_locale_zh.js" type="text/javascript"></script>
<div class="form-group" id="pic_list">
<div class="col-sm-10 col-sm-offset-2" style="padding-top:5px;">
<input id="file-5" name="pic_all[]" type="file" class="file" multiple data-preview-file-type="any" data-upload-url="#" data-preview-file-icon=""><br />
</div>
</div>
<div class="space-4"></div>
<!--老多图字符串-->
<input name="pic_oldlist" type="hidden" id="pic_oldlist" type="text" size="130" value="{$list.photos}" >
{/notempty}
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 是否审核: </label>
<div class="col-sm-10" style="padding-top:5px;">
<input name='status' {if condition="$list['status'] eq 1"}checked{/if} value='1' class='ace ace-switch ace-switch-4 btn-flat' type='checkbox' />
<span class="lbl">&nbsp;&nbsp;默认关闭</span>
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 排序(从小到大): </label>
<div class="col-sm-10">
<input type="text" name="sort" value="{$list['sort']|default=50}" class="col-xs-10 col-sm-1" />
</div>
</div>
<div class="space-4"></div>
<div class="clearfix form-actions">
<div class="col-md-offset-3 col-md-9">
<button class="btn btn-info" type="submit">
<i class="ace-icon fa fa-check bigger-110"></i>
保存
</button>
&nbsp; &nbsp; &nbsp;
<button class="btn" type="reset">
<i class="ace-icon fa fa-undo bigger-110"></i>
重置
</button>
</div>
</div>
</div>
</form>
</div>
{notempty name="has_imgs"}
<!-- 显示模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" style="width:80%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true">×
</button>
<h4 class="modal-title" id="myModalLabel">
操作已上传的多图
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<div class="col-sm-10">
<ul>
{volist name="pic_list" id="v"}
<div class="file-preview-frame" data-fileindex="0" id="id{$i}">
<img src="{$v|get_imgurl}" class="file-preview-image" style="width:auto;height:160px;">
<div class="file-thumbnail-footer">
<div class="file-actions">
<div class="file-footer-buttons">
<a class="red" href="javascript:;" onclick="return delall({$i},'{$v}');" title="回收站">
<i class="ace-icon fa fa-trash-o bigger-130"></i>
</a>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
{/volist}
</ul>
</div>
</div>
<div class="space-4"></div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-primary">
若想取消修改,请刷新当前页面
</button>
<button type="button" class="btn btn-default" data-dismiss="modal">
关闭
</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
{/notempty}
</div>
<script type="text/javascript" src="__PUBLIC__/plupload-2.1.2/js/plupload.full.min.js"></script>
<script>
$(function(){
accessid = ''
accesskey = ''
host = ''
policyBase64 = ''
signature = ''
callbackbody = ''
filename = ''
key = ''
expire = 0
g_object_name = ''
now = timestamp = Date.parse(new Date()) / 1000;
function send_request(){
var xmlhttp = null;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else if (window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null){
// serverUrl是 用户获取 '签名和Policy' 等信息的应用服务器的URL,请将下面的IP和Port配置为您自己的真实信息。
serverUrl ="{:url('aliinfo',['dir'=>'wangpai'])}"
xmlhttp.open( "GET", serverUrl, false );
xmlhttp.send( null );
return xmlhttp.responseText
}else{
alert("Your browser does not support XMLHTTP.");
}
};
function get_signature(){
// 可以判断当前expire是否超过了当前时间, 如果超过了当前时间, 就重新取一下,3s 作为缓冲。
now = timestamp = Date.parse(new Date()) / 1000;
if (expire < now + 3){
body = send_request()
var obj = eval ("(" + body + ")");
host = obj['host']
policyBase64 = obj['policy']
accessid = obj['accessid']
signature = obj['signature']
expire = parseInt(obj['expire'])
callbackbody = obj['callback']
key = obj['dir']
return true;
}
return false;
};
function random_string(len) {
len=len||32;
  var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
  var maxPos = chars.length;
  var pwd = '';
  for (i = 0; i < len; i++) {
  pwd += chars.charAt(Math.floor(Math.random() * maxPos));
}
return pwd;
}
function get_suffix(filename) {
pos = filename.lastIndexOf('.')
suffix = ''
if (pos != -1) {
suffix = filename.substring(pos)
}
return suffix;
}
function calculate_object_name(filename){
suffix = get_suffix(filename)
g_object_name = key + random_string(10) + suffix
return ''
}
function set_upload_param(up, filename, ret){
if (ret == false){
ret = get_signature()
}
g_object_name = key;
if (filename != '') { suffix = get_suffix(filename)
calculate_object_name(filename)
}
new_multipart_params = {
'key' : g_object_name,
'policy': policyBase64,
'OSSAccessKeyId': accessid,
'success_action_status' : '200', //让服务端返回200,不然,默认会返回204
'callback' : callbackbody,
'signature': signature,
};
up.setOption({'url': host,'multipart_params': new_multipart_params});
up.start();
}
var uploader = new plupload.Uploader({
runtimes : 'html5,flash,silverlight,html4',
browse_button : 'selectfiles',
//multi_selection: false,
container: document.getElementById('container'),
flash_swf_url : '__PUBLIC__/plupload-2.1.2/js/Moxie.swf',
silverlight_xap_url : '__PUBLIC__/plupload-2.1.2/js/Moxie.xap',
url : 'http://oss.aliyuncs.com',
filters: {
mime_types : [ //只允许上传图片和zip文件
{title: "files", extensions: "mpg,m4v,mp4,flv,3gp,mov,avi,rmvb,mkv,wmv"}
],
max_file_size : '50mb', //最大只能上传10mb的文件
prevent_duplicates : true //不允许选取重复文件
},
init: {
PostInit: function() {
document.getElementById('ossfile').innerHTML = '';
document.getElementById('postfiles').onclick = function() {
set_upload_param(uploader, '', false);
return false;
};
},
FilesAdded: function(up, files) {
plupload.each(files, function(file) {
document.getElementById('ossfile').innerHTML += '<div id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ')<b></b>'
+'<div class="progress"><div class="progress-bar" style="width: 0%"></div></div>'
+'</div>';
});
},
BeforeUpload: function(up, file) {
set_upload_param(up, file.name, true);
},
UploadProgress: function(up, file) {
var d = document.getElementById(file.id);
d.getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
var prog = d.getElementsByTagName('div')[0];
var progBar = prog.getElementsByTagName('div')[0]
progBar.style.width= 2*file.percent+'px';
progBar.setAttribute('aria-valuenow', file.percent);
},
FileUploaded: function(up, file, info) {
if (info.status == 200){
document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = 'upload to oss success';
console.log(info.response);
if(typeof info.response!='undefined'){
var response=info.response;
response = eval ("(" + response + ")");
var data=response.data;
console.log(data);
var filename=data['endpoint']+'/'+data['filename'];
$("#video").val(filename);
}
}else if (info.status == 203){
document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '上传到OSS成功,但是oss访问用户设置的上传回调服务器失败,失败原因是:' + info.response;
}else{
document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = info.response;
}
},
Error: function(up, err) {
if (err.code == -600) {
document.getElementById('console').appendChild(document.createTextNode("\n选择的文件太大了,可以根据应用情况,在upload.js 设置一下上传的最大大小"));
}else if (err.code == -601) {
document.getElementById('console').appendChild(document.createTextNode("\n选择的文件后缀不对,可以根据应用情况,在upload.js进行设置可允许的上传文件类型"));
}else if (err.code == -602) {
document.getElementById('console').appendChild(document.createTextNode("\n这个文件已经上传过一遍了"));
}else{
document.getElementById('console').appendChild(document.createTextNode("\nError xml:" + err.response));
}
}
}
});
uploader.init();
});
</script>
{/block}