Wayne 3 years ago
parent 00a74d21fb
commit 8b4d1667e4

@ -587,26 +587,6 @@ const dialogPrintVisible = ref(false);
const dialogPrintAddrVisible = ref(false);
const handleOp = async (op) => {
if (op === "prepare") {
// if (op === "prepare") {
// router.push({ path: "/printcard", query: { order_sn: orderInfo.value.order_sn } });
// openPrintCard(orderInfo.value.order_sn);
dialogPrintCardVisible.value = true;
// }
let res = await updateOrderAction({
op,
order_id: orderInfo.value.order_id,
action_note: orderInfo.value.action_note,
});
if (res.code == 200) {
if (op === "remove") {
router.push({ path: "/list" });
} else {
getOrder(order_id);
}
}
} else {
console.log('op', op)
ElMessageBox.confirm("確認" + opName[op] + "?", "訂單操作", {})
.then(async () => {
@ -626,7 +606,6 @@ const handleOp = async (op) => {
.catch(() => {
return;
});
}
return;
};

@ -1,5 +1,10 @@
*{
font-size: 16px;
box-sizing: border-box;
}
body{
font-size: 14px;
font-size: 16px;
}
.main {
@ -49,3 +54,7 @@ body{
.el-card__body {
color: #909399;
}
:root{
// --el-pagination-font-size-small: 16px;
}

@ -41,7 +41,6 @@
<el-table-column prop="consignee" label="收貨人" />
<el-table-column prop="order_amount" label="訂單金額" width="100" />
<el-table-column prop="pay_name" label="金流方式" />
<el-table-column prop="shipping_name" label="物流方式" />
<el-table-column label="訂單狀態" width="200">
<template #default="scope">
<div v-html="scope.row.status">
@ -70,7 +69,6 @@
v-model:current-page="page"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100]"
small="small"
layout="->,total, sizes, prev, pager, next, jumper"
:total="total"
/>

@ -28,6 +28,7 @@ class Order extends ApiController
}
}
$do = Db::name('order_info')
->alias('o')
->leftjoin('users u', 'u.user_id=o.user_id')

@ -0,0 +1,15 @@
<?php
namespace app\appapi\controller\v1;
use app\appapi\ApiController;
use think\facade\Db;
class Fds extends ApiController
{
public function list(){
$order = Db::name('order_info')
->select();
return $this->success($order);
}
}

@ -1,4 +1,5 @@
<?php
namespace app\appapi\controller\v1;
use app\appapi\ApiController;
@ -8,57 +9,74 @@ use app\common\Goods as GoodsBusiness;
class Goods extends ApiController
{
public function getGoods(){
public function getGoods()
{
$id = input('id');
$res=Db::name('goods')
->where('goods_id',$id)
$res = Db::name('goods')
->where('goods_id', $id)
->find();
if(!$res){
if (!$res) {
return $this->Error('錯誤請求');
}
$res['goods_img'] = getUrl().'/'.$res['goods_img'];
$res['original_img'] = getUrl().'/'.$res['original_img'];
$res['goods_img'] = getUrl() . '/' . $res['goods_img'];
$res['original_img'] = getUrl() . '/' . $res['original_img'];
// 商品圖片
$goods_gallery=Db::name('goods_gallery')
->where('goods_id',$id)
$goods_gallery = Db::name('goods_gallery')
->where('goods_id', $id)
->select();
foreach($goods_gallery as $key => $val){
$res['goods_gallery'][$key]['img_url'] = getUrl()."/".$val['img_url'];
foreach ($goods_gallery as $key => $val) {
$res['goods_gallery'][$key]['img_url'] = getUrl() . "/" . $val['img_url'];
}
$res['goods_attr'] = GoodsBusiness::get_goods_properties($id);
//更新產品點擊數
Db::name('goods')->where('goods_id',$id)->inc('click_count')->update();
Db::name('goods')->where('goods_id', $id)->inc('click_count')->update();
// return $this->Success($ads);
return $this->Success($res);
}
public function getGoodsByCate(){
public function getGoodsByCate()
{
$cat_id = input('cat_id');
$result = Db::name('goods')
->where('cat_id',$cat_id)
->where('goods_id','>',1)
->where('is_on_sale',1)
->where('cat_id', $cat_id)
->where('goods_id', '>', 1)
->where('is_on_sale', 1)
->select()
->toArray();
foreach($result as $key => $val){
$result[$key]['goods_thumb'] = getUrl().'/'.$val['goods_thumb'];
foreach ($result as $key => $val) {
$result[$key]['goods_thumb'] = getUrl() . '/' . $val['goods_thumb'];
// 商品圖片
if (intval($val['goods_type']) > 0) {
$result[$key]['goods_attr'] = GoodsBusiness::get_goods_properties($val['goods_id']);
}
$goods_gallery = Db::name('goods_gallery')
->where('goods_id', $val['goods_id'])
->select();
foreach ($goods_gallery as $key1 => $val1) {
$result[$key]['goods_gallery'][$key1]['img_url'] = getUrl() . "/" . $val1['img_url'];
}
}
return $this->Success($result);
}
public function getCategory(){
public function getCategory()
{
$result = Db::name('category')
->where('is_show',1)
->where('is_show', 1)
->select();
return $this->Success($result);

@ -0,0 +1,35 @@
<?php
namespace app\appapi\controller\v1;
use app\appapi\ApiController;
use think\facade\Db;
use app\common\Goods as GoodsBusiness;
class Pos extends ApiController
{
public function getCategoryList(){
$rtn = Db::name('category')->select();
return $this->success($rtn);
}
public function getGoodsByCate(){
$id=input('id');
if($id==0){
$rtn = Db::name('goods')->where('is_hot',1)->select()->toArray();
}else{
$rtn = Db::name('goods')->where('cat_id',$id)->select()->toArray();
}
foreach($rtn as $k=>$v){
if(intval($v['goods_type'])>0){
$attr = GoodsBusiness::get_goods_properties($v['goods_id']);
$rtn[$k]['goods_attr']=$attr;
}
}
return $this->success($rtn);
}
}

@ -35,11 +35,12 @@ class Goods
$row['attr_value'] = str_replace("\n", '<br />', $row['attr_value']);
if ($row['attr_type'] == 0) {
$group = (isset($groups[$row['attr_group']])) ? $groups[$row['attr_group']] : $GLOBALS['_LANG']['goods_attr'];
$group = (isset($groups[$row['attr_group']])) ? $groups[$row['attr_group']] : '商品屬性';
$arr['pro'][$group][$row['attr_id']]['name'] = $row['attr_name'];
$arr['pro'][$group][$row['attr_id']]['value'] = $row['attr_value'];
} else {
$arr['spe'][$row['attr_id']]['attr_id'] = $row['attr_id'];
$arr['spe'][$row['attr_id']]['attr_type'] = $row['attr_type'];
$arr['spe'][$row['attr_id']]['name'] = $row['attr_name'];
$arr['spe'][$row['attr_id']]['values'][] = array(

@ -0,0 +1 @@
import"./base-a9e1396c.js";import{E as y}from"./el-card-8d51e25c.js";import{a as z}from"./el-select-448a2068.js";import"./el-input-03ddc19a.js";import{E as k,a as w}from"./el-table-column-434c4a4c.js";import{E as T}from"./el-button-4f2e1711.js";import{E as C}from"./el-page-header-98396acf.js";import{a as D,E as M}from"./el-breadcrumb-item-594a11b8.js";import{g as N,d as P}from"./affiliate-2786f83c.js";/* empty css */import"./el-overlay-27e164ea.js";/* empty css */import{E as S}from"./index-bf92c153.js";import{E as i}from"./index-bd490e64.js";import{m as r,s as V,v as A,y as e,w as t,x as c,o as I,z as m}from"./normalize-8daa80b1.js";import"./config-provider-ecb8405d.js";import"./aria-fbed35f0.js";import"./strings-4a84079a.js";import"./validator-9be52df0.js";import"./request-ce1488f3.js";import"./axios-4a70c6fc.js";import"./vnode-cca0b0eb.js";import"./index-6156c07c.js";const L={class:"main"},U=c("span",{class:"text-large font-600 mr-3"}," 推薦列表 ",-1),j=c("hr",null,null,-1),H={class:"pagination-block"},ue={__name:"Index",setup($){const u=r([]),_=r(0),s=r(1),p=r(10),d=async()=>{const a=await N({page:s.value,pageSize:p.value});a.code===200&&(u.value=a.data.data,_.value=a.data.total)};V(()=>{d()});const g=a=>{S.confirm("此操作將永久刪除該推薦記錄, 是否繼續?","提示",{confirmButtonText:"確定",cancelButtonText:"取消",type:"warning"}).then(async()=>{const o=await P(a.log_id);return o.code===200?(d(),i.success("刪除成功")):i.error(o.msg)}).catch(()=>{i({type:"info",message:"已取消刪除"})})};return(a,o)=>{const f=D,b=M,E=C,l=k,v=T,B=w,x=z,h=y;return I(),A("div",L,[e(E,{icon:null,title:" ",onBack:a.onBack},{breadcrumb:t(()=>[e(b,{separator:"/"},{default:t(()=>[e(f,null,{default:t(()=>[m(" 電商管理中心 ")]),_:1}),e(f,null,{default:t(()=>[m("推薦列表")]),_:1})]),_:1})]),content:t(()=>[U]),_:1},8,["onBack"]),j,e(h,null,{default:t(()=>[e(B,{data:u.value,style:{width:"100%"}},{default:t(()=>[e(l,{prop:"order_sn",label:"訂單號"}),e(l,{prop:"user_name",label:"會員名稱"}),e(l,{prop:"order_amount",label:"訂單金額"}),e(l,{prop:"money",label:"分潤金額"}),e(l,{prop:"time",label:"時間"}),e(l,{label:"操作",width:"100"},{default:t(n=>[e(v,{size:"small",type:"danger",onClick:q=>g(n.row)},{default:t(()=>[m("刪除")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"]),c("div",H,[e(x,{"current-page":s.value,"onUpdate:currentPage":o[0]||(o[0]=n=>s.value=n),"page-size":p.value,"onUpdate:pageSize":o[1]||(o[1]=n=>p.value=n),"page-sizes":[10,20,50,100],small:"small",layout:"->,total, sizes, prev, pager, next, jumper",total:_.value},null,8,["current-page","page-size","total"])])]),_:1})])}}};export{ue as default};

@ -0,0 +1 @@
import{f as F,E as S}from"./base-a9e1396c.js";import{a as A,E as N}from"./el-form-item-f65c5879.js";import{E as L}from"./el-button-4f2e1711.js";import{E as D}from"./el-input-03ddc19a.js";import{E as H,a as M}from"./el-radio-1bab0451.js";import{E as R}from"./el-page-header-98396acf.js";import{a as z,E as G}from"./el-breadcrumb-item-594a11b8.js";import{a as J,s as K}from"./affiliate-2786f83c.js";/* empty css */import{_ as P}from"./_plugin-vue_export-helper-c27b6911.js";import{E as c}from"./index-bd490e64.js";import{m as T,s as $,v as f,y as l,w as e,o as _,z as n,J as E,a as j,x as a,K as q,I as h,B as O,C as Q,A as W,e as X}from"./normalize-8daa80b1.js";import"./config-provider-ecb8405d.js";import"./aria-fbed35f0.js";import"./request-ce1488f3.js";import"./axios-4a70c6fc.js";const b=u=>(O("data-v-280a3de6"),u=u(),Q(),u),Y={class:"main"},Z=b(()=>a("span",{class:"text-large font-600 mr-3"}," 推薦設置 ",-1)),ee=b(()=>a("hr",null,null,-1)),le={class:"list-div"},oe={class:"level-op-btn"},ae={class:"table table-borderd"},te=b(()=>a("tr",null,[a("th",null,"級別"),a("th",null,"現金分成(%)"),a("th",null,"積分分成(%)"),a("th",null,"操作")],-1)),ne={__name:"Info",setup(u){const o=T({on:"1",config:{separator_type:"1",expire:"24",expire_unit:"hour",level_money_all:"0",level_point_all:"0",level_register_all:"0",level_register_up:"0"},item:[]});$(async()=>{let s=await J();s.code===200?o.value=s.data:c.error("讀取推薦設定失敗")});const I=()=>{o.value.item.push({level_money:"0",level_point:"0"})},x=s=>{o.value.item.splice(s,1),c.success("刪除成功")},k=async()=>{(await K(o.value)).code===200?c.success("設定成功"):c.error("設定失敗")};return(s,r)=>{const V=z,B=G,C=R,m=H,y=M,d=N,p=D,g=L,U=S,w=A;return _(),f("div",Y,[l(C,{icon:null,title:" ",onBack:s.onBack},{breadcrumb:e(()=>[l(B,{separator:"/"},{default:e(()=>[l(V,null,{default:e(()=>[n(" 電商管理中心 ")]),_:1}),l(V,null,{default:e(()=>[n("推薦設置")]),_:1})]),_:1})]),content:e(()=>[Z]),_:1},8,["onBack"]),ee,l(w,{model:o.value,"label-width":"120px"},{default:e(()=>[l(d,{label:"是否開啟推薦"},{default:e(()=>[l(y,{modelValue:o.value.on,"onUpdate:modelValue":r[0]||(r[0]=t=>o.value.on=t)},{default:e(()=>[l(m,{label:"1"},{default:e(()=>[n("開啟")]),_:1}),l(m,{label:"0"},{default:e(()=>[n("關閉")]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.value.on==="1"?(_(),f(E,{key:0},[l(d,{label:"分成方式"},{default:e(()=>[l(y,{modelValue:o.value.config.separator_type,"onUpdate:modelValue":r[1]||(r[1]=t=>o.value.config.separator_type=t)},{default:e(()=>[l(m,{label:"1"},{default:e(()=>[n("推薦註冊分成")]),_:1}),l(m,{label:"2"},{default:e(()=>[n("推薦訂單分成")]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"推薦時效"},{default:e(()=>[l(p,{modelValue:o.value.config.expire,"onUpdate:modelValue":r[2]||(r[2]=t=>o.value.config.expire=t),placeholder:""},{append:e(()=>[n("Hour")]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"推薦分成"},{default:e(()=>[l(p,{modelValue:o.value.config.level_money_all,"onUpdate:modelValue":r[3]||(r[3]=t=>o.value.config.level_money_all=t),placeholder:""},{append:e(()=>[n("%")]),_:1},8,["modelValue"])]),_:1}),o.value.config.separator_type==="1"?(_(),j(d,{key:0},{default:e(()=>[a("div",le,[a("div",oe,[l(g,{type:"primary",onClick:I},{default:e(()=>[n("增加層級")]),_:1})]),a("table",ae,[te,(_(!0),f(E,null,q(o.value.item,(t,v)=>(_(),f("tr",{key:v},[a("td",null,W(v+1),1),a("td",null,[l(p,{modelValue:t.level_money,"onUpdate:modelValue":i=>t.level_money=i,placeholder:""},{append:e(()=>[n("%")]),_:2},1032,["modelValue","onUpdate:modelValue"])]),a("td",null,[l(p,{modelValue:t.level_point,"onUpdate:modelValue":i=>t.level_point=i,placeholder:""},{append:e(()=>[n("%")]),_:2},1032,["modelValue","onUpdate:modelValue"])]),a("td",null,[l(U,{onClick:i=>x(v)},{default:e(()=>[l(X(F))]),_:2},1032,["onClick"])])]))),128))])])]),_:1})):h("",!0)],64)):h("",!0),l(d,null,{default:e(()=>[l(g,{type:"primary",onClick:k},{default:e(()=>[n("確定")]),_:1})]),_:1})]),_:1},8,["model"])])}}},Ie=P(ne,[["__scopeId","data-v-280a3de6"]]);export{Ie as default};

@ -0,0 +1 @@
import"./base-a9e1396c.js";import{E as x}from"./el-dialog-6b258e94.js";import"./el-overlay-27e164ea.js";import{E as D}from"./el-card-8d51e25c.js";import{a as U}from"./el-select-448a2068.js";import"./el-input-03ddc19a.js";import{E as N,a as T}from"./el-table-column-434c4a4c.js";import{E as L}from"./el-button-4f2e1711.js";import{E as P}from"./el-page-header-98396acf.js";import{a as q,E as I}from"./el-breadcrumb-item-594a11b8.js";import{u as R,b as $}from"./vue-router-9e943271.js";import{c as j,e as F,f as H}from"./bonus-98b80f90.js";import{m,q as J,s as M,Q,v as A,x as p,y as e,w as o,J as G,o as b,z as i,a as K,I as O}from"./normalize-8daa80b1.js";import"./use-dialog-2f603928.js";import"./config-provider-ecb8405d.js";import"./index-6156c07c.js";import"./vnode-cca0b0eb.js";import"./aria-fbed35f0.js";import"./strings-4a84079a.js";import"./validator-9be52df0.js";import"./request-ce1488f3.js";import"./axios-4a70c6fc.js";const W={class:"main"},X=p("span",{class:"text-large font-600 mr-3"}," 優惠劵使用列表 ",-1),Y=p("hr",null,null,-1),Z={class:"pagination-block"},ke={__name:"UseList",setup(ee){const f=R(),E=$();m(!1),m(!1);const w=E.query.type_id,a=J({page:1,pageSize:10,total:0,tableData:[]}),u=async(n,t)=>{const r=await j({id:w,page:n,pageSize:t});a.tableData=r.data.data,a.total=r.data.total};M(()=>{u(a.page,a.pageSize)}),Q(()=>[a.page,a.pageSize],([n,t])=>{u(n,t)});const z=()=>{f.back()},v=async n=>{(await F(n.bonus_id)).code===200&&u(a.page,a.pageSize)},d=m(!1),_=m([]),h=async n=>{d.value=!0;const t=await H({bonus_id:n.bonus_id});_.value=t.data};return(n,t)=>{const r=q,k=I,y=P,s=N,c=L,g=T,B=U,S=D,C=x;return b(),A(G,null,[p("div",W,[e(y,{onBack:z},{breadcrumb:o(()=>[e(k,{separator:"/"},{default:o(()=>[e(r,null,{default:o(()=>[i(" 電商管理中心 ")]),_:1}),e(r,null,{default:o(()=>[i("優惠劵")]),_:1}),e(r,null,{default:o(()=>[i("優惠劵使用列表")]),_:1})]),_:1})]),content:o(()=>[X]),_:1}),Y,e(S,null,{default:o(()=>[p("div",null,[e(g,{data:a.tableData,style:{width:"100%"}},{default:o(()=>[e(s,{prop:"bonus_id",label:"編號"}),e(s,{prop:"bonus_sn",label:"優惠劵序號"}),e(s,{prop:"bonus_number",label:"優惠劵數量",align:"right"}),e(s,{prop:"remain_number",label:"剩餘數量",align:"right"}),e(s,{label:"操作",align:"center",width:"180"},{default:o(l=>[l.row.remain_number<l.row.bonus_number?(b(),K(c,{key:0,type:"danger",size:"small",plain:"",onClick:V=>h(l.row)},{default:o(()=>[i("查看")]),_:2},1032,["onClick"])):O("",!0),e(c,{type:"danger",size:"small",plain:"",onClick:V=>v(l.row)},{default:o(()=>[i("刪除")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"]),p("div",Z,[e(B,{"current-page":a.page,"onUpdate:currentPage":t[0]||(t[0]=l=>a.page=l),"page-size":a.pageSize,"onUpdate:pageSize":t[1]||(t[1]=l=>a.pageSize=l),"page-sizes":[10,20,50,100],small:"small",layout:"->,total, sizes, prev, pager, next, jumper",total:a.total},null,8,["current-page","page-size","total"])])])]),_:1})]),e(C,{modelValue:d.value,"onUpdate:modelValue":t[2]||(t[2]=l=>d.value=l),title:"使用紀錄"},{default:o(()=>[e(g,{data:_.value},{default:o(()=>[e(s,{prop:"sso_user_id",label:"使用會員",width:"150"}),e(s,{prop:"order_sn",label:"訂單編號",width:"200"}),e(s,{prop:"used_time",label:"使用時間"})]),_:1},8,["data"])]),_:1},8,["modelValue"])],64)}}};export{ke as default};

@ -0,0 +1 @@
import{r as t}from"./request-ce1488f3.js";function e(){return t("/affiliate/getAffiliateConfig")}function a(i){return t("/affiliate/setAffiliateConfig","post",i)}function n(i){return t("/affiliate/getAffiliateList","post",i)}function o(i){return t("/affiliate/delAffiliateLog","get",{id:i})}export{e as a,o as d,n as g,a as s};

@ -0,0 +1 @@
import{m as n,v as p,y as t,w as c,e as l,a0 as m,o as _,D as u}from"./normalize-8daa80b1.js";import{z as f,E as v,c as d,a as h,_ as o}from"./vue-router-9e943271.js";/* empty css */import"./config-provider-ecb8405d.js";const E={__name:"App",setup(a){const e=n(f);return(s,y)=>{const i=m("router-view");return _(),p("div",null,[t(l(v),{locale:e.value},{default:c(()=>[t(i)]),_:1},8,["locale"])])}}};let w=d(),A=[{path:"/",name:"Affiliate",redirect:"/list"},{path:"/list",name:"List",component:()=>o(()=>import("./Index-f046a4bf.js"),["./Index-f046a4bf.js","./base-a9e1396c.js","./normalize-8daa80b1.js","./normalize-a99f45e8.css","./base-3111e043.css","./el-card-8d51e25c.js","./el-card-208b2445.css","./el-select-448a2068.js","./config-provider-ecb8405d.js","./aria-fbed35f0.js","./el-table-column-434c4a4c.js","./el-button-4f2e1711.js","./el-button-2cb60ae5.css","./el-input-03ddc19a.js","./el-input-0e5f39e7.css","./el-table-column-1e0b0c39.css","./strings-4a84079a.js","./validator-9be52df0.js","./el-select-c3d1a4bc.css","./el-page-header-98396acf.js","./el-page-header-fff52ac9.css","./el-breadcrumb-item-594a11b8.js","./el-breadcrumb-item-a5da584b.css","./affiliate-2786f83c.js","./request-ce1488f3.js","./axios-4a70c6fc.js","./el-overlay-27e164ea.js","./vnode-cca0b0eb.js","./el-overlay-f6b2674f.css","./index-bf92c153.js","./index-6156c07c.js","./index-bd490e64.js","./el-message-box-53b65944.css","./el-message-f448e6ff.css"],import.meta.url)},{path:"/info",name:"Info",component:()=>o(()=>import("./Info-7f45f09f.js"),["./Info-7f45f09f.js","./base-a9e1396c.js","./normalize-8daa80b1.js","./normalize-a99f45e8.css","./base-3111e043.css","./el-form-item-f65c5879.js","./el-button-4f2e1711.js","./config-provider-ecb8405d.js","./el-button-2cb60ae5.css","./aria-fbed35f0.js","./el-input-03ddc19a.js","./el-input-0e5f39e7.css","./el-form-item-d10bb01f.css","./el-radio-1bab0451.js","./el-radio-d45c78e7.css","./el-page-header-98396acf.js","./el-page-header-fff52ac9.css","./el-breadcrumb-item-594a11b8.js","./el-breadcrumb-item-a5da584b.css","./affiliate-2786f83c.js","./request-ce1488f3.js","./axios-4a70c6fc.js","./_plugin-vue_export-helper-c27b6911.js","./index-bd490e64.js","./Info-56b9b90b.css","./el-message-f448e6ff.css"],import.meta.url)}];const P=h({history:w,routes:A,scrollBehavior(a,e,s){return{top:0}}}),r=u(E);r.use(P);r.mount("#app");

@ -0,0 +1 @@
import{m as n,v as p,y as t,w as c,e as l,a0 as m,o as _,D as u}from"./normalize-8daa80b1.js";import{z as v,E as d,c as h,a as f,_ as o}from"./vue-router-9e943271.js";/* empty css */import"./config-provider-ecb8405d.js";const E={__name:"App",setup(a){const e=n(v);return(s,B)=>{const i=m("router-view");return _(),p("div",null,[t(l(d),{locale:e.value},{default:c(()=>[t(i)]),_:1},8,["locale"])])}}};let w=h(),P=[{path:"/",name:"Bonus",redirect:"/list"},{path:"/list",name:"List",component:()=>o(()=>import("./index-8463a12c.js"),["./index-8463a12c.js","./base-a9e1396c.js","./normalize-8daa80b1.js","./normalize-a99f45e8.css","./base-3111e043.css","./el-loading-e1286ea0.js","./config-provider-ecb8405d.js","./el-loading-d0f2d079.css","./el-card-8d51e25c.js","./el-card-208b2445.css","./el-select-448a2068.js","./aria-fbed35f0.js","./el-table-column-434c4a4c.js","./el-button-4f2e1711.js","./el-button-2cb60ae5.css","./el-input-03ddc19a.js","./el-input-0e5f39e7.css","./el-table-column-1e0b0c39.css","./strings-4a84079a.js","./validator-9be52df0.js","./el-select-c3d1a4bc.css","./el-breadcrumb-item-594a11b8.js","./el-breadcrumb-item-a5da584b.css","./vue-router-9e943271.js","./el-drawer-bad913c0.js","./el-overlay-27e164ea.js","./vnode-cca0b0eb.js","./el-overlay-f6b2674f.css","./use-dialog-2f603928.js","./el-drawer-f97e7830.css","./el-form-item-f65c5879.js","./el-form-item-d10bb01f.css","./el-radio-1bab0451.js","./el-radio-d45c78e7.css","./bonus-98b80f90.js","./request-ce1488f3.js","./axios-4a70c6fc.js","./index-bd490e64.js","./el-dialog-6b258e94.js","./index-6156c07c.js","./el-dialog-e409f358.css","./_plugin-vue_export-helper-c27b6911.js","./index-bd6541ec.css","./el-message-f448e6ff.css"],import.meta.url)},{path:"/uselist",name:"UseList",component:()=>o(()=>import("./UseList-651fc8dc.js"),["./UseList-651fc8dc.js","./base-a9e1396c.js","./normalize-8daa80b1.js","./normalize-a99f45e8.css","./base-3111e043.css","./el-dialog-6b258e94.js","./el-overlay-27e164ea.js","./el-button-4f2e1711.js","./config-provider-ecb8405d.js","./el-button-2cb60ae5.css","./el-table-column-434c4a4c.js","./aria-fbed35f0.js","./el-input-03ddc19a.js","./el-input-0e5f39e7.css","./el-table-column-1e0b0c39.css","./vnode-cca0b0eb.js","./el-overlay-f6b2674f.css","./use-dialog-2f603928.js","./index-6156c07c.js","./el-dialog-e409f358.css","./el-card-8d51e25c.js","./el-card-208b2445.css","./el-select-448a2068.js","./strings-4a84079a.js","./validator-9be52df0.js","./el-select-c3d1a4bc.css","./el-page-header-98396acf.js","./el-page-header-fff52ac9.css","./el-breadcrumb-item-594a11b8.js","./el-breadcrumb-item-a5da584b.css","./vue-router-9e943271.js","./bonus-98b80f90.js","./request-ce1488f3.js","./axios-4a70c6fc.js"],import.meta.url)}];const A=f({history:w,routes:P,scrollBehavior(a,e,s){return{top:0}}}),r=u(E);r.use(A);r.mount("#app");

@ -0,0 +1 @@
import{r as n}from"./request-ce1488f3.js";function u(s){return n("/bonus/getBonusList","post",s)}function e(s){return n("/bonus/getBonus","post",{type_id:s})}function o(s){return n("/bonus/addBonus","post",s)}function r(s){return n("/bonus/updateBonus","post",s)}function i(s){return n("/bonus/deleteBonusType","get",{id:s})}function a(s){return n("/bonus/getUseBonusList","post",s)}function B(s){return n("/bonus/deleteBonus","get",{id:s})}function d(s){return n("/bonus/send","post",s)}function p(s){return n("/bonus/getUseList","post",s)}export{o as a,u as b,a as c,i as d,B as e,p as f,e as g,d as s,r as u};

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
import"./base-a9e1396c.js";import{E as q}from"./el-card-8d51e25c.js";import{E as D,a as H,b as M}from"./el-select-448a2068.js";import{E as O}from"./el-input-03ddc19a.js";import{E as P,a as R}from"./el-table-column-434c4a4c.js";import{E as j}from"./el-button-4f2e1711.js";import{E as A,a as F}from"./el-breadcrumb-item-594a11b8.js";import{g as v}from"./order-cb3c1efb.js";import{u as J,b as K}from"./vue-router-9e943271.js";import{_ as Q}from"./_plugin-vue_export-helper-c27b6911.js";import{m as i,a7 as G,Q as w,v as E,x as r,y as t,w as s,o as f,z as p,J as W,K as X,a as Y,I as Z,B as ee,C as ae}from"./normalize-8daa80b1.js";import"./config-provider-ecb8405d.js";import"./aria-fbed35f0.js";import"./strings-4a84079a.js";import"./validator-9be52df0.js";import"./request-ba216ded.js";import"./axios-4a70c6fc.js";const x=m=>(ee("data-v-9d49438c"),m=m(),ae(),m),te={class:"main"},le={class:"breadcrumb-section"},oe=x(()=>r("a",{href:"/"},"訂單列表",-1)),se=x(()=>r("hr",null,null,-1)),ne={class:"search-section"},re=["innerHTML"],ue={class:"pagination-block"},de={__name:"index",setup(m){const z=J(),g=K(),V=[{label:"全部",value:""},{label:"未確認",value:"0"},{label:"已確認",value:"1"},{label:"已取消",value:"2"},{label:"無效",value:"3"},{value:"4",label:"退貨"},{value:"7",label:"完成"}],c=i([]),_=i(0),u=i(1),d=i(10),o=i({user_id:"",order_sn:"",consignee:"",status:"1"});g.query.user_id&&(o.value.user_id=g.query.user_id),G(()=>{k()});const k=async()=>{let l=await v({page:u.value,size:d.value,search:o.value});l.code===200&&(c.value=l.data.data,_.value=l.data.total)};w(()=>u.value,async l=>{let a=await v({page:l,size:d.value,search:o.value});a.code===200&&(c.value=a.data.data,_.value=a.data.total)}),w(()=>d.value,async l=>{let a=await v({page:u.value,size:l,search:o.value});a.code===200&&(c.value=a.data.data,_.value=a.data.total)}),i("");const C=(l,a)=>{z.push({path:"/info",query:{order_id:a.order_id}})},B=async()=>{let l=await v({page:u.value,size:d.value,search:o.value});l.code===200&&(c.value=l.data.data,_.value=l.data.total)};return(l,a)=>{const h=F,I=A,y=O,S=M,L=D,b=j,n=P,T=R,U=H,N=q;return f(),E("div",te,[r("div",le,[t(I,{separator:"/"},{default:s(()=>[t(h,{to:{path:"/"}},{default:s(()=>[p("電商管理中心")]),_:1}),t(h,null,{default:s(()=>[oe]),_:1})]),_:1})]),se,t(N,null,{default:s(()=>[r("div",ne,[p(" 訂單號:"),t(y,{modelValue:o.value.order_sn,"onUpdate:modelValue":a[0]||(a[0]=e=>o.value.order_sn=e),placeholder:"",style:{width:"200px"}},null,8,["modelValue"]),p(" 收貨人:"),t(y,{modelValue:o.value.consignee,"onUpdate:modelValue":a[1]||(a[1]=e=>o.value.consignee=e),placeholder:"",style:{width:"200px"}},null,8,["modelValue"]),t(L,{modelValue:o.value.status,"onUpdate:modelValue":a[2]||(a[2]=e=>o.value.status=e),class:"m-2",placeholder:"選擇狀態"},{default:s(()=>[(f(),E(W,null,X(V,e=>t(S,{label:e.label,key:e.value,value:e.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),t(b,{type:"primary",onClick:B},{default:s(()=>[p("查詢")]),_:1})]),r("div",null,[t(T,{data:c.value,style:{width:"100%"},border:"",stripe:""},{default:s(()=>[t(n,{type:"index"}),t(n,{prop:"order_sn",label:"訂單號"}),t(n,{prop:"add_time",label:"下單時間"}),t(n,{prop:"consignee",label:"收貨人"}),t(n,{prop:"order_amount",label:"訂單金額",width:"100"}),t(n,{prop:"pay_name",label:"金流方式"}),t(n,{label:"訂單狀態",width:"200"},{default:s(e=>[r("div",{innerHTML:e.row.status},null,8,re)]),_:1}),t(n,{fixed:"right",label:"操作",width:"150"},{default:s(e=>[t(b,{size:"small",onClick:$=>C(e.$index,e.row)},{default:s(()=>[p("查看")]),_:2},1032,["onClick"]),e.row.order_status===3?(f(),Y(b,{key:0,size:"small",type:"danger",onClick:$=>l.handleDelete(e.$index,e.row)},{default:s(()=>[p("刪除")]),_:2},1032,["onClick"])):Z("",!0)]),_:1})]),_:1},8,["data"]),r("div",ue,[t(U,{"current-page":u.value,"onUpdate:currentPage":a[3]||(a[3]=e=>u.value=e),"page-size":d.value,"onUpdate:pageSize":a[4]||(a[4]=e=>d.value=e),"page-sizes":[10,20,50,100],small:"small",layout:"->,total, sizes, prev, pager, next, jumper",total:_.value},null,8,["current-page","page-size","total"])])])]),_:1})])}}},Ce=Q(de,[["__scopeId","data-v-9d49438c"]]);export{Ce as default};

@ -0,0 +1 @@
.search-section[data-v-9d49438c]{background-color:#f3f3f3;border:1px solid #d7d7d7;padding:5px;color:gray;margin:0 0 10px}.pagination-block[data-v-9d49438c]{margin:10px 0 0}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
import"./base-a9e1396c.js";import{E as q}from"./el-card-8d51e25c.js";import{E as D,a as H,b as M}from"./el-select-448a2068.js";import{E as O}from"./el-input-03ddc19a.js";import{E as P,a as R}from"./el-table-column-434c4a4c.js";import{E as j}from"./el-button-4f2e1711.js";import{E as A,a as F}from"./el-breadcrumb-item-594a11b8.js";import{g as v}from"./order-b48db812.js";import{u as J,b as K}from"./vue-router-9e943271.js";import{_ as Q}from"./_plugin-vue_export-helper-c27b6911.js";import{m as i,a7 as G,Q as w,v as E,x as r,y as t,w as s,o as f,z as p,J as W,K as X,a as Y,I as Z,B as ee,C as ae}from"./normalize-8daa80b1.js";import"./config-provider-ecb8405d.js";import"./aria-fbed35f0.js";import"./strings-4a84079a.js";import"./validator-9be52df0.js";import"./request-ce1488f3.js";import"./axios-4a70c6fc.js";const x=m=>(ee("data-v-9d49438c"),m=m(),ae(),m),te={class:"main"},le={class:"breadcrumb-section"},oe=x(()=>r("a",{href:"/"},"訂單列表",-1)),se=x(()=>r("hr",null,null,-1)),ne={class:"search-section"},re=["innerHTML"],ue={class:"pagination-block"},de={__name:"index",setup(m){const z=J(),g=K(),V=[{label:"全部",value:""},{label:"未確認",value:"0"},{label:"已確認",value:"1"},{label:"已取消",value:"2"},{label:"無效",value:"3"},{value:"4",label:"退貨"},{value:"7",label:"完成"}],c=i([]),_=i(0),u=i(1),d=i(10),o=i({user_id:"",order_sn:"",consignee:"",status:"1"});g.query.user_id&&(o.value.user_id=g.query.user_id),G(()=>{k()});const k=async()=>{let l=await v({page:u.value,size:d.value,search:o.value});l.code===200&&(c.value=l.data.data,_.value=l.data.total)};w(()=>u.value,async l=>{let a=await v({page:l,size:d.value,search:o.value});a.code===200&&(c.value=a.data.data,_.value=a.data.total)}),w(()=>d.value,async l=>{let a=await v({page:u.value,size:l,search:o.value});a.code===200&&(c.value=a.data.data,_.value=a.data.total)}),i("");const C=(l,a)=>{z.push({path:"/info",query:{order_id:a.order_id}})},B=async()=>{let l=await v({page:u.value,size:d.value,search:o.value});l.code===200&&(c.value=l.data.data,_.value=l.data.total)};return(l,a)=>{const h=F,I=A,y=O,S=M,L=D,b=j,n=P,T=R,U=H,N=q;return f(),E("div",te,[r("div",le,[t(I,{separator:"/"},{default:s(()=>[t(h,{to:{path:"/"}},{default:s(()=>[p("電商管理中心")]),_:1}),t(h,null,{default:s(()=>[oe]),_:1})]),_:1})]),se,t(N,null,{default:s(()=>[r("div",ne,[p(" 訂單號:"),t(y,{modelValue:o.value.order_sn,"onUpdate:modelValue":a[0]||(a[0]=e=>o.value.order_sn=e),placeholder:"",style:{width:"200px"}},null,8,["modelValue"]),p(" 收貨人:"),t(y,{modelValue:o.value.consignee,"onUpdate:modelValue":a[1]||(a[1]=e=>o.value.consignee=e),placeholder:"",style:{width:"200px"}},null,8,["modelValue"]),t(L,{modelValue:o.value.status,"onUpdate:modelValue":a[2]||(a[2]=e=>o.value.status=e),class:"m-2",placeholder:"選擇狀態"},{default:s(()=>[(f(),E(W,null,X(V,e=>t(S,{label:e.label,key:e.value,value:e.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),t(b,{type:"primary",onClick:B},{default:s(()=>[p("查詢")]),_:1})]),r("div",null,[t(T,{data:c.value,style:{width:"100%"},border:"",stripe:""},{default:s(()=>[t(n,{type:"index"}),t(n,{prop:"order_sn",label:"訂單號"}),t(n,{prop:"add_time",label:"下單時間"}),t(n,{prop:"consignee",label:"收貨人"}),t(n,{prop:"order_amount",label:"訂單金額",width:"100"}),t(n,{prop:"pay_name",label:"金流方式"}),t(n,{label:"訂單狀態",width:"200"},{default:s(e=>[r("div",{innerHTML:e.row.status},null,8,re)]),_:1}),t(n,{fixed:"right",label:"操作",width:"150"},{default:s(e=>[t(b,{size:"small",onClick:$=>C(e.$index,e.row)},{default:s(()=>[p("查看")]),_:2},1032,["onClick"]),e.row.order_status===3?(f(),Y(b,{key:0,size:"small",type:"danger",onClick:$=>l.handleDelete(e.$index,e.row)},{default:s(()=>[p("刪除")]),_:2},1032,["onClick"])):Z("",!0)]),_:1})]),_:1},8,["data"]),r("div",ue,[t(U,{"current-page":u.value,"onUpdate:currentPage":a[3]||(a[3]=e=>u.value=e),"page-size":d.value,"onUpdate:pageSize":a[4]||(a[4]=e=>d.value=e),"page-sizes":[10,20,50,100],small:"small",layout:"->,total, sizes, prev, pager, next, jumper",total:_.value},null,8,["current-page","page-size","total"])])])]),_:1})])}}},Ce=Q(de,[["__scopeId","data-v-9d49438c"]]);export{Ce as default};

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
.top-action[data-v-5b321367]{text-align:center}.box-card[data-v-5b321367]{margin-bottom:10px}table[data-v-5b321367]{width:100%}.nav[data-v-5b321367]{display:flex}.nav .nav-item[data-v-5b321367]{margin-right:10px}.card-preview[data-v-5b321367]{width:345px;height:220px;margin:0;position:relative}.card-preview img[data-v-5b321367]{width:100%;height:100%;position:absolute;top:0;left:0}.card-preview .front[data-v-5b321367]{width:100%;height:100%;position:absolute}.card-preview .front .front-logo[data-v-5b321367]{position:absolute;width:100px;height:100px;top:60px;left:20px}.card-preview .front .front-cname[data-v-5b321367]{position:absolute;top:70px;left:180px;font-size:20px;letter-spacing:5px}.card-preview .front .front-ename[data-v-5b321367]{position:absolute;top:110px;left:180px;font-size:12px;letter-spacing:5px}.card-preview .back[data-v-5b321367]{width:100%;height:100%;position:absolute;display:flex;align-items:center;justify-content:center}.card-preview .back .nfcimg[data-v-5b321367]{width:100px;height:100px}.card-preview .back .nfcimg canvas[data-v-5b321367]{width:100px!important;height:100px!important}#printAddr[data-v-5b321367]{width:600px;height:400px}#printAddr .addr .address[data-v-5b321367]{font-size:20px;font-weight:700;line-height:100px}#printAddr .addr .name[data-v-5b321367]{font-size:20px;font-weight:700;line-height:100px;padding-left:100px}#printAddr .addr .sender[data-v-5b321367]{text-align:right;font-size:20px;line-height:100px}@media print{#printMe[data-v-5b321367]{-webkit-print-color-adjust:exact!important;color-adjust:exact!important}.card-preview[data-v-5b321367]{width:1021px;height:651px;margin:0;position:relative}.card-preview img[data-v-5b321367]{width:100%;height:100%;position:absolute;top:0;left:0}.card-preview .front[data-v-5b321367]{width:100%;height:100%;position:absolute}.card-preview .front .front-logo[data-v-5b321367]{position:absolute;width:300px;height:300px;top:150px;left:80px}.card-preview .front .front-cname[data-v-5b321367]{position:absolute;top:210px;left:530px;font-size:72px;letter-spacing:5px}.card-preview .front .front-ename[data-v-5b321367]{position:absolute;top:320px;left:530px;font-size:40px;letter-spacing:7px}.card-preview .back[data-v-5b321367]{width:100%;height:100%;position:absolute;display:flex;align-items:center;justify-content:center}.card-preview .back .nfcimg[data-v-5b321367]{width:300px;height:300px}#printAddr[data-v-5b321367]{width:1020px;height:649px}}.action[data-v-5b321367]{margin-top:10px}.message-override[data-v-5b321367]{z-index:9999!important}.dialog-message[data-v-5b321367]{padding:10px 5px;margin-top:-40px;margin-bottom:10px;color:#ff7575;border:1px solid #ccc}

@ -0,0 +1 @@
import"./base-a9e1396c.js";import{E as q}from"./el-card-8d51e25c.js";import{E as D,a as H,b as M}from"./el-select-448a2068.js";import{E as O}from"./el-input-03ddc19a.js";import{E as P,a as R}from"./el-table-column-434c4a4c.js";import{E as j}from"./el-button-4f2e1711.js";import{E as A,a as F}from"./el-breadcrumb-item-594a11b8.js";import{g as v}from"./order-cb3c1efb.js";import{u as J,b as K}from"./vue-router-9e943271.js";import{_ as Q}from"./_plugin-vue_export-helper-c27b6911.js";import{m as i,a7 as G,Q as w,v as E,x as r,y as t,w as s,o as f,z as p,J as W,K as X,a as Y,I as Z,B as ee,C as ae}from"./normalize-8daa80b1.js";import"./config-provider-ecb8405d.js";import"./aria-fbed35f0.js";import"./strings-4a84079a.js";import"./validator-9be52df0.js";import"./request-ba216ded.js";import"./axios-4a70c6fc.js";const x=m=>(ee("data-v-87749566"),m=m(),ae(),m),te={class:"main"},le={class:"breadcrumb-section"},oe=x(()=>r("a",{href:"/"},"訂單列表",-1)),se=x(()=>r("hr",null,null,-1)),ne={class:"search-section"},re=["innerHTML"],ue={class:"pagination-block"},de={__name:"index",setup(m){const z=J(),g=K(),V=[{label:"全部",value:""},{label:"未確認",value:"0"},{label:"已確認",value:"1"},{label:"已取消",value:"2"},{label:"無效",value:"3"},{value:"4",label:"退貨"},{value:"7",label:"完成"}],c=i([]),_=i(0),u=i(1),d=i(10),o=i({user_id:"",order_sn:"",consignee:"",status:"1"});g.query.user_id&&(o.value.user_id=g.query.user_id),G(()=>{k()});const k=async()=>{let l=await v({page:u.value,size:d.value,search:o.value});l.code===200&&(c.value=l.data.data,_.value=l.data.total)};w(()=>u.value,async l=>{let a=await v({page:l,size:d.value,search:o.value});a.code===200&&(c.value=a.data.data,_.value=a.data.total)}),w(()=>d.value,async l=>{let a=await v({page:u.value,size:l,search:o.value});a.code===200&&(c.value=a.data.data,_.value=a.data.total)}),i("");const C=(l,a)=>{z.push({path:"/info",query:{order_id:a.order_id}})},B=async()=>{let l=await v({page:u.value,size:d.value,search:o.value});l.code===200&&(c.value=l.data.data,_.value=l.data.total)};return(l,a)=>{const h=F,I=A,y=O,S=M,L=D,b=j,n=P,T=R,U=H,N=q;return f(),E("div",te,[r("div",le,[t(I,{separator:"/"},{default:s(()=>[t(h,{to:{path:"/"}},{default:s(()=>[p("電商管理中心")]),_:1}),t(h,null,{default:s(()=>[oe]),_:1})]),_:1})]),se,t(N,null,{default:s(()=>[r("div",ne,[p(" 訂單號:"),t(y,{modelValue:o.value.order_sn,"onUpdate:modelValue":a[0]||(a[0]=e=>o.value.order_sn=e),placeholder:"",style:{width:"200px"}},null,8,["modelValue"]),p(" 收貨人:"),t(y,{modelValue:o.value.consignee,"onUpdate:modelValue":a[1]||(a[1]=e=>o.value.consignee=e),placeholder:"",style:{width:"200px"}},null,8,["modelValue"]),t(L,{modelValue:o.value.status,"onUpdate:modelValue":a[2]||(a[2]=e=>o.value.status=e),class:"m-2",placeholder:"選擇狀態"},{default:s(()=>[(f(),E(W,null,X(V,e=>t(S,{label:e.label,key:e.value,value:e.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),t(b,{type:"primary",onClick:B},{default:s(()=>[p("查詢")]),_:1})]),r("div",null,[t(T,{data:c.value,style:{width:"100%"},border:"",stripe:""},{default:s(()=>[t(n,{type:"index"}),t(n,{prop:"order_sn",label:"訂單號"}),t(n,{prop:"add_time",label:"下單時間"}),t(n,{prop:"consignee",label:"收貨人"}),t(n,{prop:"order_amount",label:"訂單金額",width:"100"}),t(n,{prop:"pay_name",label:"金流方式"}),t(n,{label:"訂單狀態",width:"200"},{default:s(e=>[r("div",{innerHTML:e.row.status},null,8,re)]),_:1}),t(n,{fixed:"right",label:"操作",width:"150"},{default:s(e=>[t(b,{size:"small",onClick:$=>C(e.$index,e.row)},{default:s(()=>[p("查看")]),_:2},1032,["onClick"]),e.row.order_status===3?(f(),Y(b,{key:0,size:"small",type:"danger",onClick:$=>l.handleDelete(e.$index,e.row)},{default:s(()=>[p("刪除")]),_:2},1032,["onClick"])):Z("",!0)]),_:1})]),_:1},8,["data"]),r("div",ue,[t(U,{"current-page":u.value,"onUpdate:currentPage":a[3]||(a[3]=e=>u.value=e),"page-size":d.value,"onUpdate:pageSize":a[4]||(a[4]=e=>d.value=e),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:_.value},null,8,["current-page","page-size","total"])])])]),_:1})])}}},Ce=Q(de,[["__scopeId","data-v-87749566"]]);export{Ce as default};

@ -0,0 +1 @@
.search-section[data-v-87749566]{background-color:#f3f3f3;border:1px solid #d7d7d7;padding:5px;color:gray;margin:0 0 10px}.pagination-block[data-v-87749566]{margin:10px 0 0}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
import{m as _,v as x,x as e,E as m,F as v,o as w,B as C,C as b,D as y}from"./normalize-8daa80b1.js";import{a as I}from"./axios-4a70c6fc.js";import{_ as U}from"./_plugin-vue_export-helper-c27b6911.js";import"./base-a9e1396c.js";/* empty css */import{E as d}from"./index-bd490e64.js";import"./aria-fbed35f0.js";import"./config-provider-ecb8405d.js";/*! js-cookie v3.0.5 | MIT */function u(o){for(var r=1;r<arguments.length;r++){var s=arguments[r];for(var l in s)o[l]=s[l]}return o}var k={read:function(o){return o[0]==='"'&&(o=o.slice(1,-1)),o.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(o){return encodeURIComponent(o).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function f(o,r){function s(n,a,t){if(!(typeof document>"u")){t=u({},r,t),typeof t.expires=="number"&&(t.expires=new Date(Date.now()+t.expires*864e5)),t.expires&&(t.expires=t.expires.toUTCString()),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var p in t)t[p]&&(i+="; "+p,t[p]!==!0&&(i+="="+t[p].split(";")[0]));return document.cookie=n+"="+o.write(a,n)+i}}function l(n){if(!(typeof document>"u"||arguments.length&&!n)){for(var a=document.cookie?document.cookie.split("; "):[],t={},i=0;i<a.length;i++){var p=a[i].split("="),g=p.slice(1).join("=");try{var h=decodeURIComponent(p[0]);if(t[h]=o.read(g,h),n===h)break}catch{}}return n?t[n]:t}}return Object.create({set:s,get:l,remove:function(n,a){s(n,"",u({},a,{expires:-1}))},withAttributes:function(n){return f(this.converter,u({},this.attributes,n))},withConverter:function(n){return f(u({},this.converter,n),this.attributes)}},{attributes:{value:Object.freeze(r)},converter:{value:Object.freeze(o)}})}var B=f(k,{path:"/"});const c=o=>(C("data-v-5e08dec7"),o=o(),b(),o),D={class:"limiter"},A={class:"container-login100"},E={class:"wrap-login100 p-l-55 p-r-55 p-t-65 p-b-54"},R={class:"login100-form validate-form"},j=c(()=>e("span",{class:"login100-form-title p-b-21"}," 後台系統 ",-1)),F={class:"wrap-input100 validate-input m-b-23","data-validate":"Username is reauired"},M=c(()=>e("span",{class:"label-input100"},"用戶帳號",-1)),S=c(()=>e("span",{class:"focus-input100","data-symbol":""},null,-1)),V={class:"wrap-input100 validate-input m-b-23","data-validate":"Password is required"},z=c(()=>e("span",{class:"label-input100"},"用戶密碼",-1)),O=c(()=>e("span",{class:"focus-input100","data-symbol":""},null,-1)),q={class:"wrap-input100 validate-input","data-validate":"Captcha is required"},T=c(()=>e("span",{class:"label-input100"},"輸入驗證碼",-1)),P={class:"captcha-combo"},G=["src"],H=c(()=>e("span",{class:"focus-input100","data-symbol":""},null,-1)),J=c(()=>e("div",{class:"text-right p-t-8 p-b-31"},[e("a",{href:"#"})],-1)),K=c(()=>e("div",{class:"login100-form-bgbtn"},null,-1)),L={__name:"index",setup(o){const r=_("https://shop.slash1000.com/admin/index.php?act=captcha&"+Math.random()),s=_({username:"",password:"",captcha:"",remember:!1}),l=()=>{r.value="https://shop.slash1000.com/admin/index.php?act=captcha&"+Math.random()},n=async()=>{if(s.value.username=="")return d.error("請輸入帳號");if(s.value.password=="")return d.error("請輸入密碼");if(s.value.captcha=="")return d.error("請輸入驗證碼");try{let{data:a}=await I.post("https://shop.slash1000.com/admin/privilege.php?act=signin",s.value);if(a.code!==200)return r.value="https://shop.slash1000.com/admin/index.php?act=captcha&"+Math.random(),d.error(a.data.msg);B.set("Authorization","Bearer "+a.token),window.location.href="index.php"}catch(a){console.log(a)}};return(a,t)=>(w(),x("div",D,[e("div",A,[e("div",E,[e("form",R,[j,e("div",F,[M,m(e("input",{class:"input100",type:"text","onUpdate:modelValue":t[0]||(t[0]=i=>s.value.username=i),placeholder:"請輸入您的帳號"},null,512),[[v,s.value.username]]),S]),e("div",V,[z,m(e("input",{class:"input100",type:"password","onUpdate:modelValue":t[1]||(t[1]=i=>s.value.password=i),placeholder:"請輸入您的密碼"},null,512),[[v,s.value.password]]),O]),e("div",q,[T,e("div",P,[e("div",null,[m(e("input",{class:"input80",type:"text",style:{"text-transform":"uppercase"},"onUpdate:modelValue":t[2]||(t[2]=i=>s.value.captcha=i),placeholder:"請輸入您的圖形驗證碼"},null,512),[[v,s.value.captcha]])]),e("div",null,[e("img",{src:r.value,alt:"captcha",onClick:l},null,8,G)])]),H]),J,e("div",{class:"container-login100-form-btn"},[e("div",{class:"wrap-login100-form-btn"},[K,e("button",{type:"button",class:"login100-form-btn",onClick:n}," 登入 ")])])])])])]))}},Q=U(L,[["__scopeId","data-v-5e08dec7"]]);y(Q).mount("#app");

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
import{r as t}from"./request-ce1488f3.js";function n(r){return t("/order/list","post",r)}function o(r){return t("/order/getCardInfo","get",{sn:r})}function d(r){return t("/order/getOrderInfo","get",{id:r})}function u(r){return t("/order/getOrderAction","get",{id:r})}function a(r){return t("/order/updateOrder","post",r)}function i(r){return t("/order/updateOrderAction","post",r)}export{d as a,u as b,o as c,a as d,n as g,i as u};

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
*{font-size:16px;box-sizing:border-box}body{font-size:16px}.main{padding:10px;background-color:#fff}.main .breadcrumb-section{margin:0 0 10px;padding:10px;line-height:1.2;font-weight:500}.main .breadcrumb-section :deep(.el-breadcrumb){font-size:16px;color:#606266}.main .breadcrumb-section :deep(.el-breadcrumb) .el-breadcrumb__inner{display:inline-block;vertical-align:middle}.main .breadcrumb-section :deep(.el-breadcrumb) .el-breadcrumb__inner .el-breadcrumb__separator{color:#c0c4cc}.breadcrumb-section{display:flex}.breadcrumb-section div:nth-child(1){flex:1}.breadcrumb-section div:nth-child(2){width:300px;text-align:right}.el-card__header{padding:10px 20px!important;background-color:#f5f7fa;border-bottom:1px solid #e4e7ed;color:#606266}.el-card__body{color:#909399}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
import"./base-a9e1396c.js";import{E as V}from"./el-button-4f2e1711.js";import{a as x,E as T}from"./el-tab-pane-2840eee7.js";import{m as t,s as B,v as z,x as e,y as s,w as r,E as c,a9 as u,A as p,a as N,J as D,a8 as M,o as v,z as f}from"./normalize-8daa80b1.js";import{_ as O,a as S}from"./back-32e905a3.js";import{Q as U}from"./qrcode.vue.esm-5def5f14.js";import{c as F,d as I}from"./order-b48db812.js";import"./config-provider-ecb8405d.js";import"./aria-fbed35f0.js";import"./strings-4a84079a.js";import"./vnode-cca0b0eb.js";import"./request-ce1488f3.js";import"./axios-4a70c6fc.js";const L={id:"printMe"},P={class:"card-preview"},Q=e("img",{src:O},null,-1),j={class:"front"},A={class:"front-cname"},J={class:"front-ename"},R=["src"],q={class:"card-preview"},G=e("img",{src:S},null,-1),H={class:"back"},K={class:"nfcimg"},W={class:"action"},_e={__name:"printcard",setup(X){let h=location.href,i=new URL(h).searchParams.get("sn");const n=t(0),l=t("front"),a=t({cname:"",ename:"",images:"",user_id:""}),g=t(100);B(async()=>{let o=await F(i);console.log("res",o),o.code===200&&(a.value=o.data)});const b=()=>{l.value==="front"?n.value=1:n.value=0},w=t({id:"printMe",popTitle:"card print",beforeOpenCallback(o){console.log("打開之前")},openCallback(o){console.log("執行了打印")},closeCallback(o){console.log("關閉了打印工具")}}),k=async()=>{(await I({order_sn:i,order_status:3})).code===200&&(console.log("window close"),window.location.href="about:blank",window.close())};return(o,d)=>{const _=T,y=x,m=V,C=M("print");return v(),z(D,null,[e("div",null,[s(y,{modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=E=>l.value=E),type:"card",onTabClick:b},{default:r(()=>[s(_,{label:"正面",name:"front"}),s(_,{label:"反面",name:"back"})]),_:1},8,["modelValue"]),e("div",L,[c(e("div",P,[Q,e("div",j,[e("div",A,p(a.value.cname),1),e("div",J,p(a.value.ename),1),e("img",{class:"front-logo",src:a.value.image},null,8,R)])],512),[[u,n.value===0]]),c(e("div",q,[G,e("div",H,[e("div",K,[s(U,{value:a.value.nfcurl,size:g.value,level:"L"},null,8,["value","size"])])])],512),[[u,n.value===1]])])]),e("div",W,[c((v(),N(m,{type:"primary"},{default:r(()=>[f("製卡")]),_:1})),[[C,w.value]]),s(m,{type:"success",onClick:k},{default:r(()=>[f("完成")]),_:1})])],64)}}};export{_e as default};

@ -0,0 +1 @@
import{a as n}from"./axios-4a70c6fc.js";const t=n.create({baseURL:"https://shop.slash1000.com/adminapi/v1",withCredentials:!0,timeout:5e3}),i=(e,s="GET",r={},a={})=>{switch(s=s.toUpperCase(),s){case"GET":return t.get(e,{params:r,...a});case"POST":return t.post(e,r,a);default:return t.get(e,{params:r,...a})}};t.interceptors.request.use(e=>e,e=>Promise.reject(e));t.interceptors.response.use(e=>e.data,e=>{if(e.response)switch(e.response.status){}return Promise.reject(e)});export{i as r};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -422,7 +422,6 @@ elseif ($_REQUEST['act'] == 'add' || $_REQUEST['act'] == 'edit' || $_REQUEST['ac
create_html_editor('goods_desc', $goods['goods_desc']);
$smarty->assign('goods_desc', $goods['goods_desc']);
print_r(cat_list(0, $goods['cat_id']));
/* 模板賦值 */
$smarty->assign('code', $code);
$smarty->assign('ur_here', $is_add ? (empty($code) ? $_LANG['02_goods_add'] : $_LANG['51_virtual_card_add']) : ($_REQUEST['act'] == 'edit' ? $_LANG['edit_goods'] : $_LANG['copy_goods']));

@ -9,7 +9,7 @@ $modules['02_cat_and_goods']['01_goods_list'] = 'goods.php?act=list';
$modules['02_cat_and_goods']['03_category_list'] = 'category.php?act=list';
// 用戶評論
// $modules['02_cat_and_goods']['05_comment_manage'] = 'comment_manage.php?act=list';
$modules['02_cat_and_goods']['06_goods_brand_list'] = 'brand.php?act=list';
// $modules['02_cat_and_goods']['06_goods_brand_list'] = 'brand.php?act=list';
$modules['02_cat_and_goods']['08_goods_type'] = 'goods_type.php?act=manage';
// $modules['02_cat_and_goods']['11_goods_trash'] = 'goods.php?act=trash'; // 商品回收站
// $modules['02_cat_and_goods']['12_batch_pic'] = 'picture_batch.php';
@ -18,8 +18,8 @@ $modules['02_cat_and_goods']['08_goods_type'] = 'goods_type.php?act=manage
// $modules['02_cat_and_goods']['15_batch_edit'] = 'goods_batch.php?act=select'; // 商品批量修改
// $modules['02_cat_and_goods']['16_goods_script'] = 'gen_goods_script.php?act=setup';
// $modules['02_cat_and_goods']['17_tag_manage'] = 'tag_manage.php?act=list';
$modules['02_cat_and_goods']['50_virtual_card_list'] = 'goods.php?act=list&extension_code=virtual_card';
$modules['02_cat_and_goods']['52_virtual_card_change'] = 'virtual_card.php?act=change';
// $modules['02_cat_and_goods']['50_virtual_card_list'] = 'goods.php?act=list&extension_code=virtual_card';
// $modules['02_cat_and_goods']['52_virtual_card_change'] = 'virtual_card.php?act=change';
// $modules['03_promotion']['02_snatch_list'] = 'snatch.php?act=list';
@ -41,12 +41,12 @@ $modules['04_order']['02_order_list'] = 'order.html';
// $modules['04_order']['03_order_query'] = 'order.php?act=order_query';
// $modules['04_order']['04_merge_order'] = 'order.php?act=merge';
$modules['04_order']['05_edit_order_print'] = 'order.php?act=templates';
$modules['04_order']['06_undispose_booking'] = 'goods_booking.php?act=list_all';
// $modules['04_order']['06_undispose_booking'] = 'goods_booking.php?act=list_all';
//$modules['04_order']['07_repay_application'] = 'repay.php?act=list_all';
$modules['04_order']['08_add_order'] = 'order.html#/add';
$modules['04_order']['09_delivery_order'] = 'order.php?act=delivery_list';
//$modules['04_order']['10_back_order'] = 'order.php?act=back_list';//模板之家代码修改 退换货
$modules['04_order']['10_back_order'] = 'back.php?act=back_list'; //模板之家代码修改 退换货
// $modules['04_order']['10_back_order'] = 'back.php?act=back_list'; //模板之家代码修改 退换货
$modules['05_banner']['ad_position'] = 'ad_position.php?act=list';
$modules['05_banner']['ad_list'] = 'ads.php?act=list';
@ -85,17 +85,17 @@ $modules['10_priv_admin']['admin_role'] = 'role.php?act=list';
$modules['11_system']['01_shop_config'] = 'shopConfig.html';
$modules['11_system']['02_table'] = 'table.html';
$modules['11_system']['03_payment_list'] = 'payment.html';
$modules['11_system']['04_shipping_list'] = 'shipping.html';
// $modules['11_system']['04_shipping_list'] = 'shipping.html';
// $modules['11_system']['04_mail_settings'] = 'shop_config.php?act=mail_settings';
$modules['11_system']['05_area_list'] = 'area_manage.php?act=list';
// $modules['11_system']['05_area_list'] = 'area_manage.php?act=list';
//$modules['11_system']['06_plugins'] = 'plugins.php?act=list';
//$modules['11_system']['07_cron_schcron'] = 'cron.php?act=list';
$modules['11_system']['08_friendlink_list'] = 'friend_link.php?act=list';
// $modules['11_system']['08_friendlink_list'] = 'friend_link.php?act=list';
// $modules['11_system']['sitemap'] = 'sitemap.php';
$modules['11_system']['captcha_manage'] = 'captcha_manage.php?act=main';
$modules['11_system']['ucenter_setup'] = 'integrate.php?act=setup&code=ucenter';
// $modules['11_system']['ucenter_setup'] = 'integrate.php?act=setup&code=ucenter';
// $modules['11_system']['flashplay'] = 'flashplay.php?act=list';
$modules['11_system']['navigator'] = 'navigator.php?act=list';
// $modules['11_system']['navigator'] = 'navigator.php?act=list';
// $modules['11_system']['file_check'] = 'filecheck.php';
//$modules['11_system']['fckfile_manage'] = 'fckfile_manage.php?act=list';
$modules['11_system']['021_reg_fields'] = 'reg_fields.php?act=list';
@ -108,8 +108,8 @@ $modules['11_system']['021_reg_fields'] = 'reg_fields.php?act=list';
// $modules['12_template']['06_template_backup'] = 'template.php?act=backup_setting';
// $modules['12_template']['mail_template_manage'] = 'mail_template.php?act=list';
$modules['15_rec']['affiliate'] = 'affiliate.php?act=list';
$modules['15_rec']['affiliate_ck'] = 'affiliate_ck.php?act=list';
// $modules['15_rec']['affiliate'] = 'affiliate.php?act=list';
// $modules['15_rec']['affiliate_ck'] = 'affiliate_ck.php?act=list';
// $modules['16_email_manage']['email_list'] = 'email_list.php?act=list';
// $modules['16_email_manage']['magazine_list'] = 'magazine_list.php?act=list';

@ -399,7 +399,7 @@ function nav_update($id, $args)
}
/*------------------------------------------------------ */
//-- 根據URI對導航欄項目進行分析確定其為品分類還是文章分類
//-- 根據URI對導航欄項目進行分析確定其為品分類還是文章分類
/*------------------------------------------------------ */
function analyse_uri($uri)
{
@ -431,7 +431,7 @@ function analyse_uri($uri)
switch($fn)
{
case 'category.php' :
//品分類
//品分類
foreach($arr as $k => $v)
{
list($key, $val) = explode('=', $v);

@ -9,12 +9,12 @@
rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback"
/>
<script type="module" crossorigin src="./assets/order-d932c0ec.js"></script>
<script type="module" crossorigin src="./assets/order-44b3e354.js"></script>
<link rel="modulepreload" crossorigin href="./assets/normalize-8daa80b1.js">
<link rel="modulepreload" crossorigin href="./assets/config-provider-ecb8405d.js">
<link rel="modulepreload" crossorigin href="./assets/vue-router-9e943271.js">
<link rel="stylesheet" href="./assets/normalize-a99f45e8.css">
<link rel="stylesheet" href="./assets/order-62ce5b84.css">
<link rel="stylesheet" href="./assets/order-da492a48.css">
</head>
<body class="hold-transition login-page">
<!-- /.login-box -->

@ -1,23 +0,0 @@
<!DOCTYPE html>
<html lang="zh-TW">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>製卡</title>
<!-- Google Font: Source Sans Pro -->
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback"
/>
<link href="https://dev.iconly.io/public/x2OLQFwf8Nev/iconly.css" rel="stylesheet"/>
<script type="module" crossorigin src="./assets/printcard-af597f48.js"></script>
<link rel="modulepreload" crossorigin href="./assets/normalize-9a5cc66b.js">
<link rel="stylesheet" href="./assets/normalize-91389c43.css">
<link rel="stylesheet" href="./assets/printcard-c770d29e.css">
</head>
<body class="hold-transition login-page">
<!-- /.login-box -->
<div id="app"></div>
</body>
</html>

@ -6,15 +6,15 @@ body {
margin: 0px;
padding: 0px;
color: #192E32;
font: 12px "微软雅黑","Microsoft Yahei","sans-serif", "Arial", "Verdana";
font: 18px "微软雅黑","Microsoft Yahei","sans-serif", "Arial", "Verdana";
}
p, td, div {
font: 12px "sans-serif", "Arial", "Verdana";
font: 16px "sans-serif", "Arial", "Verdana";
}
th {
font: 12px "sans-serif", "Arial", "Verdana";
font: 16px "sans-serif", "Arial", "Verdana";
font-weight: bold;
}
@ -24,7 +24,7 @@ form {
}
input, textarea, select {
font: 12px "courier new";
font: 16px "courier new";
}
input[type='text']{ margin: 5px; padding: 0px 4px; height: 28px; line-height: 28px; width: auto; border: solid 1px #ddd;}
input[type='password']{ margin: 5px; padding: 0px 4px; height: 28px; line-height: 28px; min-width: 200px; width: auto; border: solid 1px #ddd;}

@ -33,7 +33,7 @@ h1 a:hover {
h1 span{zoom:1;}
h1 .action-span a { float: right; height: 26px; line-height: 26px; padding: 0 10px 0 23px; background: #c43926 url(../images/icon_add02.gif) no-repeat 6px center; border-radius: 3px; color: #fff; font-size: 13px; font-weight: normal; text-align: center; cursor:pointer;}
h1 .action-span a { float: right; height: 26px; line-height: 26px; padding: 0 10px 0 23px; background: #c43926 url(../images/icon_add02.gif) no-repeat 6px center; border-radius: 3px; color: #fff; font-size: 16px; font-weight: normal; text-align: center; cursor:pointer;}
h1 .action-span a:hover { text-decoration:none; background-color:#ca4d3c;}
h1 .action-span1 {color: #4c4c4c; font-size: 18px; font-weight: normal;}
@ -104,7 +104,7 @@ input.text_input1 {
}
.login_dl tr td.dl td a {
color: #8c8c8c;
font-size: 12px
font-size: 16px
}
.login_dl tr td.dl .dl_1 {
letter-spacing: 3px
@ -233,7 +233,7 @@ cursor: pointer;
.tab-back {
padding:0 20px;
text-align: center;
font-size: 13px;
font-size: 16px;
float: left;
display: block;
float: left;
@ -248,7 +248,7 @@ cursor: pointer;
display: block;
float: left;
text-align: center;
font-size: 13px;
font-size: 16px;
color: #787878;
line-height: 39px;
cursor: hand;
@ -334,7 +334,7 @@ input.capital {
}
span.require-field {
font: 12px verdana;
font: 16px verdana;
color: #FF0000;
}
@ -480,7 +480,7 @@ div#popMsg {
.todolist-box .head {
line-height: 23px;
color: #fff;
font-size: 12px;
font-size: 16px;
background: #D8D9DF url(../images/icon_title.gif) no-repeat 10px center;
height: 23px;
padding-left: 28px;
@ -506,7 +506,7 @@ div#popMsg {
.todolist-box .bottomLeft {
text-align: right;
font-size: 12px;
font-size: 16px;
border: 1px solid #CCCBD9;
border-top: 0;
background: #DCDDE3;
@ -601,7 +601,7 @@ div#popMsg {
padding-left:3px;
font-weight:400;
font-style:normal;
font-size:12px;
font-size:16px;
color:#999;
}
@ -686,7 +686,7 @@ a.special:active{
text-align:center;
}
.normal {
font-weight:400;font-size:12px;
font-weight:400;font-size:16px;
}
.marginbot {
margin-bottom:10px;
@ -894,7 +894,7 @@ ul,li{ list-style:none;}
.list-div .console_detaile li .img img{ width:30px; height:auto; margin-top:26%;}
.list-div .console_detaile li .text{ padding:10px 0 0 15px; float:left;}
.list-div .console_detaile li .text h2,.list-div .console_detaile li .text p{ margin:0;}
.list-div .console_detaile li .text h2{ font-size:12px; font-weight:100; font-family:"微软雅黑"; color:#6a6a6a;}
.list-div .console_detaile li .text h2{ font-size:16px; font-weight:100; font-family:"微软雅黑"; color:#6a6a6a;}
.list-div .console_detaile li .text p{ font-size:24px; font-weight:700;}
.list-div .console_detaile li .text p a:hover{ color:#ff3f3f;}

@ -11,7 +11,7 @@
<span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeCat_name">一次可添加多個分類,一行一個</span>
</td>
</tr>
<tr>
<!-- <tr>
<td class="label">{$lang.parent_id}:</td>
<td>
<select name="parent_id">
@ -19,7 +19,7 @@
{$cat_select}
</select>
</td>
</tr>
</tr> -->
<!-- <tr id="measure_unit">
<td class="label">{$lang.measure_unit}:</td>
@ -48,15 +48,15 @@
<input type="radio" name="show_in_nav" value="0" {if $cat_info.show_in_nav eq 0} checked="true"{/if} /> {$lang.no}
</td>
</tr>
<tr>
<!-- <tr>
<td class="label">{$lang.show_in_index}:</td>
<td>
<input type="checkbox" name="cat_recommend[]" value="1" {if $cat_recommend[1] eq 1} checked="true"{/if}/> {$lang.index_best}
<input type="checkbox" name="cat_recommend[]" value="2" {if $cat_recommend[2] eq 1} checked="true"{/if} /> {$lang.index_new}
<input type="checkbox" name="cat_recommend[]" value="3" {if $cat_recommend[3] eq 1} checked="true"{/if} /> {$lang.index_hot}
</td>
</tr>
<tr>
</tr> -->
<!-- <tr>
<td class="label">
{$lang.filter_attr}:
</td>
@ -120,8 +120,8 @@
<span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeFilterAttr">{$lang.filter_attr_notic}</span>
</td>
</tr>
<tr>
</tr> -->
<!-- <tr>
<td class="label">
{$lang.grade}:
</td>
@ -129,15 +129,7 @@
<input type="text" name="grade" value="{$cat_info.grade|default:0}" size="40" /> <br />
<span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeGrade">{$lang.notice_grade}</span>
</td>
</tr>
<tr>
<td class="label">
{$lang.cat_style}:</td>
<td>
<input type="text" name="style" value="{$cat_info.style|escape}" size="40" /> <br />
<span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeGoodsSN">{$lang.notice_style}</span>
</td>
</tr>
</tr> -->
<tr>
<td class="label">分類小圖標:</td>
<td><input type="file" name="cat_ico" id="cat_ico" size="50"><br />{if $cat_info.cat_ico}<img src="../data/cat_ico/{$cat_info.cat_ico}" height="80" width="80" /> <input type="button" value="刪除圖標" onclick="if (confirm('確認刪除分類圖標嗎?'))location.href='category.php?act=drop_cat_ico&id={$cat_info.cat_id}'">{/if}</td>

@ -24,21 +24,20 @@
<p>
<span class="tab-front" id="general-tab">{$lang.tab_general}</span><span
class="tab-back" id="detail-tab">{$lang.tab_detail}</span><span
class="tab-back" id="mix-tab">{$lang.tab_mix}</span>{if $goods_type_list}<span
class="tab-back" id="properties-tab">{$lang.tab_properties}</span>{/if}<span
class="tab-back" id="gallery-tab">{$lang.tab_gallery}</span><span
class="tab-back" id="linkgoods-tab">{$lang.tab_linkgoods}</span>{if $code eq ''}<span
class="tab-back" id="groupgoods-tab">{$lang.tab_groupgoods}</span>{/if}<span
class="tab-back" id="article-tab">{$lang.tab_article}</span>
class="tab-back" id="mix-tab">{$lang.tab_mix}</span>
{if $goods_type_list}<span class="tab-back" id="properties-tab">菜品屬性</span>{/if}
<span class="tab-back" id="gallery-tab">菜品圖片</span>
<!-- <span class="tab-back" id="linkgoods-tab">關連菜品</span> -->
<!-- {if $code eq ''}<span class="tab-back" id="groupgoods-tab">加購</span>{/if} -->
<!-- <span class="tab-back" id="article-tab">關連文章</span> -->
<!-- <span class="tab-back" id="promotions-tab">促銷活動</span> -->
</p>
</div>
<!-- tab body -->
<div id="tabbody-div">
<form enctype="multipart/form-data" action="" method="post" name="theForm" >
<!-- 鏈€澶ф枃浠堕檺鍒 -->
<input type="hidden" name="MAX_FILE_SIZE" value="2097152" />
<!-- 閫氱敤淇℃伅 -->
<table width="90%" id="general-table" align="center" class="goods_info">
<tr>
<td class="label">{$lang.lab_goods_name}</td>
@ -83,7 +82,7 @@
{$lang.require_field}
</td>
</tr>
<tr>
<!-- <tr>
<td class="label">{$lang.lab_other_cat}</td>
<td>
<input type="button" value="{$lang.add}" onclick="addOtherCat(this.parentNode)" class="button" />
@ -91,8 +90,8 @@
<select name="other_cat[]"><option value="0">{$lang.select_please}</option>{$other_cat_list.$cat_id}</select>
{/foreach}
</td>
</tr>
<tr>
</tr> -->
<!-- <tr>
<td class="label">{$lang.lab_goods_brand}</td>
<td><select name="brand_id" onchange="hideBrandDiv()" ><option value="0">{$lang.select_please}{html_options options=$brand_list selected=$goods.brand_id}</select>
{if $is_add}
@ -105,7 +104,7 @@
</span>
{/if}
</td>
</tr>
</tr> -->
{if $suppliers_exists eq 1}
<tr>
<td class="label">{$lang.label_suppliers}</td>
@ -137,7 +136,6 @@
</tr>
{/if}
<!--鍟嗗搧浼樻儬浠锋牸-->
<tr>
<td class="label">
<!-- <a href="javascript:showNotice('volumePrice');" title="{$lang.form_notice}"><img src="images/notice.gif" width="21" height="21" border="0" alt="{$lang.form_notice}"></a> -->
@ -161,13 +159,6 @@
<span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="volumePrice">{$lang.notice_volume_price}</span>
</td>
</tr>
<!--鍟嗗搧浼樻儬浠锋牸 end -->
<tr>
<td class="label">分成金额</td>
<td><input type="text" name="fencheng" value="{$goods.fencheng}" size="20" />
<br /><span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="rankIntegral">该商品出售后,需要用于分成的金额</span></td>
</tr>
<tr>
<td class="label">{$lang.lab_market_price}</td>
@ -190,35 +181,13 @@
<br /><span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="rankIntegral">{$lang.notice_rank_integral}</span></td>
</tr>
<tr>
<td class="label"><a href="javascript:showNotice('noticPoints');" title="{$lang.form_notice}"><img src="images/notice.gif" width="21" height="21" border="0" alt="{$lang.form_notice}"></a> {$lang.lab_integral}</td>
<td class="label">
{$lang.lab_integral}</td>
<td><input type="text" name="integral" value="{$goods.integral}" size="20" onblur="parseint_integral()";/>
<br /><span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticPoints">{$lang.notice_integral}</span>
</td>
</tr>
<tr>
<td class="label"><label for="is_promote"><input type="checkbox" id="is_promote" name="is_promote" value="1" {if $goods.is_promote}checked="checked"{/if} onclick="handlePromote(this.checked);" /> {$lang.lab_promote_price}</label></td>
<td id="promote_3"><input type="text" id="promote_1" name="promote_price" value="{$goods.promote_price}" size="20" /></td>
</tr>
<tr id="promote_4">
<td class="label" id="promote_5">{$lang.lab_promote_date}</td>
<td id="promote_6">
<input name="promote_start_date" type="text" id="promote_start_date" size="12" value='{$goods.promote_start_date}' readonly="readonly" /><input name="selbtn1" type="button" id="selbtn1" onclick="return showCalendar('promote_start_date', '%Y-%m-%d', false, false, 'selbtn1');" value="{$lang.btn_select}" class="button"/> - <input name="promote_end_date" type="text" id="promote_end_date" size="12" value='{$goods.promote_end_date}' readonly="readonly" /><input name="selbtn2" type="button" id="selbtn2" onclick="return showCalendar('promote_end_date', '%Y-%m-%d', false, false, 'selbtn2');" value="{$lang.btn_select}" class="button"/>
</td>
</tr>
<tr>
<td class="label"><label for="is_sale"><input type="checkbox" id="is_sale" name="is_sale" value="1" {if $goods.is_sale}checked="checked"{/if} onclick="handlesale(this.checked);" /> {$lang.lab_sale_price}</label></td>
<td id="sale_3"><input type="text" id="sale_1" name="sale_price" value="{$goods.sale_price}" size="20" /></td>
</tr>
<tr>
<td class="label" >限购数量:</td>
<td id="promote_3"><input type="text" id="buymax" name="buymax" value="{$goods.buymax}" size="20" /><br /><span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="giveIntegral">表示秒杀日期内每个用户最多只能购买多少件。0表示不限购</span></td>
</tr>
<tr id="sale_4">
<td class="label" id="sale_5">{$lang.lab_sale_date}</td>
<td id="sale_6">
<input name="sale_start_date" type="text" id="sale_start_date" size="20" value='{$goods.sale_start_date}' readonly="readonly" /><input name="selbtn12" type="button" id="selbtn12" onclick="return showCalendar('sale_start_date', '%Y-%m-%d %H:%M','24', false, 'selbtn12');" value="{$lang.btn_select}" class="button"/> - <input name="sale_end_date" type="text" id="sale_end_date" size="20" value='{$goods.sale_end_date}' readonly="readonly" /><input name="selbtn22" type="button" id="selbtn22" onclick="return showCalendar('sale_end_date', '%Y-%m-%d %H:%M','24', false, 'selbtn22');" value="{$lang.btn_select}" class="button"/>
</td>
</tr>
<tr>
<td class="label">{$lang.lab_picture}</td>
<td>
@ -247,56 +216,62 @@
</tr>
</table>
<!-- 璇︾粏鎻忚堪 -->
<table width="90%" id="detail-table" style="display:none">
<tr>
<td><textarea id="editor_id" name="goods_desc" style="width:100%;height:300px;">{$goods_desc}</textarea></td>
</tr>
</table>
<!-- 鍏朵粬淇℃伅 -->
<table width="90%" id="mix-table" style="display:none" align="center">
{if $code eq ''}
<tr>
<!-- <tr>
<td class="label">{$lang.lab_goods_weight}</td>
<td><input type="text" name="goods_weight" value="{$goods.goods_weight_by_unit}" size="20" /> <select name="weight_unit">{html_options options=$unit_list selected=$weight_unit}</select></td>
</tr>
</tr> -->
{/if}
{if $cfg.use_storage}
<tr>
<!-- <tr>
<td class="label"><a href="javascript:showNotice('noticeStorage');" title="{$lang.form_notice}"><img src="images/notice.gif" width="21" height="21" border="0" alt="{$lang.form_notice}"></a> {$lang.lab_goods_number}</td>
<!-- <td><input type="text" name="goods_number" value="{$goods.goods_number}" size="20" {if $code neq '' || $goods._attribute neq ''}readonly="readonly"{/if} /><br />-->
<td><input type="text" name="goods_number" value="{$goods.goods_number}" size="20" {if $code neq '' || $goods._attribute neq ''}readonly="readonly"{/if} /><br />
<td><input type="text" name="goods_number" value="{$goods.goods_number}" size="20" /><br />
<span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeStorage">{$lang.notice_storage}</span></td>
</tr>
<tr>
</tr> -->
<!-- <tr>
<td class="label">{$lang.lab_warn_number}</td>
<td><input type="text" name="warn_number" value="{$goods.warn_number}" size="20" /></td>
</tr>
</tr> -->
{/if}
<tr>
<td class="label">{$lang.lab_intro}</td>
<td><input type="checkbox" name="is_best" value="1" {if $goods.is_best}checked="checked"{/if} />{$lang.is_best} <input type="checkbox" name="is_new" value="1" {if $goods.is_new}checked="checked"{/if} />{$lang.is_new} <input type="checkbox" name="is_hot" value="1" {if $goods.is_hot}checked="checked"{/if} />{$lang.is_hot}</td>
<td>
<input type="checkbox" name="is_best" value="1" {if $goods.is_best}checked="checked"{/if} />推薦商品
<!-- <input type="checkbox" name="is_new" value="1" {if $goods.is_new}checked="checked"{/if} />{$lang.is_new}
<input type="checkbox" name="is_hot" value="1" {if $goods.is_hot}checked="checked"{/if} />{$lang.is_hot} -->
</td>
</tr>
<tr id="alone_sale_1">
<td class="label" id="alone_sale_2">{$lang.lab_is_on_sale}</td>
<td id="alone_sale_3"><input type="checkbox" name="is_on_sale" value="1" {if $goods.is_on_sale}checked="checked"{/if} /> {$lang.on_sale_desc}</td>
<td class="label" id="alone_sale_2">上架</td>
<td id="alone_sale_3"><input type="checkbox" name="is_on_sale" value="1" {if $goods.is_on_sale}checked="checked"{/if} />
{$lang.on_sale_desc}
</td>
</tr>
<tr>
<td class="label">{$lang.lab_is_alone_sale}</td>
<td><input type="checkbox" name="is_alone_sale" value="1" {if $goods.is_alone_sale}checked="checked"{/if} /> {$lang.alone_sale}</td>
<td class="label">能作為普通菜品銷售</td>
<td><input type="checkbox" name="is_alone_sale" value="1" {if $goods.is_alone_sale}checked="checked"{/if} />
打勾表示能作為普通菜品銷售,否則只能作為加購銷售。
</td>
</tr>
<tr>
<!-- <tr>
<td class="label">{$lang.lab_is_free_shipping}</td>
<td><input type="checkbox" name="is_shipping" value="1" {if $goods.is_shipping}checked="checked"{/if} /> {$lang.free_shipping}</td>
</tr>
<tr>
</tr> -->
<!-- <tr>
<td class="label">{$lang.lab_keywords}</td>
<td><input type="text" name="keywords" value="{$goods.keywords|escape}" size="40" /> {$lang.notice_keywords}</td>
</tr>
</tr> -->
<tr>
<td class="label">
<a href="javascript:showNotice('noticeSellerNote');" title="{$lang.form_notice}"><img src="images/notice.gif" width="21" height="21" border="0" alt="{$lang.form_notice}"></a> {$lang.lab_seller_note} </td>
{$lang.lab_seller_note} </td>
<td><textarea name="seller_note" cols="40" rows="3">{$goods.seller_note}</textarea><br />
<span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeSellerNote">{$lang.notice_seller_note}</span></td>
</tr>
@ -317,17 +292,15 @@
<tr>
<td id="tbody-goodsAttr" colspan="2" style="padding:0">{$goods_attr_html}</td>
</tr>
<!-- 自动货品开始 模板之家开发www.mb5.com.cn -->
<tr>
<td colspan="2" style="padding:0"><table width="100%"><tr><td class="label">动货</td><td><input type="radio" checked name="ectang_attr_style" value="1">更新方式(推荐)保留原先库存,清理失效规<input type="radio" name="ectang_attr_style" value="2">初始化模式(清理原先规格库存 自动货品库存)</td><tr></table></td>
<td colspan="2" style="padding:0"><table width="100%"><tr><td class="label">動貨</td><td><input type="radio" checked name="ectang_attr_style" value="1">更新方式(推薦)保留原先庫存,清理失效規<input type="radio" name="ectang_attr_style" value="2">初始化模式(清理原先規格庫存 自動貨品庫存)</td><tr></table></td>
</tr>
<!-- 自动货品结束 模板之家开发www.mb5.com.cn -->
</table>
{/if}
<!-- 鍟嗗搧鐩稿唽 -->
<table width="90%" id="gallery-table" style="display:none" align="center">
<!--墖鍒楄〃 -->
<!--墖鍒楄〃 -->
<tr>
<td>
{foreach from=$img_list item=img key=i}
@ -342,7 +315,7 @@
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<!-- 涓婁紶鍥-->
<!-- 涓婁紶鍥-->
<tr>
<td>
<a href="javascript:;" onclick="addImg(this)">[+]</a>
@ -353,9 +326,9 @@
</tr>
</table>
<!--仈鍟嗗搧 -->
<!--仈鍟嗗搧 -->
<table width="90%" id="linkgoods-table" style="display:none" align="center">
<!-- 鍟嗗搧鎼滅 -->
<!-- 鍟嗗搧鎼滅 -->
<tr>
<td colspan="3">
<img src="images/icon_search.gif" width="26" height="22" border="0" alt="SEARCH" />
@ -394,9 +367,9 @@
</tr>
</table>
<!-- 閰嶄 -->
<!-- 閰嶄 -->
<table width="90%" id="groupgoods-table" style="display:none" align="center">
<!-- 鍟嗗搧鎼滅 -->
<!-- 鍟嗗搧鎼滅 -->
<tr>
<td colspan="3">
<img src="images/icon_search.gif" width="26" height="22" border="0" alt="SEARCH" />
@ -433,9 +406,9 @@
</tr>
</table>
<!--仈鏂囩珷 -->
<!--仈鏂囩珷 -->
<table width="90%" id="article-table" style="display:none" align="center">
<!-- 鏂囩珷鎼滅 -->
<!-- 鏂囩珷鎼滅 -->
<tr>
<td colspan="3">
<img src="images/icon_search.gif" width="26" height="22" border="0" alt="SEARCH" />
@ -470,6 +443,38 @@
</tr>
</table>
<!-- 促銷活動: START -->
<table width="90%" id="promotions-table" style="display:none" align="center">
<tr>
<td class="label"><label for="is_promote"><input type="checkbox" id="is_promote" name="is_promote" value="1" {if $goods.is_promote}checked="checked"{/if} onclick="handlePromote(this.checked);" /> {$lang.lab_promote_price}</label></td>
<td id="promote_3"><input type="text" id="promote_1" name="promote_price" value="{$goods.promote_price}" size="20" /></td>
</tr>
<tr id="promote_4">
<td class="label" id="promote_5">{$lang.lab_promote_date}</td>
<td id="promote_6">
<input name="promote_start_date" type="text" id="promote_start_date" size="12" value='{$goods.promote_start_date}' readonly="readonly" /><input name="selbtn1" type="button" id="selbtn1" onclick="return showCalendar('promote_start_date', '%Y-%m-%d', false, false, 'selbtn1');" value="{$lang.btn_select}" class="button"/> - <input name="promote_end_date" type="text" id="promote_end_date" size="12" value='{$goods.promote_end_date}' readonly="readonly" /><input name="selbtn2" type="button" id="selbtn2" onclick="return showCalendar('promote_end_date', '%Y-%m-%d', false, false, 'selbtn2');" value="{$lang.btn_select}" class="button"/>
</td>
</tr>
<tr>
<td class="label"><label for="is_sale"><input type="checkbox" id="is_sale" name="is_sale" value="1" {if $goods.is_sale}checked="checked"{/if} onclick="handlesale(this.checked);" /> {$lang.lab_sale_price}</label></td>
<td id="sale_3"><input type="text" id="sale_1" name="sale_price" value="{$goods.sale_price}" size="20" /></td>
</tr>
<tr>
<td class="label" >限購數量:</td>
<td id="promote_3"><input type="text" id="buymax" name="buymax" value="{$goods.buymax}" size="20" /><br /><span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="giveIntegral">表示秒殺日期內每個用戶最多隻能購買多少件。0表示不限購</span></td>
</tr>
<tr id="sale_4">
<td class="label" id="sale_5">{$lang.lab_sale_date}</td>
<td id="sale_6">
<input name="sale_start_date" type="text" id="sale_start_date" size="20" value='{$goods.sale_start_date}' readonly="readonly" /><input name="selbtn12" type="button" id="selbtn12" onclick="return showCalendar('sale_start_date', '%Y-%m-%d %H:%M','24', false, 'selbtn12');" value="{$lang.btn_select}" class="button"/> - <input name="sale_end_date" type="text" id="sale_end_date" size="20" value='{$goods.sale_end_date}' readonly="readonly" /><input name="selbtn22" type="button" id="selbtn22" onclick="return showCalendar('sale_end_date', '%Y-%m-%d %H:%M','24', false, 'selbtn22');" value="{$lang.btn_select}" class="button"/>
</td>
</tr>
</table>
<!-- 促銷活動: END -->
<div class="button-div">
<input type="hidden" name="goods_id" value="{$goods.goods_id}" />
{if $code neq ''}
@ -505,7 +510,7 @@
handleAutoThumb(document.forms['theForm'].elements['auto_thumb'].checked);
}
// €鏌ユ柊璁㈠崟
// €鏌ユ柊璁㈠崟
startCheckOrder();
{/literal}
{foreach from=$user_rank_list item=item}
@ -563,7 +568,7 @@
}
/**
* 鍒囨崲鍟嗗搧绫诲
* 鍒囨崲鍟嗗搧綾誨
*/
function getAttrList(goodsId)
{
@ -583,10 +588,10 @@
}
/**
* 鎸夋瘮渚嬭?绠椾环
* @param string inputName 杈撳叆妗嗗悕绉
* 鎸夋瘮渚嬭?綆椾環
* @param string inputName 杈撳靉妗嗗悕縐
* @param float rate 姣斾緥
* @param string priceName 浠锋牸杈撳叆妗嗗悕绉帮紙濡傛灉娌℃湁锛屽彇shop_price锛
* @param string priceName 浠鋒牸杈撳靉妗嗗悕縐幫紙濡傛灉娌℃湁錛屽彇shop_price錛
*/
function computePrice(inputName, rate, priceName)
{
@ -615,7 +620,7 @@
}
/**
* 璁剧疆浜嗕竴涓?晢鍝佷环鏍硷紝鏀瑰彉甯傚満浠锋牸銆佺Н鍒嗕互鍙婁細鍛樹环
* 璁劇疆浜嗕竴涓?晢鍝佷環鏍礆紝鏀瑰彉甯傚満浠鋒牸銆佺Н鍒嗕互鍙婁細鍛樹環
*/
function priceSetted()
{
@ -629,7 +634,7 @@
}
/**
* 璁剧疆浼氬憳浠锋牸娉ㄩ噴
* 璁劇疆浼氬憳浠鋒牸娉ㄩ噴
*/
function set_price_note(rank_id)
{
@ -659,7 +664,7 @@
}
/**
* 鏍规嵁甯傚満浠锋牸锛岃?绠楀苟鏀瑰彉鍟嗗簵浠锋牸銆佺Н鍒嗕互鍙婁細鍛樹环
* 鏍規嵁甯傚満浠鋒牸錛岃?綆楀苟鏀瑰彉鍟嗗簵浠鋒牸銆佺Н鍒嗕互鍙婁細鍛樹環
*/
function marketPriceSetted()
{
@ -882,7 +887,7 @@
opt.selected = true;
opt.innerHTML = response.cat;
//鑾峰彇瀛愬垎绫荤殑绌烘牸鏁
//鑾峰彇瀛愬垎綾葷殑絀烘牸鏁
var str = selCat.options[selCat.selectedIndex].text;
var temp = str.replace(/^\s+/g, '');
var lengOfSpace = str.length - temp.length;
@ -937,7 +942,7 @@
/**
* 鍒犻櫎蹇?€熷垎
* 鍒犻櫎蹇?€熷垎
*/
function removeCat()
{
@ -968,7 +973,7 @@
}
/**
* 娣姞鎵╁睍鍒嗙被
* 娣姞鎵╁睍鍒嗙被
*/
function addOtherCat(conObj)
{
@ -994,7 +999,7 @@
sel.onChange = function() {checkIsLeaf(this);};
}
/* 鍏仈鍟嗗搧鍑芥暟 */
/* 鍏仈鍟嗗搧鍑芥暟 */
function searchGoods(szObject, catId, brandId, keyword)
{
var filters = new Object;
@ -1008,7 +1013,7 @@
}
/**
* 鍏仈鏂囩珷鍑芥暟
* 鍏仈鏂囩珷鍑芥暟
*/
function searchArticle()
{
@ -1033,7 +1038,7 @@
}
/**
* 鍒犻櫎鍥墖涓婁紶
* 鍒犻櫎鍥墖涓婁紶
*/
function removeImg(obj)
{
@ -1044,7 +1049,7 @@
}
/**
* 鍒犻櫎鍥
* 鍒犻櫎鍥
*/
function dropImg(imgId)
{
@ -1060,7 +1065,7 @@
}
/**
* 灏嗗競鍦轰环鏍煎彇鏁
* 灝嗗競鍦轟環鏍煎彇鏁
*/
function integral_market_price()
{
@ -1068,7 +1073,7 @@
}
/**
* 嗙Н鍒嗚喘涔伴?搴﹀彇鏁
* 嗙Н鍒嗚喘涔伴?搴﹀彇鏁
*/
function parseint_integral()
{
@ -1077,7 +1082,7 @@
/**
* 妫€鏌ヨ揣鍙锋槸鍚﹀瓨鍦
* 媯€鏌ヨ揣鍙鋒槸鍚﹀瓨鍦
*/
function checkGoodsSn(goods_sn, goods_id)
{
@ -1103,7 +1108,7 @@
}
/**
* 鏂板?涓€涓?紭鎯犱
* 鏂板?涓€涓?紭鎯犱
*/
function addVolumePrice(obj)
{
@ -1129,7 +1134,7 @@
}
/**
* 鍒犻櫎浼樻儬浠
* 鍒犻櫎浼樻儬浠
*/
function removeVolumePrice(obj)
{

@ -21,9 +21,9 @@
<th><a href="javascript:listTable.sort('goods_sn'); ">{$lang.goods_sn}</a>{$sort_goods_sn}</th>
<th><a href="javascript:listTable.sort('shop_price'); ">{$lang.shop_price}</a>{$sort_shop_price}</th>
<th><a href="javascript:listTable.sort('is_on_sale'); ">{$lang.is_on_sale}</a>{$sort_is_on_sale}</th>
<th><a href="javascript:listTable.sort('is_best'); ">{$lang.is_best}</a>{$sort_is_best}</th>
<th><a href="javascript:listTable.sort('is_new'); ">{$lang.is_new}</a>{$sort_is_new}</th>
<th><a href="javascript:listTable.sort('is_hot'); ">{$lang.is_hot}</a>{$sort_is_hot}</th>
<th><a href="javascript:listTable.sort('is_best'); ">熱門推薦</a>{$sort_is_best}</th>
<!-- <th><a href="javascript:listTable.sort('is_new'); ">{$lang.is_new}</a>{$sort_is_new}</th> -->
<!-- <th><a href="javascript:listTable.sort('is_hot'); ">{$lang.is_hot}</a>{$sort_is_hot}</th> -->
<th><a href="javascript:listTable.sort('sort_order'); ">{$lang.sort_order}</a>{$sort_sort_order}</th>
{if $use_storage}
<th><a href="javascript:listTable.sort('goods_number'); ">{$lang.goods_number}</a>{$sort_goods_number}</th>
@ -41,8 +41,8 @@
<td align="center"><span onclick="listTable.edit(this, 'edit_goods_price', {$goods.goods_id})">{$goods.shop_price}</span></td>
<td align="center"><img src="images/{if $goods.is_on_sale}yes{else}no{/if}.gif" onclick="listTable.toggle(this, 'toggle_on_sale', {$goods.goods_id})" /></td>
<td align="center"><img src="images/{if $goods.is_best}yes{else}no{/if}.gif" onclick="listTable.toggle(this, 'toggle_best', {$goods.goods_id})" /></td>
<td align="center"><img src="images/{if $goods.is_new}yes{else}no{/if}.gif" onclick="listTable.toggle(this, 'toggle_new', {$goods.goods_id})" /></td>
<td align="center"><img src="images/{if $goods.is_hot}yes{else}no{/if}.gif" onclick="listTable.toggle(this, 'toggle_hot', {$goods.goods_id})" /></td>
<!-- <td align="center"><img src="images/{if $goods.is_new}yes{else}no{/if}.gif" onclick="listTable.toggle(this, 'toggle_new', {$goods.goods_id})" /></td> -->
<!-- <td align="center"><img src="images/{if $goods.is_hot}yes{else}no{/if}.gif" onclick="listTable.toggle(this, 'toggle_hot', {$goods.goods_id})" /></td> -->
<td align="center"><span onclick="listTable.edit(this, 'edit_sort_order', {$goods.goods_id})">{$goods.sort_order}</span></td>
{if $use_storage}
<td align="center"><span onclick="listTable.edit(this, 'edit_goods_number', {$goods.goods_id})">{$goods.goods_number}</span></td>

@ -22,11 +22,11 @@
<i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
</a>
</li>
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<!-- <li class="layui-nav-item layui-hide-xs" lay-unselect>
<a href="http://www.layui.com/admin/" target="_blank" title="前台">
<i class="layui-icon layui-icon-website"></i>
</a>
</li>
</li> -->
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;" layadmin-event="refresh" title="刷新">
<i class="layui-icon layui-icon-refresh-3"></i>
@ -46,11 +46,11 @@
<span class="layui-badge-dot"></span>
</a>
</li>
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<!-- <li class="layui-nav-item layui-hide-xs" lay-unselect>
<a href="javascript:;" layadmin-event="theme">
<i class="layui-icon layui-icon-theme"></i>
</a>
</li>
</li> -->
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a href="javascript:;" layadmin-event="fullscreen">
<i class="layui-icon layui-icon-screen-full"></i>
@ -81,7 +81,7 @@
<div class="layui-side layui-side-menu">
<div class="layui-side-scroll">
<div class="layui-logo" lay-href="dashboard.html">
<span>SlashCard</span>
<span>點餐系統</span>
</div>
<ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">

@ -4,8 +4,8 @@
<title>{$lang.cp_home}{if $ur_here} - {$ur_here} {/if}</title>
<meta name="robots" content="noindex, nofollow">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="styles/general.css" rel="stylesheet" type="text/css" />
<link href="styles/main.css?v=1" rel="stylesheet" type="text/css" />
<link href="styles/general.css?v=2023072002" rel="stylesheet" type="text/css" />
<link href="styles/main.css?v=2023072002" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
<!-- Font Awesome -->
<link rel="stylesheet" href="plugins/fontawesome-free/css/all.min.css">

@ -163,7 +163,7 @@ function assign_ur_here($cat = 0, $str = '')
/* 處理有分類的 */
if (in_array($filename, array('category', 'goods', 'article_cat', 'article', 'brand')))
{
/* 品分類或商品 */
/* 品分類或商品 */
if ('category' == $filename || 'goods' == $filename || 'brand' == $filename)
{
if ($cat > 0)

@ -305,7 +305,7 @@ function get_cat_top3($cat_id)
}
/**
* shop 實現其他頁面(商品詳情頁、品分類頁、團購頁、優惠活動頁、積分商城)
* shop 實現其他頁面(商品詳情頁、品分類頁、團購頁、優惠活動頁、積分商城)
* 判斷如果是智能手機訪問的話 跳轉到ECTouch1.0手機版對應頁面 方法
*
* @access public

@ -53,7 +53,7 @@ $_LANG['report_form'] = '報表';
$_LANG['send'] = '發放';
$_LANG['bonus_excel_file'] = '線下紅包信息列表';
$_LANG['goods_cat'] = '選擇品分類';
$_LANG['goods_cat'] = '選擇品分類';
$_LANG['goods_brand'] = '商品品牌';
$_LANG['goods_key'] = '商品關鍵字';
$_LANG['all_goods'] = '可選商品';

@ -1,7 +1,7 @@
<?php
/**
* shop 品分類管理語言文件
* shop 品分類管理語言文件
* ============================================================================
* * 版權所有 2005-2012 上海商派網絡科技有限公司,並保留所有權利。
* 網站地址: http://www.shop.com
@ -13,7 +13,7 @@
* $Id: category.php 17217 2011-01-19 06:29:08Z wayne $
*/
/* 品分類字段信息 */
/* 品分類字段信息 */
$_LANG['cat_id'] = '編號';
$_LANG['cat_name'] = '分類名稱';
$_LANG['isleaf'] = '不允許';
@ -24,7 +24,7 @@ $_LANG['parent_id'] = '上級分類';
$_LANG['sort_order'] = '排序';
$_LANG['measure_unit'] = '數量單位';
$_LANG['delete_info'] = '刪除選中';
$_LANG['category_edit'] = '編輯品分類';
$_LANG['category_edit'] = '編輯品分類';
$_LANG['move_goods'] = '轉移商品';
$_LANG['cat_top'] = '頂級分類';
$_LANG['show_in_nav'] = '是否顯示在導航欄';
@ -45,7 +45,7 @@ $_LANG['index_hot'] = '熱門';
$_LANG['back_list'] = '返回分類列表';
$_LANG['continue_add'] = '繼續添加分類';
$_LANG['notice_style'] = '您可以為每一個品分類指定一個樣式表文件。例如文件存放在 themes 目錄下則輸入themes/style.css';
$_LANG['notice_style'] = '您可以為每一個品分類指定一個樣式表文件。例如文件存放在 themes 目錄下則輸入themes/style.css';
/* 操作提示信息 */
$_LANG['catname_empty'] = '分類名稱不能為空!';
@ -56,21 +56,21 @@ $_LANG["cat_noleaf"] = '底下還有其它子分類,不能修改為末級分類!
$_LANG["is_leaf_error"] = '所選擇的上級分類不能是當前分類或者當前分類的下級分類!';
$_LANG['grade_error'] = '價格分級數量只能是0-10之內的整數';
$_LANG['catadd_succed'] = '新品分類添加成功!';
$_LANG['catedit_succed'] = '品分類編輯成功!';
$_LANG['catdrop_succed'] = '品分類刪除成功!';
$_LANG['catremove_succed'] = '品分類轉移成功!';
$_LANG['move_cat_success'] = '轉移品分類已成功完成!';
$_LANG['catadd_succed'] = '新品分類添加成功!';
$_LANG['catedit_succed'] = '品分類編輯成功!';
$_LANG['catdrop_succed'] = '品分類刪除成功!';
$_LANG['catremove_succed'] = '品分類轉移成功!';
$_LANG['move_cat_success'] = '轉移品分類已成功完成!';
$_LANG['cat_move_desc'] = '什麼是轉移品分類?';
$_LANG['cat_move_desc'] = '什麼是轉移品分類?';
$_LANG['select_source_cat'] = '選擇要轉移的分類';
$_LANG['select_target_cat'] = '選擇目標分類';
$_LANG['source_cat'] = '從此分類';
$_LANG['target_cat'] = '轉移到';
$_LANG['start_move_cat'] = '開始轉移';
$_LANG['cat_move_notic'] = '在添加商品或者在商品管理中,如果需要對商品的分類進行變更,那麼你可以通過此功能,正確管理你的品分類。';
$_LANG['cat_move_notic'] = '在添加商品或者在商品管理中,如果需要對商品的分類進行變更,那麼你可以通過此功能,正確管理你的品分類。';
$_LANG['cat_move_empty'] = '你沒有正確選擇品分類!';
$_LANG['cat_move_empty'] = '你沒有正確選擇品分類!';
$_LANG['sel_goods_type'] = '請選擇商品類型';
$_LANG['sel_filter_attr'] = '請選擇篩選屬性';

@ -135,7 +135,7 @@ $_LANG['16_email_manage'] = '郵件群發管理';
/* 商品管理 */
$_LANG['01_goods_list'] = '菜品列表';
$_LANG['02_goods_add'] = '添加新商品';
$_LANG['03_category_list'] = '品分類';
$_LANG['03_category_list'] = '品分類';
$_LANG['04_category_add'] = '添加分類';
$_LANG['05_comment_manage'] = '用戶評論';
$_LANG['06_goods_brand_list'] = '商品品牌';

@ -16,7 +16,7 @@
$_LANG['select_method'] = '選擇商品的方式:';
$_LANG['by_cat'] = '從分類、品牌下選擇商品';
$_LANG['by_sn'] = '分類、品牌下所有商品';
$_LANG['select_cat'] = '選擇品分類:';
$_LANG['select_cat'] = '選擇品分類:';
$_LANG['select_brand'] = '選擇商品品牌:';
$_LANG['goods_list'] = '商品列表:';
$_LANG['src_list'] = '待選列表:';

@ -11,7 +11,7 @@
* $Author: wayne $
* $Id: gen_goods_script.php 17217 2011-01-19 06:29:08Z wayne $
*/
$_LANG['label_category'] = '選擇品分類:';
$_LANG['label_category'] = '選擇品分類:';
$_LANG['label_brand'] = '選擇商品品牌:';
$_LANG['label_intro_type'] = '選擇推薦類型:';
$_LANG['label_need_image'] = '是否顯示商品圖片:';

@ -107,7 +107,7 @@ $_LANG['tab_article'] = '關聯文章';
$_LANG['lab_goods_name'] = '商品名稱:';
$_LANG['lab_goods_sn'] = '商品貨號:';
$_LANG['lab_goods_cat'] = '品分類:';
$_LANG['lab_goods_cat'] = '品分類:';
$_LANG['lab_other_cat'] = '擴展分類:';
$_LANG['lab_goods_brand'] = '商品品牌:';
$_LANG['lab_shop_price'] = '本店售價:';
@ -225,10 +225,10 @@ $_LANG['goods_not_exist'] = '該商品不存在';
$_LANG['goods_not_in_recycle_bin'] = '該商品尚未放入回收站,不能刪除';
$_LANG['js_languages']['goods_name_not_null'] = '商品名稱不能為空。';
$_LANG['js_languages']['goods_cat_not_null'] = '品分類必須選擇。';
$_LANG['js_languages']['goods_cat_not_null'] = '品分類必須選擇。';
$_LANG['js_languages']['category_cat_not_null'] = '分類名稱不能為空';
$_LANG['js_languages']['brand_cat_not_null'] = '品牌名稱不能為空';
$_LANG['js_languages']['goods_cat_not_leaf'] = '您選擇的品分類不是底級分類,請選擇底級分類。';
$_LANG['js_languages']['goods_cat_not_leaf'] = '您選擇的品分類不是底級分類,請選擇底級分類。';
$_LANG['js_languages']['shop_price_not_null'] = '本店售價不能為空。';
$_LANG['js_languages']['shop_price_not_number'] = '本店售價不是數值。';
@ -247,7 +247,7 @@ $_LANG['js_languages']['promote_end_not_null'] = '促銷結束時間不能為空
$_LANG['js_languages']['drop_img_confirm'] = '您確實要刪除該圖片嗎?';
$_LANG['js_languages']['batch_no_on_sale'] = '您確實要將選定的商品下架嗎?';
$_LANG['js_languages']['batch_trash_confirm'] = '您確實要把選中的商品放入回收站嗎?';
$_LANG['js_languages']['go_category_page'] = '本頁數據將丟失,確認要去品分類頁添加分類嗎?';
$_LANG['js_languages']['go_category_page'] = '本頁數據將丟失,確認要去品分類頁添加分類嗎?';
$_LANG['js_languages']['go_brand_page'] = '本頁數據將丟失,確認要去商品品牌頁添加品牌嗎?';
$_LANG['js_languages']['volume_num_not_null'] = '請輸入優惠數量';

@ -14,9 +14,9 @@
*/
$_LANG['select_method'] = '選擇商品的方式:';
$_LANG['by_cat'] = '根據品分類、品牌';
$_LANG['by_cat'] = '根據品分類、品牌';
$_LANG['by_sn'] = '根據商品貨號';
$_LANG['select_cat'] = '選擇品分類:';
$_LANG['select_cat'] = '選擇品分類:';
$_LANG['select_brand'] = '選擇商品品牌:';
$_LANG['goods_list'] = '商品列表:';
$_LANG['src_list'] = '待選列表:';

@ -23,7 +23,7 @@ $_LANG['user_guide'] =
$_LANG['export_taobao'] = '導出淘寶助理支持數據格式';
$_LANG['export_taobao_v43'] = '導出淘寶助理V4.3支持數據格式';
$_LANG['export_taobao_v46'] = '導出淘寶助理V4.6支持數據格式';
$_LANG['good_cat'] = '品分類';
$_LANG['good_cat'] = '品分類';
$_LANG['select_please'] = '請選擇要導出的分類';
$_LANG['select_charset'] = '請選擇要導出的編碼';

@ -32,7 +32,7 @@ $_LANG['current_status'] = '狀態';
$_LANG['view_order'] = '查看訂單';
/* 添加/編輯活動頁 */
$_LANG['goods_cat'] = '品分類';
$_LANG['goods_cat'] = '品分類';
$_LANG['all_cat'] = '所有分類';
$_LANG['goods_brand'] = '商品品牌';
$_LANG['all_brand'] = '所有品牌';

@ -342,7 +342,7 @@ $_LANG['good_name'] = '商品名稱';
$_LANG['good_number'] = '商品數量';
$_LANG['good_category'] = '品分類';
$_LANG['good_category'] = '品分類';
$_LANG['good_brand'] = '商品品牌';
@ -376,7 +376,7 @@ $_LANG['shop_basic_third'] = "恭喜您,您的網店可以使用了!<em>下
$_LANG['add_good'] = '添加商品';
$_LANG['add_category'] = '添加品分類';
$_LANG['add_category'] = '添加品分類';
$_LANG['add_type'] = '商品類型';
@ -402,7 +402,7 @@ $_LANG['js_languages']['shop_name_not_null'] = '商店名稱不能為空';
$_LANG['js_languages']['good_name_not_null'] = '商品名稱不能為空';
$_LANG['js_languages']['good_category_not_null'] = '品分類不能為空';
$_LANG['js_languages']['good_category_not_null'] = '品分類不能為空';
$_LANG['js_languages']['good_number_not_number'] = '商品數量不是數值';

@ -38,7 +38,7 @@ $_LANG['log_action']['shipping'] = '配送方式';
$_LANG['log_action']['shipping_area'] = '配送區域';
$_LANG['log_action']['area_region'] = '配送區域中的地區';
$_LANG['log_action']['brand'] = '品牌管理';
$_LANG['log_action']['category'] = '品分類';
$_LANG['log_action']['category'] = '品分類';
$_LANG['log_action']['pack'] = '商品包裝';
$_LANG['log_action']['card'] = '商品賀卡';
$_LANG['log_action']['articlecat'] = '文章分類';

@ -32,7 +32,7 @@ $_LANG['current_status'] = '狀態';
$_LANG['view_order'] = '查看訂單';
/* 添加/編輯活動頁 */
$_LANG['goods_cat'] = '品分類';
$_LANG['goods_cat'] = '品分類';
$_LANG['all_cat'] = '所有分類';
$_LANG['goods_brand'] = '商品品牌';
$_LANG['all_brand'] = '所有品牌';

@ -106,12 +106,12 @@ $_LANG['cfg_name']['comment_factor'] = '商品評論的條件';
$_LANG['cfg_name']['no_picture'] = '商品的默認圖片';
$_LANG['cfg_name']['stats_code'] = '統計代碼';
$_LANG['cfg_name']['cache_time'] = '緩存存活時間(秒)';
$_LANG['cfg_name']['page_size'] = '品分類頁列表的數量';
$_LANG['cfg_name']['page_size'] = '品分類頁列表的數量';
$_LANG['cfg_name']['article_page_size'] = '文章分類頁列表的數量';
$_LANG['cfg_name']['page_style'] = '分頁樣式';
$_LANG['cfg_name']['sort_order_type'] = '品分類頁默認排序類型';
$_LANG['cfg_name']['sort_order_method'] = '品分類頁默認排序方式';
$_LANG['cfg_name']['show_order_type'] = '品分類頁默認顯示方式';
$_LANG['cfg_name']['sort_order_type'] = '品分類頁默認排序類型';
$_LANG['cfg_name']['sort_order_method'] = '品分類頁默認排序方式';
$_LANG['cfg_name']['show_order_type'] = '品分類頁默認顯示方式';
$_LANG['cfg_name']['goods_name_length'] = '商品名稱的長度';
$_LANG['cfg_name']['price_format'] = '商品價格顯示規則';
$_LANG['cfg_name']['register_points'] = '會員註冊贈送積分';

@ -135,7 +135,7 @@ $_LANG['buy_times'] = '購買次數';
$_LANG['visit_buy'] = '訪問購買率';
$_LANG['download_visit_buy'] = '下載訪問購買率報表';
$_LANG['goods_cat'] = '品分類';
$_LANG['goods_cat'] = '品分類';
$_LANG['goods_brand'] = '商品品牌';
/* 搜索引擎 */

@ -104,7 +104,7 @@ $_LANG['tab_article'] = '關聯文章';
$_LANG['lab_goods_name'] = '商品名稱:';
$_LANG['lab_goods_sn'] = '商品貨號:';
$_LANG['lab_goods_cat'] = '品分類:';
$_LANG['lab_goods_cat'] = '品分類:';
$_LANG['lab_other_cat'] = '擴展分類:';
$_LANG['lab_goods_brand'] = '商品品牌:';
$_LANG['lab_shop_price'] = '本店售價:';
@ -211,10 +211,10 @@ $_LANG['goods_not_exist'] = '該商品不存在';
$_LANG['goods_not_in_recycle_bin'] = '該商品尚未放入回收站,不能刪除';
$_LANG['js_languages']['goods_name_not_null'] = '商品名稱不能為空。';
$_LANG['js_languages']['goods_cat_not_null'] = '品分類必須選擇。';
$_LANG['js_languages']['goods_cat_not_null'] = '品分類必須選擇。';
$_LANG['js_languages']['category_cat_not_null'] = '分類名稱不能為空';
$_LANG['js_languages']['brand_cat_not_null'] = '品牌名稱不能為空';
$_LANG['js_languages']['goods_cat_not_leaf'] = '您選擇的品分類不是底級分類,請選擇底級分類。';
$_LANG['js_languages']['goods_cat_not_leaf'] = '您選擇的品分類不是底級分類,請選擇底級分類。';
$_LANG['js_languages']['shop_price_not_null'] = '本店售價不能為空。';
$_LANG['js_languages']['shop_price_not_number'] = '本店售價不是數值。';
@ -233,7 +233,7 @@ $_LANG['js_languages']['promote_end_not_null'] = '促銷結束時間不能為空
$_LANG['js_languages']['drop_img_confirm'] = '您確實要刪除該圖片嗎?';
$_LANG['js_languages']['batch_no_on_sale'] = '您確實要將選定的商品下架嗎?';
$_LANG['js_languages']['batch_trash_confirm'] = '您確實要把選中的商品放入回收站嗎?';
$_LANG['js_languages']['go_category_page'] = '本頁數據將丟失,確認要去品分類頁添加分類嗎?';
$_LANG['js_languages']['go_category_page'] = '本頁數據將丟失,確認要去品分類頁添加分類嗎?';
$_LANG['js_languages']['go_brand_page'] = '本頁數據將丟失,確認要去商品品牌頁添加品牌嗎?';
$_LANG['js_languages']['volume_num_not_null'] = '請輸入優惠數量';

@ -43,7 +43,7 @@ $_LANG['template_files']['article'] = '文章內容模板';
$_LANG['template_files']['article_cat'] = '文章分類模板';
$_LANG['template_files']['brand'] = '品牌專區';
//$_LANG['template_files']['catalog'] = '所有分類頁';
$_LANG['template_files']['category'] = '品分類頁模板';
$_LANG['template_files']['category'] = '品分類頁模板';
$_LANG['template_files']['flow'] = '購物流程模板';
$_LANG['template_files']['goods'] = '商品詳情模板';
$_LANG['template_files']['group_buy_goods'] = '團購商品詳情模板';
@ -76,7 +76,7 @@ $_LANG['template_libs']['brand_goods'] = '品牌的商品';
$_LANG['template_libs']['brands'] = '品牌專區';
$_LANG['template_libs']['cart'] = '購物車';
$_LANG['template_libs']['cat_goods'] = '分類下的商品';
$_LANG['template_libs']['category_tree'] = '品分類樹';
$_LANG['template_libs']['category_tree'] = '品分類樹';
$_LANG['template_libs']['comments'] = '用戶評論列表';
$_LANG['template_libs']['consignee'] = '收貨地址表單';
$_LANG['template_libs']['goods_fittings'] = '相關配件';
@ -114,7 +114,7 @@ $_LANG['template_libs']['vote_list'] = '在線調查';
$_LANG['template_libs']['price_grade'] = '價格範圍';
$_LANG['template_libs']['filter_attr'] = '屬性篩選';
$_LANG['template_libs']['promotion_info'] = '促銷信息';
$_LANG['template_libs']['categorys'] = '品分類';
$_LANG['template_libs']['categorys'] = '品分類';
$_LANG['template_libs']['myship'] = '配送方式';
$_LANG['template_libs']['online'] = '統計在線人數';
$_LANG['template_libs']['relatetag'] = '其他應用關聯標籤數據';

@ -52,7 +52,7 @@ $_LANG['template_file'] = '專題模板文件';
$_LANG['style_sheet'] = '專題樣式表';
$_LANG['lable_topic_type'] = '圖片類型';
$_LANG['lable_base_style'] = '基本風格樣式';
$_LANG['lable_title_upload'] = '品分類標題圖片';
$_LANG['lable_title_upload'] = '品分類標題圖片';
$_LANG['lable_topic_keywords'] = '專題頁面關鍵字';
$_LANG['lable_topic_description'] = '專題頁面描述';

@ -173,7 +173,7 @@ $_LANG['button_submit_tag'] = '添加我的標記';
$_LANG['tag_exists'] = '您已經為該商品添加過一個標記,請不要重複提交.';
$_LANG['tag_cloud'] = '標籤雲';
$_LANG['tag_anonymous'] = '對不起,只有註冊會員並且正常登錄以後才能提交標記。';
$_LANG['tag_cloud_desc'] = '標籤雲Tag cloud是用以表示一個網站中的內容標籤。 標籤tag、關鍵詞是一種更為靈活、有趣的品分類方式,您可以為每個商品添加一個或多個標籤,那麼可以通過點擊這個標籤查看商品其他會員提交的與您的標籤一樣的商品,能夠讓您使用最快的方式查找某一個標籤的所有網店商品。比方說點擊「紅色」這個標籤,就可以打開這樣的一個頁面,顯示所有的以「紅色」 為標籤的網店商品';
$_LANG['tag_cloud_desc'] = '標籤雲Tag cloud是用以表示一個網站中的內容標籤。 標籤tag、關鍵詞是一種更為靈活、有趣的品分類方式,您可以為每個商品添加一個或多個標籤,那麼可以通過點擊這個標籤查看商品其他會員提交的與您的標籤一樣的商品,能夠讓您使用最快的方式查找某一個標籤的所有網店商品。比方說點擊「紅色」這個標籤,就可以打開這樣的一個頁面,顯示所有的以「紅色」 為標籤的網店商品';
/* AJAX 相關 */
$_LANG['invalid_captcha'] = '對不起,您輸入的驗證碼不正確。';
@ -549,7 +549,7 @@ $_LANG['official_site'] = '官方網站:';
$_LANG['brand_category'] = '分類瀏覽:';
$_LANG['all_category'] = '所有分類';
/* 品分類頁 */
/* 品分類頁 */
$_LANG['goods_filter'] = '商品篩選';
/* cls_image類的語言項 */
@ -681,7 +681,7 @@ $_LANG['message_list_lnk'] = '返回留言列表';
$_LANG['quotation'] = "報價單";
$_LANG['print_quotation'] = "打印報價單";
$_LANG['goods_inventory'] = "庫存";
$_LANG['goods_category'] = "品分類";
$_LANG['goods_category'] = "品分類";
$_LANG['shopman_reply'] = '管理員回復';
$_LANG['specifications'] = '規格';

@ -16,7 +16,7 @@
$_LANG['shopex46_desc'] = 'shopex Single V4.6';
$_LANG['step_file'] = '正在複製文件...';
$_LANG['step_cat'] = '正在轉換品分類...';
$_LANG['step_cat'] = '正在轉換品分類...';
$_LANG['step_brand'] = '正在轉換商品品牌...';
$_LANG['step_goods'] = '正在轉換商品...';
$_LANG['step_users'] = '正在轉換會員...';

@ -16,7 +16,7 @@
$_LANG['shopex47_desc'] = 'shopex Single V4.7';
$_LANG['step_file'] = '正在複製文件...';
$_LANG['step_cat'] = '正在轉換品分類...';
$_LANG['step_cat'] = '正在轉換品分類...';
$_LANG['step_brand'] = '正在轉換商品品牌...';
$_LANG['step_goods'] = '正在轉換商品...';
$_LANG['step_users'] = '正在轉換會員...';

@ -16,7 +16,7 @@
$_LANG['shopex48_desc'] = 'shopex Single V4.8 支持到4.8.4版本)';
$_LANG['step_file'] = '正在複製文件...';
$_LANG['step_cat'] = '正在轉換品分類...';
$_LANG['step_cat'] = '正在轉換品分類...';
$_LANG['step_brand'] = '正在轉換商品品牌...';
$_LANG['step_goods'] = '正在轉換商品...';
$_LANG['step_users'] = '正在轉換會員...';

@ -206,10 +206,10 @@ CREATE TABLE `ecs_admin_log` (
INSERT INTO `ecs_admin_log` (`log_id`, `log_time`, `user_id`, `log_info`, `ip_address`) VALUES
(1, 1669804869, 1, '編輯商店設置: ', '220.129.48.248'),
(2, 1670169896, 1, '添加品分類: 電子名片', '220.129.53.27'),
(3, 1670169908, 1, '刪除品分類: 電子名片', '220.129.53.27'),
(4, 1670169921, 1, '添加品分類: 智能家居', '220.129.53.27'),
(5, 1670170003, 1, '添加品分類: 高CP產品', '220.129.53.27'),
(2, 1670169896, 1, '添加品分類: 電子名片', '220.129.53.27'),
(3, 1670169908, 1, '刪除品分類: 電子名片', '220.129.53.27'),
(4, 1670169921, 1, '添加品分類: 智能家居', '220.129.53.27'),
(5, 1670170003, 1, '添加品分類: 高CP產品', '220.129.53.27'),
(6, 1670884155, 1, '編輯文章: 註冊新會員', '220.129.68.240'),
(7, 1670884261, 1, '編輯文章: 註冊新會員', '220.129.68.240'),
(8, 1670976812, 1, '添加廣告位置: 首頁Banner', '220.129.57.87'),

@ -37,5 +37,6 @@ declare module '@vue/runtime-core' {
VanSwitch: typeof import('vant/es')['Switch']
VanTab: typeof import('vant/es')['Tab']
VanTabs: typeof import('vant/es')['Tabs']
VanTag: typeof import('vant/es')['Tag']
}
}

@ -32,8 +32,13 @@
</a>
<div class="media-body">
<a href="javascript:void(0)" class="font-md"> {{ item.goods_name }} </a>
<!-- <span class="content-color font-xs">年費</span> -->
<span class="content-color font-xs">
<van-tag type="primary" v-for="(v,i) in item.add_info" :key="i" style="margin: 0 5px;">
{{ v.name }}
</van-tag>
</span>
<span class="price-color font-md">${{ item.goods_price }}</span>
<div class="plus-minus" v-if="item.buymax != 1">
<i class="icon-minus" @click="changeItemNum(item, -1)"></i>
<input type="number" v-model="item.goods_number"
@ -41,6 +46,7 @@
<i class="icon-add" @click="changeItemNum(item, 1)"
v-if="item.buymax == 0 || item.goods_number < item.buymax"></i>
</div>
</div>
</div>
<div class="delete-button" data-bs-toggle="offcanvas" data-bs-target="#confirmation"
@ -389,7 +395,7 @@ const handleDeleteItem = async (id) => {
const changeItemNum = (item, num) => {
if (item.goods_number + num <= 0) {
cartStore.delCart(item.goods_id);
cartStore.delCart(item.goods_pid);
} else {
cartStore.updateCart(item, item.goods_number + num);
}

@ -1,101 +1,3 @@
<template>
<!-- Main Start -->
<main class="main-wrap catagories-wide mb-xxl">
<!-- Search Box Start -->
<!-- <div class="search-box">
<i class="icon-search icli search"></i>
<input class="form-control" type="search" placeholder="搜尋..." speech x-webkit-speech />
</div> -->
<!-- Search Box End -->
<!-- Search Box Start -->
<div class="category-header">
<van-field v-model="type" readonly size="large" label="點餐類型" />
<van-field v-model="cartStore.table_no" is-link readonly size="large" label="桌號" placeholder="請選擇桌號"
@click="showPicker = true" v-if="cartStore.type === 1" />
<van-popup v-model:show="showPicker" round position="bottom">
<van-picker
:columns="columns"
@cancel="showPicker = false"
confirm-button-text="確定"
cancel-button-text="取消"
@confirm="onConfirm" />
</van-popup>
</div>
<!-- Search Box End -->
<!-- Catagories Section Start -->
<section class="pb-0">
<div class="catagories-wrap">
<Nav @item-click="handleClickItem" />
<!-- Catagories Content Start -->
<div class="tab-content ratio2_1" id="catagories-tabContent">
<div class="tab-pane fade show active" id="catagories1" role="tabpanel" aria-labelledby="catagories1">
<div class="banner-box">
<!-- <img src="@/assets/images/banner/catagories-banner.jpg" alt="banner" class="bg-img" /> -->
<div class="content-box">
<h1 class="title-color heading">Seasons exotic Fruits</h1>
<p class="content-color font-sm">Upto 20% OFF</p>
<a href="shop.html" class="btn-solid">Shop Now</a>
</div>
</div>
<div class="row g-3">
<!-- Staples Box Start -->
<div class="col-12" v-for="v in goods" :key="v.goods_id">
<div class="staples-box">
<div class="goods-info">
<div @click="handleShowGoods(v.goods_id)">
<img class="img-fluid" :src="v.goods_thumb" alt="vegi" />
</div>
<div>
<div>
<h4>{{ v.goods_name }}</h4>
</div>
</div>
</div>
<div class="add-cart">
<div>
<p class="price">${{ v.shop_price }}</p>
</div>
<div>
<van-stepper theme="round" v-model="goodsNumber[v.goods_id]" :min="0"
:default-value="cartNum(v.goods_id)" button-size="22" isable-input @plus="changeItemNum(v, 1)"
@minus="changeItemNum(v, -1)" />
</div>
</div>
</div>
</div>
<!-- Staples Box End -->
</div>
</div>
</div>
<!-- Catagories Content End -->
</div>
</section>
<!-- Catagories Section End -->
</main>
<!-- Main End -->
<van-action-bar>
<van-action-bar-icon icon="shop-o" text="回首頁" @click="$router.push('/')" />
<van-action-bar-icon icon="cart-o" text="購物車" :badge="cartTotal" @click="$router.push('/checkout')" />
<div class="total-amount">
${{ cartStore.totalAmount }}
</div>
<van-action-bar-button type="danger" text="選好了" @click="onSubmit" />
</van-action-bar>
<!-- 彈窗 -->
<van-popup v-model:show="showBottom" round position="bottom" closeable close-icon="close" :style="{ height: '650px' }">
<div class="popup-content">
<goods :id="goods_id" @close="handlePopupClose" />
</div>
</van-popup>
</template>
<script setup>
import { ref, reactive, onMounted, computed } from 'vue'
import { getGoodsByCate } from '@/services/goods'
@ -167,13 +69,24 @@ const type = computed(() => {
//itemkeygoods_id
const cartItems = computed(() => {
return items.value.reduce((acc, cur) => {
acc[cur.goods_id] = cur;
acc[cur.goods_pid] = cur;
return acc;
}, {});
});
const cartNum = (id) => {
return cartItems.value[id] ? cartItems.value[id].goods_number : 0;
console.log(cartItems.value)
let rtn = Object.keys(cartItems.value).reduce((acc, key) => {
console.log(cartItems.value[key].goods_id , id)
if (cartItems.value[key].goods_id == id) {
acc += cartItems.value[key].goods_number;
}
return acc;
}, 0);
console.log('cartNum', id, rtn)
return rtn;
};
const handleClickItem = async (cat_id) => {
@ -187,12 +100,12 @@ const handleClickItem = async (cat_id) => {
const changeItemNum = (goods, num) => {
//goods_iditem
let item = cartItems.value[goods.goods_id];
if (!item) {
return addToCart(goods, num);
}
if (item.goods_number + num <= 0) {
cartStore.delCart(item.goods_id);
cartStore.delCart(item.goods_pid);
} else {
cartStore.updateCart(item, item.goods_number + num);
}
@ -211,6 +124,7 @@ const addToCart = async (goods, num, type = 0) => {
//
let gs = {
goods_pid: goods.goods_pid || goods.goods_id,
add_info: '',
buymax: goods.buymax,
cat_id: goods.cat_id,
@ -237,8 +151,16 @@ const addToCart = async (goods, num, type = 0) => {
return;
};
const handleShowGoods = (id) => {
goods_id.value = id
// Card
const card = ref({
goods: {},
number: 1,
sku: {}
})
const handleShowGoods = (goods) => {
goods_id.value = goods.goods_id
card.value.goods = goods
showBottom.value = true
}
@ -269,6 +191,112 @@ const onSubmit = () => {
};
</script>
<template>
<!-- Main Start -->
<main class="main-wrap catagories-wide mb-xxl">
<!-- Search Box Start -->
<!-- <div class="search-box">
<i class="icon-search icli search"></i>
<input class="form-control" type="search" placeholder="搜尋..." speech x-webkit-speech />
</div> -->
<!-- Search Box End -->
<!-- Search Box Start -->
<div class="category-header">
<van-field v-model="type" readonly size="large" label="點餐類型" />
<van-field v-model="cartStore.table_no" is-link readonly size="large" label="桌號" placeholder="請選擇桌號"
@click="showPicker = true" v-if="cartStore.type === 1" />
<van-popup v-model:show="showPicker" round position="bottom">
<van-picker :columns="columns" @cancel="showPicker = false" confirm-button-text="" cancel-button-text=""
@confirm="onConfirm" />
</van-popup>
</div>
<!-- Search Box End -->
<!-- Catagories Section Start -->
<section class="pb-0">
<div class="catagories-wrap">
<Nav @item-click="handleClickItem" />
<!-- Catagories Content Start -->
<div class="tab-content ratio2_1" id="catagories-tabContent">
<div class="tab-pane fade show active" id="catagories1" role="tabpanel" aria-labelledby="catagories1">
<div class="banner-box">
<!-- <img src="@/assets/images/banner/catagories-banner.jpg" alt="banner" class="bg-img" /> -->
<div class="content-box">
<h1 class="title-color heading">Seasons exotic Fruits</h1>
<p class="content-color font-sm">Upto 20% OFF</p>
<a href="shop.html" class="btn-solid">Shop Now</a>
</div>
</div>
<div class="row g-3">
<!-- Staples Box Start -->
<div class="col-12" v-for="v in goods" :key="v.goods_id">
<div class="staples-box">
<div class="goods-info">
<div>
<img class="img-fluid" :src="v.goods_thumb" alt="vegi" />
</div>
<div>
<div>
<h4>{{ v.goods_name }}</h4>
</div>
</div>
</div>
<div class="add-cart">
<div>
<p class="price">${{ v.shop_price }}</p>
</div>
<div v-if="v.goods_type > 0">
<van-button type="primary" size="small" @click="handleShowGoods(v)">
<template v-if="cartNum(v.goods_id) > 0">
<van-badge :content="cartNum(v.goods_id)">
加入購物車
</van-badge>
</template>
<template v-else>
加入購物車
</template>
</van-button>
</div>
<div v-else>
<van-stepper theme="round" v-model="goodsNumber[v.goods_id]" :min="0"
:default-value="cartNum(v.goods_id)" button-size="22" isable-input @plus="changeItemNum(v, 1)"
@minus="changeItemNum(v, -1)" />
</div>
</div>
</div>
</div>
<!-- Staples Box End -->
</div>
</div>
</div>
<!-- Catagories Content End -->
</div>
</section>
<!-- Catagories Section End -->
</main>
<!-- Main End -->
<van-action-bar>
<van-action-bar-icon icon="shop-o" text="回首頁" @click="$router.push('/')" />
<van-action-bar-icon icon="cart-o" text="購物車" :badge="cartTotal" @click="$router.push('/checkout')" />
<div class="total-amount">
${{ cartStore.totalAmount }}
</div>
<van-action-bar-button type="danger" text="選好了" @click="onSubmit" />
</van-action-bar>
<!-- 彈窗 -->
<van-popup v-model:show="showBottom" round position="bottom" closeable close-icon="close" :style="{ height: '650px' }">
<div class="popup-content">
<goods :goods="card.goods" @close="handlePopupClose" />
</div>
</van-popup>
</template>
<style lang="less">
.category-header {
font-size: 16px;

@ -1,3 +1,154 @@
<script setup>
import { ref, onMounted, computed, watch } from "vue";
import { getGoods } from "@/services/goods";
import { useRoute, useRouter } from "vue-router";
import { useCartStore } from "@/store/Cart.js";
import { storeToRefs } from "pinia";
import { showToast } from "vant";
import "vant/es/toast/style";
const route = useRoute();
const router = useRouter();
const cartStore = useCartStore()
const { cartItems: items } = storeToRefs(cartStore)
const active = ref(0);
// const goods = ref({
// goods_attr: {
// spe: [],
// },
// });
const goodsNumber = ref(0);
//goods_id
const props = defineProps({
goods: {
type: Object,
default: {},
},
});
const emit = defineEmits(["close"]);
const goods = computed(() => {
return props.goods;
});
// watch(() => props.id, async (nVal) => {
// if (nVal > 0) {
// let res = await getGoods(nVal);
// if (res.code === 200) {
// goods.value = res.data;
// goodsNumber.value = 0;
// }
// }
// }, { immediate: true })
onMounted(() => {
console.log('gd', props.goods);
});
const discount = computed(() => {
return Math.ceil((goods.value.shop_price / goods.value.market_price) * 10);
});
// Card
const card = ref({
goods: props.goods,
number: 1,
sku: {}
})
const cartItems = computed(() => {
return items.value.reduce((acc, cur) => {
acc[cur.goods_pid] = cur;
return acc;
}, {});
});
const handleAddCart = () => {
const sku = Object.keys(card.value.sku).reduce((result, key) => {
result[key] = {
name: card.value.goods.goods_attr.spe[key].values.find(obj => obj.id == card.value.sku[key]).label,
value: card.value.sku[key]
};
return result;
}, {});
card.value.goods.goods_pid = card.value.goods.goods_id + '-' + Object.values(sku).map(v => v.value).join('-')
card.value.goods.add_info = sku
changeItemNum(card.value.goods, card.value.number)
showToast({
message: "已加入購物車",
duration: 1000,
});
card.value = {
goods: {},
number: 1,
sku: {}
}
emit("close", { id: card.value.goods.goods_id, num: card.value.number })
};
const changeItemNum = (goods, num) => {
//goods_iditem
goods.goods_pid = goods.goods_pid || goods.goods_id
let item = cartItems.value[goods.goods_pid];
if (!item) {
return addToCart(goods, num);
}
if (item.goods_number + num <= 0) {
cartStore.delCart(item.goods_pid);
} else {
cartStore.updateCart(item, item.goods_number + num);
}
};
const addToCart = async (goods, num, type = 0) => {
//
let gs = {
goods_pid: goods.goods_pid || goods.goods_id,
add_info: goods.add_info || '',
buymax: goods.buymax,
cat_id: goods.cat_id,
goods_id: goods.goods_id,
goods_name: goods.goods_name,
goods_number: num,
goods_price: goods.shop_price,
goods_sn: goods.goods_sn,
goods_thumb: goods.goods_thumb
};
let res = cartStore.addCart(gs);
if (!res) {
return showToast("添加失敗!");
}
if (type === 0) {
showToast("添加成功!");
}
return;
};
</script>
<template>
<!-- Main Start -->
<main class="main-wrap product-page mb-xxl" v-if="active === 0">
@ -77,14 +228,20 @@
<!-- Product Detail End -->
</section>
<!-- Product Section Section End -->
<section class="attr-section" v-if="goods.goods_attr.spe" v-for="(spec,index) in goods.goods_attr.spe" :key="index">
<div class="attr-section" v-if="goods.goods_attr.spe" v-for="(spec, index) in goods.goods_attr.spe" :key="index">
{{ spec.name }}
<van-radio-group v-model="checked" direction="horizontal" >
<van-radio name="1" v-for="(v,i) in spec.values" :key="i">
{{ spec.attr_id }}
<!-- <van-radio-group v-model="card['sku'][spec.attr_id]" direction="horizontal" >
<van-radio name="v.id" v-for="(v,i) in spec.values" :key="v.id">
{{ v.label }}
</van-radio>
</van-radio-group> -->
<van-radio-group v-model="card['sku'][spec.attr_id]" direction="horizontal">
<van-radio :name="v.id" v-for="(v, i) in spec.values" :key="v.id">
{{ v.label }}
</van-radio>
</van-radio-group>
</section>
</div>
</main>
<!-- Main End -->
@ -98,7 +255,7 @@
<ul class="footer-left">
<li class="footer-item">
<div>
<van-stepper theme="round" v-model="goodsNumber" :min="0" :default-value="0" button-size="24" />
<van-stepper theme="round" v-model="card.number" :min="0" :default-value="1" button-size="24" />
</div>
</li>
</ul>
@ -108,90 +265,6 @@
</footer>
</template>
<script setup>
import { ref, onMounted, computed, watch } from "vue";
import { getGoods } from "@/services/goods";
import { useRoute, useRouter } from "vue-router";
import { useCartStore } from "@/store/Cart.js";
import { storeToRefs } from "pinia";
import { showToast } from "vant";
import "vant/es/toast/style";
const route = useRoute();
const router = useRouter();
const cartStore = useCartStore();
const active = ref(0);
const goods = ref({
goods_attr: {
spe: [],
},
});
const goodsNumber = ref(0);
//goods_id
const props = defineProps({
id: {
type: Number,
default: 0,
},
});
const emit = defineEmits(["close"]);
watch(() => props.id, async (nVal) => {
if (nVal > 0) {
let res = await getGoods(nVal);
if (res.code === 200) {
goods.value = res.data;
goodsNumber.value = 0;
}
}
}, { immediate: true })
const discount = computed(() => {
return Math.ceil((goods.value.shop_price / goods.value.market_price) * 10);
});
const handleAddCart = () => {
addToCart(goods.value, goodsNumber.value)
emit("close", { id: goods.value.goods_id, num: goodsNumber.value })
};
const addToCart = async (goods, num, type = 0) => {
//
let gs = {
add_info: '',
buymax: goods.buymax,
cat_id: goods.cat_id,
goods_id: goods.goods_id,
goods_name: goods.goods_name,
goods_number: num,
goods_price: goods.shop_price,
goods_sn: goods.goods_sn,
goods_thumb: goods.goods_thumb
};
let res = cartStore.addCart(gs);
if (!res) {
return showToast("添加失敗!");
}
if (type === 0) {
showToast("添加成功!");
}
return;
};
</script>
<style lang="less" scoped>
.goods-header {
// padding: calc(10px + (15 - 10) * ((100vw - 320px) / (1920 - 320))) 15px;

@ -46,6 +46,7 @@ if(!code){
Cookies.set('token',res.data.token,{ expires: 365 ,domain: shopStore.sso_domain})
Cookies.set('uid',res.data.uid,{ expires: 365 ,domain: shopStore.sso_domain})
showToast('登入成功')
console.log(route.query.state)
if(route.query.state !== 'login'){
router.push(route.query.state)
}else{

@ -18,7 +18,7 @@
<form class="custom-form" @submit.prevent="onSubmit">
<h1 class="font-md title-color fw-600">加入會員</h1>
<div class="input-box" v-if="$route.query.type !== 'mobile'">
<input type="text" placeholder="行動電話" v-model="form.phone" required class="form-control" />
<input type="tel" placeholder="行動電話" v-model="form.phone" required class="form-control" />
<i class="icon-cellphone icli"></i>
</div>
<template v-if="isRegister">
@ -26,10 +26,10 @@
<input type="text" placeholder="真實姓名" v-model="form.name" required class="form-control" />
<i class="icon-account icli"></i>
</div>
<div class="input-box">
<!-- <div class="input-box">
<input type="text" placeholder="Email" v-model="form.email" required class="form-control" />
<i class="icon-email icli"></i>
</div>
</div> -->
<button type="submit" class="btn-solid">送出註冊</button>
</template>
<template v-else>
@ -44,7 +44,6 @@
</template>
<script setup>
import axios from "axios";
import Cookies from "js-cookie";
import { ref } from "vue";
@ -68,7 +67,6 @@ const isRegister = ref(route.query.type == "mobile" ? true : false);
const form = ref({
phone: "",
name: "",
email: "",
});
const onCheckPhone = async () => {

@ -18,72 +18,72 @@ let routes = [
{
path: '/home',
name: 'Home',
component: ()=> import("../pages/Home/Index.vue")
component: () => import("../pages/Home/Index.vue")
},
{
path: '/intro',
name: 'Intro',
component: ()=> import("../pages/Intro/Index.vue")
component: () => import("../pages/Intro/Index.vue")
},
{
path: '/article',
name: 'Article',
component: ()=> import("../pages/Article/Index.vue")
component: () => import("../pages/Article/Index.vue")
},
{
path: '/category',
name: 'Category',
meta: {hiddenFooter: true},
component: ()=> import("../pages/Category/Index.vue")
meta: { hiddenFooter: true },
component: () => import("../pages/Category/Index.vue")
},
{
path: '/takeno',
name: 'TakeNo',
component: ()=> import("../pages/TakeNo/Index.vue")
component: () => import("../pages/TakeNo/Index.vue")
},
{
path: '/login',
name: 'Login',
component: ()=> import("../pages/Login/Index.vue"),
component: () => import("../pages/Login/Index.vue"),
},
{
path: '/linelogin',
name: 'LineLogin',
component: ()=> import("../pages/Login/LineLogin.vue")
component: () => import("../pages/Login/LineLogin.vue")
},
{
path: '/linereg',
name: 'LineReg',
component: ()=> import("../pages/Login/LineReg.vue")
component: () => import("../pages/Login/LineReg.vue")
},
{
path: '/register',
name: 'Register',
component: ()=> import("../pages/Register/Index.vue")
component: () => import("../pages/Register/Index.vue")
},
{
path: '/payment',
name: 'Payment',
component: ()=> import("../pages/Cart/Payment.vue"),
component: () => import("../pages/Cart/Payment.vue"),
},
{
path: '/cartfinish',
name: 'CartFinish',
component: ()=> import("../pages/Cart/CartFinish.vue")
component: () => import("../pages/Cart/CartFinish.vue")
},
{
path: '/404',
name: '404',
component: ()=> import("../pages/Error/404.vue")
component: () => import("../pages/Error/404.vue")
},
{
path: '/user/info',
name: 'UserInfo',
meta: {isAuth: true},
component: ()=> import("../pages/My/Index.vue")
meta: { isAuth: true },
component: () => import("../pages/My/Index.vue")
}
]
},{
}, {
path: '/user',
name: 'User',
component: UserLayout,
@ -92,64 +92,64 @@ let routes = [
{
path: 'order',
name: 'UserOrder',
meta: {isAuth: true},
component: ()=> import("../pages/My/Order/Index.vue")
meta: { isAuth: true },
component: () => import("../pages/My/Order/Index.vue")
},
{
path: 'account',
name: 'UserAccount',
meta: {isAuth: true},
component: ()=> import("../pages/My/Account/Index.vue")
meta: { isAuth: true },
component: () => import("../pages/My/Account/Index.vue")
},
{
path: 'share',
name: 'UserShare',
meta: {isAuth: true},
component: ()=> import("../pages/My/Share/Index.vue")
meta: { isAuth: true },
component: () => import("../pages/My/Share/Index.vue")
},
{
path: 'share/recommand',
name: 'UserShareRecommand',
meta: {isAuth: true},
component: ()=> import("../pages/My/Share/recommand.vue")
meta: { isAuth: true },
component: () => import("../pages/My/Share/recommand.vue")
},
{
path: 'setting',
name: 'UserSetting',
meta: {isAuth: true},
component: ()=> import("../pages/My/Setting/Index.vue")
meta: { isAuth: true },
component: () => import("../pages/My/Setting/Index.vue")
},
]
},
{
path: '/goods/:id',
name: 'Goods',
component: ()=> import("../pages/Goods/Index.vue")
component: () => import("../pages/Goods/Index.vue")
},
{
path: '/cart',
name: 'Cart',
component: ()=> import("../pages/Cart/Index.vue")
component: () => import("../pages/Cart/Index.vue")
},
{
path: '/checkout',
name: 'Checkout',
component: ()=> import("../pages/Cart/Checkout.vue")
component: () => import("../pages/Cart/Checkout.vue")
},
{
path: '/order/shipping',
name: 'Shipping',
component: ()=> import("../pages/Cart/Shipping.vue"),
component: () => import("../pages/Cart/Shipping.vue"),
},
{
path: '/address',
name: 'Address',
component: ()=> import("../pages/Address/Index.vue")
component: () => import("../pages/Address/Index.vue")
},
{
path: '/user/bank',
name: 'UserBank',
component: ()=> import("../pages/My/Bank/Index.vue")
component: () => import("../pages/My/Bank/Index.vue")
},
]
@ -159,12 +159,34 @@ const router = createRouter({
scrollBehavior(to, from, savedPosition) {
return { top: 0 };
}
})
})
router.beforeEach((to, from, next) => {
let urlParams = new URLSearchParams(window.location.search);
console.log('path',to.fullPath)
if (urlParams.has('from') || urlParams.get('from') == 'line') {
if (!Cookies.get('token')) {
const client_id = import.meta.env.VITE_APP_LINE_CLIENT_ID;
//判斷domain是否包含localhost
let redirect_uri = "https://arki.h888.fun/m/linelogin";
let link = "https://access.line.me/oauth2/v2.1/authorize?";
link = link + "response_type=code";
link += "&client_id=" + client_id;
link += "&redirect_uri=" + redirect_uri;
link += "&state=" + to.fullPath;
link += "&scope=openid%20profile";
window.location.href = link;
router.beforeEach((to, from, next)=>{
if( to.meta.isAuth === true && !Cookies.get('token')){
return next({name: 'Login'})
return
}
}
if (to.meta.isAuth === true && !Cookies.get('token')) {
return next({ name: 'Login' })
}
return next()
})

@ -54,7 +54,7 @@ export const useCartStore = defineStore('cart', {
// if (res.code === 200) {
_.remove(this.cartItems, function (i) {
return i.goods_id === id
return i.goods_pid === id
})
// }
},
@ -63,7 +63,7 @@ export const useCartStore = defineStore('cart', {
// if (res.code === 200) {
this.cartItems.map((element, index) => {
if (element.goods_id === goods.goods_id) {
if (element.goods_pid === goods.goods_pid) {
element.goods_number = num
}
})

Loading…
Cancel
Save