setter
parent
4aab76d038
commit
335a675f53
|
@ -15,6 +15,8 @@ class Index extends Base
|
|||
'miniProgramSetting',
|
||||
'clearFootmarks',
|
||||
'baseConfig',
|
||||
'purchaseinstructions',
|
||||
'addWechat',
|
||||
'work',
|
||||
'kf',
|
||||
'hotKeywords',
|
||||
|
@ -91,12 +93,50 @@ class Index extends Base
|
|||
try {
|
||||
CConfig::load('extra/statement', 'statement');
|
||||
$content = config('statement')['content'] ?? '';
|
||||
$pregRule = "/<[img|IMG].*?src=[\'|\"][\/storage]{1}(.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
|
||||
$content = preg_replace($pregRule, '<img src="' . $this->request->domain() . '/${1}" style="max-width:100%">', (string)$content );
|
||||
|
||||
return $this->json(0, 'success', ['content' => $content]);
|
||||
} catch (Exception $e) {
|
||||
return $this->json(5000, '获取免责声明失败');
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 购买须知
|
||||
*
|
||||
* @return Json
|
||||
*/
|
||||
public function purchaseinstructions(): Json
|
||||
{
|
||||
try {
|
||||
CConfig::load('extra/purchaseinstructions', 'purchaseinstructions');
|
||||
$content = config('purchaseinstructions')['content'] ?? '';
|
||||
$pregRule = "/<[img|IMG].*?src=[\'|\"][\/storage]{1}(.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
|
||||
$content = preg_replace($pregRule, '<img src="' . $this->request->domain() . '/${1}" style="max-width:100%">', (string)$content );
|
||||
return $this->json(0, 'success', ['content' => $content]);
|
||||
} catch (Exception $e) {
|
||||
return $this->json(5000, '获取失败');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加微信
|
||||
*
|
||||
* @return Json
|
||||
*/
|
||||
public function addWechat(): Json
|
||||
{
|
||||
try {
|
||||
CConfig::load('extra/addwechat', 'addwechat');
|
||||
$res = config('addwechat')?? [];
|
||||
$pregRule = "/<[img|IMG].*?src=[\'|\"][\/storage]{1}(.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
|
||||
$res["content"] = preg_replace($pregRule, '<img src="' . $this->request->domain() . '/${1}" style="max-width:100%">', (string)$res["content"] );
|
||||
|
||||
return $this->json(0, 'success', $res);
|
||||
} catch (Exception $e) {
|
||||
return $this->json(5000, '获取添加微信失败');
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 关于我们
|
||||
*
|
||||
|
@ -107,6 +147,9 @@ class Index extends Base
|
|||
try {
|
||||
CConfig::load('extra/about', 'about');
|
||||
$res = config('about')?? [];
|
||||
$pregRule = "/<[img|IMG].*?src=[\'|\"][\/storage]{1}(.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
|
||||
$res["content"] = preg_replace($pregRule, '<img src="' . $this->request->domain() . '/${1}" style="max-width:100%">', (string)$res["content"] );
|
||||
|
||||
return $this->json(0, 'success', $res);
|
||||
} catch (Exception $e) {
|
||||
return $this->json(5000, '获取关于我们失败');
|
||||
|
|
|
@ -119,13 +119,14 @@ class Config extends Base
|
|||
unset($item);
|
||||
$data['footBar'] = $footBarList;
|
||||
}
|
||||
// 底部默认导航
|
||||
$data['footBarIcons'] = [
|
||||
['key' => 'home', 'name' => '首页', 'aux' => '图标大小为 40 * 40; 第1图为默认图,第2图为高亮图', 'multi' => 1],
|
||||
['key' => 'category', 'name' => '分类', 'aux' => '图标大小为 40 * 40; 第1图为默认图,第2图为高亮图', 'multi' => 1],
|
||||
['key' => 'my', 'name' => '我的', 'aux' => '图标大小为 40 * 40; 第1图为默认图,第2图为高亮图', 'multi' => 1],
|
||||
['key' => 'cart', 'name' => '购物车', 'aux' => '图标大小为 120 * 120', 'multi' => 0],
|
||||
];
|
||||
// // 底部默认导航
|
||||
// $data['footBarIcons'] = [
|
||||
// ['key' => 'home', 'name' => '首页', 'aux' => '图标大小为 40 * 40; 第1图为默认图,第2图为高亮图', 'multi' => 1],
|
||||
// ['key' => 'category', 'name' => '分类', 'aux' => '图标大小为 40 * 40; 第1图为默认图,第2图为高亮图', 'multi' => 1],
|
||||
// ['key' => 'my', 'name' => '我的', 'aux' => '图标大小为 40 * 40; 第1图为默认图,第2图为高亮图', 'multi' => 1],
|
||||
// ['key' => 'my', 'name' => '我的', 'multi' => 1],
|
||||
// ['key' => 'cart', 'name' => '购物车', 'aux' => '图标大小为 120 * 120', 'multi' => 0],
|
||||
// ];
|
||||
$this->data = array_merge($this->data, $data);
|
||||
return $this->view();
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ class Index extends Base
|
|||
$item = AccountRepository::getInstance()->findById($id);
|
||||
|
||||
$statusList = [
|
||||
Order::STATUS_SHIPPED, Order::STATUS_PAID, Order::STATUS_COMPLETED
|
||||
Order::STATUS_SHIPPED, Order::STATUS_ORDER_PLACED, Order::STATUS_COMPLETED
|
||||
];
|
||||
$consumption = OrderRepository::getInstance()->userOrderList($id, [], 1, 0, $statusList);
|
||||
$orderNum = 0;
|
||||
|
|
|
@ -14,6 +14,7 @@ use PhpOffice\PhpSpreadsheet\IOFactory;
|
|||
use \PhpOffice\PhpSpreadsheet\Shared\Date as PDate;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Alignment; //设置对齐方式
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Color;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||
use think\db\exception\DataNotFoundException;
|
||||
use think\db\exception\DbException;
|
||||
|
@ -541,6 +542,35 @@ class Order extends Base
|
|||
}
|
||||
return $this->json(4000, '非法请求');
|
||||
}
|
||||
/**
|
||||
* 修改订单里面的sku信息
|
||||
*
|
||||
* @return Json
|
||||
* @throws Exception
|
||||
*/
|
||||
public function editStatus()
|
||||
{
|
||||
$id = input('id/d');
|
||||
|
||||
if(!$order = OrderModel::findById($id)){
|
||||
return $this->json(4001,"订单不存在");
|
||||
}
|
||||
if ($this->request->isPost()) {
|
||||
$status = input("status/s");
|
||||
Db::startTrans();
|
||||
try {
|
||||
$order->save(["status"=>$status]);
|
||||
Db::commit();
|
||||
return $this->json();
|
||||
} catch (Exception $e) {
|
||||
return $this->json(4001, $e->getError());
|
||||
}
|
||||
}
|
||||
$this->data['statusList'] = OrderModel::statusTextList();
|
||||
$this->data['status'] = $order["status"];
|
||||
$this->data['id'] = $id;
|
||||
return $this->view();
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出订单信息
|
||||
|
@ -567,11 +597,16 @@ class Order extends Base
|
|||
$spreadsheet->getActiveSheet()->setTitle('订单信息');
|
||||
|
||||
//设置默认行高。
|
||||
$sheet->getDefaultRowDimension()->setRowHeight(25);
|
||||
//设置A1单元格
|
||||
$sheet->getStyle('A1')->applyFromArray($styleArray);
|
||||
$sheet->getDefaultRowDimension()->setRowHeight(30);
|
||||
|
||||
|
||||
//需要设置单元格 上下 水平居中的单元格
|
||||
$needSetapplyFromArray = [
|
||||
"A1","C1","D1","A2","B2","C2","D2","E2",
|
||||
];
|
||||
// 需要设置的单元格宽度
|
||||
$setColWidth = [
|
||||
"A"=>"30",
|
||||
"A"=>"45",
|
||||
"B"=>"30",
|
||||
"C"=>"30",
|
||||
"D"=>"30",
|
||||
|
@ -582,10 +617,76 @@ class Order extends Base
|
|||
}
|
||||
|
||||
|
||||
|
||||
//合并单元格
|
||||
$spreadsheet->getActiveSheet()->mergeCells('A1:B1');
|
||||
|
||||
$sheet->setCellValue('A1', "日期:".$order->created_at);
|
||||
|
||||
$sheet->setCellValue('A1', "日 期 : ".$order->created_at);
|
||||
$sheet->setCellValue('C1', "订单号 : ");
|
||||
$sheet->setCellValue('D1', " " . $order->coding);
|
||||
|
||||
$sheet->setCellValue('A2', "商 品 名称");
|
||||
$sheet->setCellValue('B2', "单 位");
|
||||
$sheet->setCellValue('C2', "数 量");
|
||||
$sheet->setCellValue('D2', "单 价");
|
||||
$sheet->setCellValue('E2', "小 计");
|
||||
|
||||
//开始写入订单商品数据
|
||||
$startRow = 3;//从第四行开始写入
|
||||
$skusCount = count($order->skus->toArray());
|
||||
foreach ($order->skus as $key => $item){
|
||||
$sheet->setCellValue('A'.($startRow+$key), $item["spu_name"]);
|
||||
$sheet->setCellValue('B'.($startRow+$key), $item["sku_unit"]);
|
||||
$sheet->setCellValue('C'.($startRow+$key), $item["num"]);
|
||||
$sheet->setCellValue('D'.($startRow+$key), $item["price"]);
|
||||
$sheet->setCellValue('E'.($startRow+$key), $item["subtotal"]);
|
||||
$needSetapplyFromArray[]='A'.($startRow+$key);
|
||||
$needSetapplyFromArray[]='B'.($startRow+$key);
|
||||
$needSetapplyFromArray[]='C'.($startRow+$key);
|
||||
$needSetapplyFromArray[]='D'.($startRow+$key);
|
||||
$needSetapplyFromArray[]='E'.($startRow+$key);
|
||||
}
|
||||
|
||||
$needSetapplyFromArray[] = 'D' . ($startRow + $skusCount);
|
||||
$needSetapplyFromArray[] = 'E' . ($startRow + $skusCount);
|
||||
|
||||
|
||||
|
||||
$sheet->setCellValue('D' . ($startRow + $skusCount), "合 计");
|
||||
$sheet->setCellValue('E' . ($startRow + $skusCount), $order->original_price);
|
||||
|
||||
//单元格文字样式设置
|
||||
// getStyle 获取单元格样式
|
||||
// getFont 获取单元格文字样式
|
||||
// setBold 设置文字粗细
|
||||
// setName 设置文字字体
|
||||
// setSize 设置文字大小
|
||||
$sheet->getStyle('D' . ($startRow + $skusCount))->getFont()->setBold(true)->setSize(18);
|
||||
$sheet->getStyle('E' . ($startRow + $skusCount))->getFont()->setBold(true)->setSize(18);
|
||||
$sheet->getStyle('D1')->getFont()->setBold(true);
|
||||
$sheet->getStyle('A2:E2')->getFont()->setBold(true);
|
||||
$sheet->getStyle('C3:E' . ($startRow + $skusCount - 1))->getFont()->setBold(true);
|
||||
$sheet->getStyle('A1:E' . ($startRow + $skusCount - 1))->getFont()->setSize(12);
|
||||
$sheet->getStyle('A' . (($startRow + $skusCount + 1)))->getFont()->setSize(12);
|
||||
//设置字体颜色
|
||||
$sheet->getStyle('D' . ($startRow + $skusCount))->getFont()->getColor()->setARGB(Color::COLOR_RED);
|
||||
$sheet->getStyle('E' . ($startRow + $skusCount))->getFont()->getColor()->setARGB(Color::COLOR_RED);
|
||||
|
||||
$spreadsheet->getActiveSheet()->mergeCells('A' . ($startRow + $skusCount + 1) . ":" . 'E'.($startRow + $skusCount + 2));
|
||||
$sheet->setCellValue('A' . (($startRow + $skusCount + 1)),
|
||||
"婚 期:" . $order->wedding_date
|
||||
. " ,希望到货时间:" . $order->expected_delivery_date
|
||||
. " ,收 货 地 址:" . $order->address
|
||||
. " ,联 系 人 :" . $order->contacts
|
||||
. " ,联 系 人 电 话:" . $order->phone
|
||||
);
|
||||
$needSetapplyFromArray[] = 'A' . (($startRow + $skusCount + 1));
|
||||
|
||||
//设置单元格 上下 水平居中
|
||||
foreach ($needSetapplyFromArray as $key => $item) {
|
||||
$sheet->getStyle($item)->applyFromArray($styleArray);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -600,10 +701,10 @@ class Order extends Base
|
|||
if(!is_dir($path)){
|
||||
mkdir($path);
|
||||
}
|
||||
$fileName = $order->contacts . "_" . $order->phone . "_" . $order->coding . ".xlsx";
|
||||
$downloadFileName = $order->contacts . "_" . $order->phone . "_" . $order->coding ;
|
||||
$fileName = $downloadFileName . ".xlsx";
|
||||
$filepath = $path. $fileName;
|
||||
$writer->save($filepath);
|
||||
|
||||
|
||||
return download($filepath,$downloadFileName );
|
||||
}
|
||||
}
|
Binary file not shown.
|
@ -1,24 +0,0 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIID8DCCAtigAwIBAgIUZUkH4c7FU29Hq2ArHG5O6V18jmgwDQYJKoZIhvcNAQEL
|
||||
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
|
||||
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
|
||||
Q0EwHhcNMjEwNzE0MDIwNTEyWhcNMjYwNzEzMDIwNTEyWjCBgTETMBEGA1UEAwwK
|
||||
MTYwNTA5MDExMTEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMS0wKwYDVQQL
|
||||
DCTlm5vlt53lpKflkJHlpKnor5rnp5HmioDmnInpmZDlhazlj7gxCzAJBgNVBAYM
|
||||
AkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
||||
AQoCggEBAM7Hs28z9lIdDimJ/4rVqhy3Q5nOKDNaOOoMjlFkIWTJ1DFt5VtMPb4u
|
||||
vHI7l2OqZBzh4p3equG0BrRzNKkRol3CggRDMC/PP/zqui/3h73eAXPyS6trWX5M
|
||||
M7Mhy71ycW0lzhMWvuv0rB512iBBK3KX9BR3XbxrDlt8EhiuBCSEa0FuVN7rpudf
|
||||
fKsmSmUiPlvbgRjT74CsVEJW6EOmuvEa3IcOH/pjbdok2g5KMEJ9wyKvzDW1ZvSn
|
||||
HZO7Ey0ILkeFoTuXA7o8FU5NvvREy73S0ALD2XSHkZz+2VGZObhETvb6A13Jzmnq
|
||||
3Mnt3h7LNwtROso6BXBX599hVJcn/qsCAwEAAaOBgTB/MAkGA1UdEwQCMAAwCwYD
|
||||
VR0PBAQDAgTwMGUGA1UdHwReMFwwWqBYoFaGVGh0dHA6Ly9ldmNhLml0cnVzLmNv
|
||||
bS5jbi9wdWJsaWMvaXRydXNjcmw/Q0E9MUJENDIyMEU1MERCQzA0QjA2QUQzOTc1
|
||||
NDk4NDZDMDFDM0U4RUJEMjANBgkqhkiG9w0BAQsFAAOCAQEALrCZJlVuoxU+v5Ld
|
||||
YojgFIuBNTurNHk+s71UtJvbLYTMwxNtU/C9i7hHI7iErHfNTi7D+UmWf0NGClv7
|
||||
naE/aN7w3zDu1jhMpl+r0ldqOtwKtuYv5VjOG6BcXfeXhDMBsR+Ip3AarT87wkTF
|
||||
bhlggQVdYeVQnRpNNEdWPhJ66H+7l7ahou4iw1ofLrYswstVCh0lyV7HdLz5VS29
|
||||
N9j6NdFJQ1j4+En0/PKrQRuuF8Ld0/Do+vsTgyOT8SuPY2AJ7Dj6UTHkiUk77unK
|
||||
p+zs0n9ftgARIx0ACXrkaZBwr3LdP5wOEZrEJYAhTVHK5KGhhRt77JAG6sa6rmeA
|
||||
JA0BaQ==
|
||||
-----END CERTIFICATE-----
|
|
@ -1,28 +0,0 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOx7NvM/ZSHQ4p
|
||||
if+K1aoct0OZzigzWjjqDI5RZCFkydQxbeVbTD2+LrxyO5djqmQc4eKd3qrhtAa0
|
||||
czSpEaJdwoIEQzAvzz/86rov94e93gFz8kura1l+TDOzIcu9cnFtJc4TFr7r9Kwe
|
||||
ddogQStyl/QUd128aw5bfBIYrgQkhGtBblTe66bnX3yrJkplIj5b24EY0++ArFRC
|
||||
VuhDprrxGtyHDh/6Y23aJNoOSjBCfcMir8w1tWb0px2TuxMtCC5HhaE7lwO6PBVO
|
||||
Tb70RMu90tACw9l0h5Gc/tlRmTm4RE72+gNdyc5p6tzJ7d4eyzcLUTrKOgVwV+ff
|
||||
YVSXJ/6rAgMBAAECggEAInhd7CLAZC3dx4TuqYk2w3S1ezVHtE/M/w86xkyn2HJg
|
||||
wiCsxExwWnzWA0D12rJz3/Cz41dUKy3klD5EQA7lfzXGkMlWhhHJe/LxOL/NzBPv
|
||||
MBHrFVde4tP3Jlxy51DloalUsg/vocv2yVkiFJBomsDD+olvgdJi4VNMfPq9TAzN
|
||||
8UAu4oZjkEEL9+6tm5/Ds1Y8znaXMJvfiYBMaxOgxb5cpijK3T3yzHLn8DrKVO7k
|
||||
ypTuwaf4F6rtgIdKBJSH634Y+O20PewMTeciD7VpDOnr/XU9P0Bf0tN51YS0/OiD
|
||||
XdSngSln07hS+GjVaayaan2cc9pDZIxu6a8KnypHoQKBgQD+MtcAmcD4O1aLOFng
|
||||
/OuK5+H8BXk1dNnkI4wNrLCGHKe4K6V5Y6PD2OaqmKVRw0sCQmQg1O5TnHrnnP7x
|
||||
tvLnmx3iApTaxUiIYb8YgDuD7kCy6/ks6dVotKb0xNFu0hOUDJvGx3HWcfDpFggb
|
||||
pP5ZPw4eVKU/CXdTG6LNDtWAOwKBgQDQPtXwCGZc4KZngHfIyy8N7GtN/imA0cE8
|
||||
L2LuwZuYsMJJrD2UzYPLCQ2Hy//GKDAoq8Qywddp9Z16wDxdK5oOaVdPVPiSdWzI
|
||||
75HcfgfnVOb9BkQzqlyzIZT3P8rBswCF5zRI3saL/SDDcCKkNmh0v3GmQUNXYhPj
|
||||
MMDXkrSEUQKBgDoaXNKiUl1rEskXxFOM/Dnv7tOwXJg/cV6YUXb+tgqxmhSaxWQN
|
||||
xm0Jsw/jfEZIIWkOy9xFT4SFDALM++k8LCGMbzQt6uBmn8GstgVfqjrpxpgfIAGI
|
||||
IWOhh1gDdOuj0R3SE/lHtVmTCcH9azUGbazwoMWGC49xFnlEo93DOkHpAoGAPK2S
|
||||
eNZ5vSZYVmBAhultVIlG2vrr7PUxcO/9y8PuKpeWhREDAJDBji+dGax/YqXjInaq
|
||||
PH/u3JkMwe+xpxRFV12qaxs/Mq20fPgRcEXo16cNhzyEMum5CRkH5uNXmQknZdzw
|
||||
hysifzfKjCfocCDKXvpJi0AI9zVExjY2epnsr4ECgYEA+PLEEgSiTrsCZzHtMNbY
|
||||
x6BD4lpnkTcdpWuxzvp/3ABQTqnu9EVBWiuuYEq7IrdrtMHEvyz0SETwEZlH3/Bo
|
||||
s0dPKVqTXkDgheCs/yduoO2X+6F0Y3yrQOliBYabLbsnDAUTxWcxhzNTE0o9DSYA
|
||||
n346GwplxOSB2KyUh48JIPg=
|
||||
-----END PRIVATE KEY-----
|
|
@ -1,18 +0,0 @@
|
|||
欢迎使用微信支付!
|
||||
附件中的三份文件(证书pkcs12格式、证书pem格式、证书密钥pem格式),为接口中强制要求时需携带的证书文件。
|
||||
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
|
||||
不同开发语言下的证书格式不同,以下为说明指引:
|
||||
证书pkcs12格式(apiclient_cert.p12)
|
||||
包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
|
||||
部分安全性要求较高的API需要使用该证书来确认您的调用身份
|
||||
windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户号(如:1900006031)
|
||||
证书pem格式(apiclient_cert.pem)
|
||||
从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制
|
||||
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
|
||||
您也可以使用openssl命令来自己导出:openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
|
||||
证书密钥pem格式(apiclient_key.pem)
|
||||
从apiclient_cert.p12中导出密钥部分的文件,为pem格式
|
||||
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
|
||||
您也可以使用openssl命令来自己导出:openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
|
||||
备注说明:
|
||||
由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件(rootca.pem)下载
|
|
@ -10,10 +10,10 @@
|
|||
.layui-form-item-lg .layui-input-block{margin-left: 190px;}
|
||||
|
||||
.footBar-item {float: left; width: 47%;margin-top: 10px;margin-right:10px;border-bottom: 1px dashed #f5f5f5;}
|
||||
.footBar-item .footBar-img{ min-width: 140px;height: 140px; float: left;}
|
||||
.footBar-item .footBar-img{ min-width: 140px;height: 140px; float: left; margin-bottom: 15px}
|
||||
.footBar-item .footBar-img .preview-list{min-width: 100px;height: 100%;display: inline-block;float: left; border:1px solid #f2f2f2;}
|
||||
.footBar-item .footBar-img .preview-list .preview-li{ width: auto;height: 100%;display: inline-block;vertical-align:top;margin-right: 10px;}
|
||||
.footBar-item .footBar-img .preview-list .preview-li img{width: 90px; height: 90px;}
|
||||
.footBar-item .footBar-img .preview-list .preview-li img{width: 90px; height: 90px;background: rgba(0,0,0,0.5)}
|
||||
.footBar-item .img-change-operate{margin-top: 5px;}
|
||||
.footBar-item .img-change-operate button{margin-top:8px;}
|
||||
.footBar-item .footBar-content{min-width: 200px; float: left; margin-left: 10px;}
|
||||
|
|
|
@ -46,13 +46,13 @@ layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect', 'laydate'
|
|||
cols: [[
|
||||
{type: 'checkbox'},
|
||||
{field: 'id', width: 80, title: '编号'},
|
||||
{field: 'nickname', width: 150, title: '昵称'},
|
||||
{field: 'real_name', width: 100, title: '真实姓名'},
|
||||
{field: 'mobile', width: 120, title: '电话'},
|
||||
{field: 'tag', minWidth: 100, title: '客户标签'},
|
||||
{field: 'created_at', minWidth: 180, title: '注册时间'},
|
||||
{field: 'gender_text', minWidth: 80, title: '性别'},
|
||||
{templet: '#row-operate', fixed: "right", minWidth: 250, title: '操作'},
|
||||
{field: 'nickname', title: '昵称'},
|
||||
{field: 'real_name',title: '真实姓名'},
|
||||
{field: 'mobile', title: '电话'},
|
||||
// {field: 'tag', minWidth: 100, title: '客户标签'},
|
||||
{field: 'created_at', title: '注册时间'},
|
||||
{field: 'gender_text', title: '性别'},
|
||||
{templet: '#row-operate', fixed: "right", title: '操作'},
|
||||
]],
|
||||
done: function () {
|
||||
Tools.setInsTb(insTb);
|
||||
|
|
|
@ -148,7 +148,7 @@ layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'xmSelect', 'laydate'
|
|||
// {field: 'express_code', title: '快递公司代号', minWidth: 150, hide: true},
|
||||
// {field: 'express_name', title: '快递公司名称', minWidth: 150, hide: true},
|
||||
// {field: 'accepted_at', title: '确认收货时间', width: 160, hide: true},
|
||||
{ fixed: 'right', title: '操作', templet: '#row-operate'}
|
||||
{ fixed: 'right', title: '操作', minWidth:220,templet: '#row-operate'}
|
||||
]],
|
||||
done: function () {
|
||||
Tools.setInsTb(insTb);
|
||||
|
|
|
@ -34,17 +34,17 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">客户标签</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="tag">
|
||||
<option value=""></option>
|
||||
{foreach $tagList as $tag}
|
||||
<option value="{$tag['id'] ?? ''}">{$tag['name'] ?? ''}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="layui-inline">-->
|
||||
<!-- <label class="layui-form-label">客户标签</label>-->
|
||||
<!-- <div class="layui-input-inline">-->
|
||||
<!-- <select name="tag">-->
|
||||
<!-- <option value=""></option>-->
|
||||
<!-- {foreach $tagList as $tag}-->
|
||||
<!-- <option value="{$tag['id'] ?? ''}">{$tag['name'] ?? ''}</option>-->
|
||||
<!-- {/foreach}-->
|
||||
<!-- </select>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
|
@ -61,15 +61,20 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <a class="layui-btn layui-btn-primary layui-btn-xs" -->
|
||||
<!-- data-href="/manager/account/index/detail.html?id={{d.id}}" -->
|
||||
<!-- data-title="客户详情"-->
|
||||
<!-- lay-event="detail">详情</a>-->
|
||||
<!-- 操作列 -->
|
||||
<script type="text/html" id="row-operate">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/account/index/detail.html?id={{d.id}}" data-title="客户详情" lay-event="detail">详情</a>
|
||||
|
||||
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" data-href="/manager/account/index/edit.html?id={{d.id}}" data-title="用户编辑" lay-event="detail">编辑</a>
|
||||
</script>
|
||||
|
||||
<!-- toolbar -->
|
||||
<script type="text/html" id="toolbar-tpl">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" data-table-refresh lay-event="refresh"><i class="fa fa-refresh"></i></a>
|
||||
<a class="layui-btn layui-btn-normal layui-btn-sm" data-href="/manager/account/index/tag.html" data-width="40%" data-height="60%" data-title="分配客户标签" lay-event="tag">分配客户标签</a>
|
||||
<!-- <a class="layui-btn layui-btn-normal layui-btn-sm" data-href="/manager/account/index/tag.html" data-width="40%" data-height="60%" data-title="分配客户标签" lay-event="tag">分配客户标签</a>-->
|
||||
</script>
|
||||
<script src="__MANAGER__/js/account/account.js?v={:mt_rand()}"></script>
|
|
@ -4,6 +4,28 @@
|
|||
<form class="layui-form " data-action="{:url('manager.config/'.$Request.action)}">
|
||||
关于我们
|
||||
<hr>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">公司名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="company_name" lay-verify="required" value="{$item.company_name ?? ''}" lay-reqtext="公司名称不能为空" placeholder="请输入详细地址" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">联系人</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="contacts" lay-verify="required" value="{$item.contacts ?? ''}" lay-reqtext="联系人不能为空" placeholder="请输入详细地址" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">联系电话</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="phone" lay-verify="required" value="{$item.phone ?? ''}" lay-reqtext="联系电话不能为空" placeholder="请输入详细地址" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 详细地址 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">地址</label>
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
{layout name="manager/layout" /}
|
||||
<div class="layui-card layui-col-md12">
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form " data-action="{:url('manager.config/'.$Request.action)}">
|
||||
添加微信
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- 我二维码 -->
|
||||
<div class="layui-form-item layui-row field-div current-field-cover" >
|
||||
<label class="layui-form-label">二维码:</label>
|
||||
<div class="layui-inline layui-col-xs12 layui-col-md8">
|
||||
<div class="layui-row upload-file-div">
|
||||
<div class=" layui-col-xs12 layui-col-md8">
|
||||
<input class="layui-input upload-file-value" name="wechat" type="text" value="{$item.wechat ?? ''}">
|
||||
<div class="layui-form-mid layui-word-aux">
|
||||
图片尺寸:500*500
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs12 layui-col-md3">
|
||||
<span>
|
||||
<button type="button" class="layui-btn layui-btn-danger upload-btn">
|
||||
<i class="fa fa-upload"></i> 上传
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<ul class="layui-row layui-col-xs12 layui-col-md9 preview-list layui-col-space5"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">内容</label>
|
||||
<div class="layui-input-block editor-text">
|
||||
<div class="editor"></div>
|
||||
<textarea name="content" class="layui-textarea layui-hide">{$item.content??''}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button type="button" class="layui-btn layui-btn-normal" data-url="/manager/config/{$Request.action}" lay-submit lay-filter="saveConfig">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
|
@ -20,21 +20,28 @@
|
|||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">底部导航设置</label>
|
||||
<div class="layui-input-block">
|
||||
{foreach $footBarIcons as $i => $icon}
|
||||
{foreach $footBar as $i => $icon}
|
||||
<div class="footBar-item upload-file-div">
|
||||
<div class="footBar-img">
|
||||
<ul class="preview-list"></ul>
|
||||
<input type="hidden" class="upload-file-value" name="footBar[{$i}][icon]" value="{:$footBar[$i]['icon'] ?? ''}">
|
||||
</div>
|
||||
<div class="footBar-content">
|
||||
<input type="hidden" name="footBar[{$i}][key]" value="{:$footBar[$i]['key'] ?? $icon['key']}">
|
||||
<input type="text" name="footBar[{$i}][name]" autocomplete="off" placeholder="ICON标题" class="layui-input" value="{:$footBar[$i]['name'] ?? $icon['name']}" readonly>
|
||||
<div class="img-change-operate">
|
||||
<button type="button" class="layui-btn layui-btn-info upload-btn" data-multiple="{$icon['multi']}">
|
||||
<i class="fa fa-upload"></i> 上传
|
||||
</button>
|
||||
|
||||
<div class="layui-row">
|
||||
<div class="footBar-img ">
|
||||
<ul class="preview-list"></ul>
|
||||
<input type="hidden" class="upload-file-value" name="footBar[{$i}][icon]" value="{:$footBar[$i]['icon'] ?? ''}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-row">
|
||||
<div class="footBar-content layui-row">
|
||||
<input type="hidden" name="footBar[{$i}][key]" value="{:$footBar[$i]['key'] ?? $icon['key']}">
|
||||
<input type="text" name="footBar[{$i}][name]" autocomplete="off" placeholder="ICON标题" class="layui-input" value="{:$footBar[$i]['name'] ?? $icon['name']}" readonly>
|
||||
|
||||
<div class="img-change-operate">
|
||||
<button type="button" class="layui-btn layui-btn-info upload-btn" data-multiple="1">
|
||||
<i class="fa fa-upload"></i> 上传
|
||||
</button>
|
||||
</div>
|
||||
<p class="word-aux">图标大小为 40 * 40; 第1图为默认图,第2图为高亮图</p>
|
||||
</div>
|
||||
<p class="word-aux">{$icon['aux']}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
{layout name="manager/layout" /}
|
||||
<div class="layui-card layui-col-md12">
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form " data-action="{:url('manager/config/purchaseinstructions')}">
|
||||
免责声明
|
||||
<hr>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">内容</label>
|
||||
<div class="layui-input-block editor-text">
|
||||
<div class="editor"></div>
|
||||
<textarea name="content" class="layui-textarea layui-hide">{$item.content??''}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button type="button" class="layui-btn layui-btn-normal" data-url="/manager/config/purchaseinstructions" lay-submit lay-filter="saveConfig">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
|
@ -18,11 +18,11 @@
|
|||
<div class="layui-form-item layui-form-item-lg">
|
||||
<label class="layui-form-label">小程序 appSecret</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="password" name="applets_appSecret" value="{$item.applets_appSecret ?? ''}" placeholder="小程序 appSecret" />
|
||||
<input class="layui-input" type="text" name="applets_appSecret" value="{$item.applets_appSecret ?? ''}" placeholder="小程序 appSecret" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-item-lg">
|
||||
<div class="layui-form-item layui-form-item-lg layui-hide">
|
||||
<label class="layui-form-label">支付回调</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="applets_notify_url" value="{$item.applets_notify_url ?? ''}" placeholder="支付回调地址" />
|
||||
|
@ -55,7 +55,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="config-group-item">
|
||||
<div class="config-group-item layui-hide">
|
||||
<div class="config-group-title">微信支付</div>
|
||||
<hr>
|
||||
<div class="layui-form-item layui-form-item-lg">
|
||||
|
@ -106,7 +106,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="config-group-item">
|
||||
<div class="config-group-item layui-hide">
|
||||
<div class="config-group-title">企业微信</div>
|
||||
<hr>
|
||||
<div class="layui-form-item layui-form-item-lg">
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
{layout name="manager/layout" /}
|
||||
<div class="layuimini-container location-tag-page">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form">
|
||||
<input type="hidden" name="id" value="{$id}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">状态</label>
|
||||
<div class="layui-input-block">
|
||||
|
||||
{foreach $statusList as $key =>$item}
|
||||
<input type="radio" name="status" value="{$key}" title="{$item}" {if $status== $key}checked="" {/if}>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal" data-url="/manager/mall/order/edit-status" lay-submit
|
||||
lay-filter="saveBtn">确认保存
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -73,7 +73,16 @@
|
|||
|
||||
<!-- 操作列 -->
|
||||
<script type="text/html" id="row-operate">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/mall/order/info.html?id={{d.id}}" data-title="订单详情" lay-event="info">详情</a>
|
||||
|
||||
<a class="layui-btn layui-btn-xs" data-href="/manager/mall/order/edit-status.html?id={{d.id}}"
|
||||
data-width="40%" data-height="60%" data-title="修改状态" lay-event="edit-status">修改状态</a>
|
||||
|
||||
<a class="layui-btn layui-btn-xs" onclick="parent.window.open('/manager/mall/order/export-order-info?id={{d.id}}')"
|
||||
data-title="导出" >导出</a>
|
||||
|
||||
<a class="layui-btn layui-btn-primary layui-btn-xs" data-href="/manager/mall/order/info.html?id={{d.id}}"
|
||||
data-title="订单详情" lay-event="info">详情</a>
|
||||
|
||||
{{# if (d.status == 'paid' || d.status == 'shipped') {
|
||||
let sendTitle = d.status == 'paid' ? '发货' : '重发';
|
||||
}}
|
||||
|
|
Loading…
Reference in New Issue