jh-admin/addon/supply/shop/view/goodsevaluate/evaluate_again.html

326 lines
7.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{extend name="base"/}
{block name="resources"}
<!-- <link rel="stylesheet" href="SHOP_SUPPLY_LOCAL_CSS/order.css"> -->
{/block}
{block name="body"}
<style>
.evaluate{width: 100%;background: #ffffff;padding: 0 20px;box-sizing: border-box;}
.goods-list{
width: 100%;
height: 100%;
display: flex;
border-bottom: 1px solid #eeeeee;
padding: 20px 0;
}
.goods-list .goods-image-content{
width: 200px;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
padding-top: 11px;
}
.goods-list .goods-image{
width: 125px;
height: 125px;
object-fit: cover;
}
.goods-list .goods-name{
width: 125px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
line-height: 25px;
margin: 10px 0 0;
}
.goods-list .goods-price{
width: 125px;
text-align: center;
}
.goods-evaluate-box{
flex: 1;
height: 100%;
}
.goods-evaluate-scores{
display: flex;
align-items: center;
}
.explain_type{
margin-left: 30px;
}
.explain_type .good{
color: #ff547b;
}
.evaluate-text{
margin-top: 10px;
width: 100%;
height: 140px;
border-radius: 5px;
background: #ffffff;
padding: 10px;
box-sizing: border-box;
border: 1px solid #DCDFE6;
}
.upload-image-list{
width: 100%;
margin-top: 10px;
display: flex;
flex-wrap: wrap;
}
.upload-image-li{
width: 80px;
height: 80px;
border: 1px dashed #c0ccda;
margin-right: 10px;
border-radius: 5px;
cursor: pointer;
margin-bottom: 10px;
}
.upload-image-li.add{
text-align: center;
line-height: 80px;
font-size: 40px;
color: #8c939d;
}
.upload-image-li-box{
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.upload-image-li-box .delete{
font-size: 20px;
position: absolute;
right: -10px;
top: -10px;
color: #CCCCCC;
}
.upload-image-li img{
width: 100%;
height: 100%;
object-fit: cover;
}
.shop-rate{
width: 100%;
padding: 20px 0;
padding-left: 220px;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: space-between;
background: #ffffff;
}
.shop-name{
font-size: 16px;
font-weight: 600;
}
.shop-service{
display: flex;
align-items: center;
}
.shop-desc{
display: flex;
align-items: center;
}
.shop-attitude{
display: flex;
align-items: center;
}
.save-box{
width: 100%;
padding-left: 200px;
}
.save{
width: 70px;
height: 35px;
border-radius: 8px;
background: #ff547b;
text-align: center;
line-height: 35px;
color: #ffffff;
cursor: pointer;
}
</style>
<!-- 顶部html文件-->
<div class="ns-supply-wrap">
<div class="ns-supply-wrap-con">
{include file="addon/supply/shop/view/market_head.html"/}
<div class="ns-supply-order">
<div class="order-menu">
<ul class="layui-nav layui-nav-tree" lay-filter="test">
<li class="layui-nav-item layui-nav-itemed">
<a href="javascript:;">交易中心</a>
<dl class="layui-nav-child">
<dd class="layui-this"><a href="{:addon_url('supply://shop/order/lists')}">我的订单</a></dd>
<dd><a href="{:addon_url('supply://shop/orderrefund/lists')}">退款/售后</a></dd>
<dd><a href="{:addon_url('supply://shop/purchase/purchase')}">我的求购单</a></dd>
</dl>
</li>
</ul>
</div>
<div class="order-list" id="evaluate">
<div class="order-list-title">订单评价</div>
<div class="evaluate">
{foreach $detail.list as $key=>$v}
<div class="goods-list">
<div class="goods-image-content">
<img src={:img($v.sku_image)} onerror="this.src='SHOP_SUPPLY_LOCAL_IMG/default_goods.png'" class="goods-image">
<div class="goods-name" title="{$v.sku_name}">
{$v.sku_name}
</div>
<div class="goods-price">
¥{$v.price}
</div>
</div>
<div class="goods-evaluate-box">
<div class="evaluate-text-box">
<textarea class="evaluate-text" autocomplete="off" onchange="change({$key})" rows="5" placeholder="请在此处输入您的评价"
maxlength="200" class="el-textarea__inner" style="min-height: 33px;"></textarea>
</div>
<div class="upload-image-list">
<div class="upload-image-li add ns-upload-default uploadImage" data-num="{$key}">
<div class="upload-image-li-box">
+
</div>
</div>
</div>
<div class="picture-number">
总共6张还可以上传6张
</div>
</div>
</div>
{/foreach}
</div>
<div class="shop-rate">
<div class="save-box">
<div class="save" onclick="save()">
提交
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{/block}
{block name="script"}
<script src="__STATIC__/js/vue.js"></script>
<script>
/*
explain_type:
*/
let data = JSON.parse('{:json_encode($detail, JSON_UNESCAPED_UNICODE)}');
function change(e){
data.list[e].again_content=$("textarea")[e].value.trim()
};
//绑定评分
layui.use(['upload','rate'], function(){
var rate = layui.rate;
var upload = layui.upload;
upload.render({
elem: '.uploadImage',
url: '{:addon_url("shop/upload/image")}', //必填项
number: 6,
multiple:true,
done: function(res, index, upload){
//获取当前触发上传的元素,一般用于 elem 绑定 class 的情况,注意:此乃 layui 2.1.0 新增
let key=Number(this.item.attr("data-num"));
if(data.list[key].goodsImgs&&data.list[key].goodsImgs.length>=6) return;
if(data.list[key].goodsImgs){
data.list[key].goodsImgs.push(res.data.pic_path)
}else{
let arr=[];
arr.push(res.data.pic_path);
data.list[key].goodsImgs=arr;
}
showImage(key)
}
})
});
//图片被修改过之后,刷新图片
function showImage(index){
console.log(data)
$($('.upload-image-list')[index]).find(".add-img").remove();
let list=data.list[index].goodsImgs;
console.log(list)
if(list){
let html="";
for (var i = 0; i < list.length; i++) {
console.log(ns.img(list[i]))
html+="<div class='upload-image-li add-img'><div class='upload-image-li-box'>"
html+="<img src='" + ns.img(list[i]) + "'>"
html+="<i class='delete iconfont iconcuo' onclick='deleteImage("+ index +',' + i +")'></i>"
html+="</div></div>"
}
$('.upload-image-list').eq(index).append(html);
let text="总共6张还可以上传"+ (6-list.length) +"张"
$('.picture-number').eq(index).text(text);
}
}
//删除图片
function deleteImage(e,f){
let arr=data.list[e].goodsImgs;
arr.splice(f,1)
data.list[e].goodsImgs=arr;
showImage(e);
}
//保存
function save(){
for(let i=0;i<data.list.length;i++){
if(!data.list[i].again_content||!data.list[i].again_content.trim()){
layer.msg('评价不能为空');
return;
}
if(data.list[i].again_images){
data.list[i].again_images=data.list[i].goodsImgs.toString()
}else{
data.list[i].again_images=""
}
}
let newData={
order_id: data.list[0].order_id,
order_no: data.list[0].order_no,
isEvaluate:1,
goods_evaluate:JSON.stringify(data.list)
}
$.ajax({
type: "POST",
url: "{:addon_url('supply://shop/Goodsevaluate/again')}",
data: newData,
dataType: "JSON",
success: function(res) {
if(checkLogin(res)) {
if (res.code == 0) {
layer.msg('评价成功', {
anim: 5,
time: 1000
}, function () {
location.href = ns.url("supply://shop/order/lists")
})
} else {
layer.msg(res.message);
}
}
}
});
}
</script>
{/block}