| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- {Template header}
- <body>
- <div class="warp">
- <div class="fixed">
- <ul class="search">
- <li>
- 所属店铺:<select name="shop" class="select" >
- <option value="">请选择</option>
- <option value="0">不确定</option>
- {loop usershop() as $val}
- <option value="{$val['id']}">{$val['shopname']}</option>
- {/loop}</select>
- </li>
- <li>订单编号:<input value="" name="number" type="text" ></li>
- <li>订单号:<input value="" name="orderinfo" type="text" ></li>
- <li>退回单号:<input value="" name="torderinfo" type="text" ></li>
- <li>姓名:<input value="" name="name" type="text" ></li>
- <li>退货登记编码:<input value="" name="ret_regist_no" type="text" ></li>
- <br/>
- <li>收货地址:<select name="region" class="select class" style="width:85px !important;">
- <option value="-1">请选择</option>
- <option value="2">美国</option>
- <option value="1">国内</option>
- </select></li>
- <li>快递方式:<select name="express" class="select class" style="width:85px !important;">
- <option value="">请选择</option>
- <option value="USPS">USPS</option>
- <option value="UPS">UPS</option>
- <option value="Fedex">Fedex</option>
- <option value="DHL">DHL</option>
- <option value="Royal Mail">Royal Mail</option>
- <option value="Canada Post">Canada Post</option>
- <option value="France Post">France Post</option>
- <option value="Germany Post">Germany Post</option>
- <option value="Australia Post">Australia Post</option>
- <option value="TNT">TNT</option>
- <option value="邮政">邮政</option>
- <option value="其它">其它</option>
- </select></li>
- <li>
- 是否收到:<select name="fh" class="select" style="width:85px !important;">
- <option value="">请选择</option>
- <option value="1">已收到</option>
- <option value="2">未收到</option>
- </select>
- </li>
- <li>是否处理:<select name="qr" class="select class" style="width:85px !important;">
- <option value="">请选择</option>
- <option value="0">未处理</option>
- <option value="1">已处理</option>
- </select></li>
- <li>
- 完好程度:<select name="whcd_status" class="select" style="width:85px !important;">
- <option value="">请选择</option>
- <option value="1">(人发)可用</option>
- <option value="6">(化纤)可用</option>
- <option value="7">(化纤)待确认</option>
- <option value="2">(人发)精打理</option>
- <option value="3">(人发)不可用</option>
- <option value="5">(化纤)不可用</option>
- <option value="4">非假发/非我司头发</option>
- </select>
- </li>
- <li>选择时间条件:<select name="xztime" class="select" style="width:85px !important;">
- <option value="time">添加时间</option>
- <option value="edittime">更新时间</option>
- </select></li>
- <li><input id="timetk" value="{date('Y-m-d',time()-30*3*24*3600)} 0:00" name="timetk" type="text" onClick="laydate({istime: true,format:'YYYY-MM-DD hh:mm'})" style="width:110px !important;">
- 至 <input id="timetj" value="{date('Y-m-d',time()+24*3600)} 0:00" name="timetj" type="text" onClick="laydate({istime: true,format:'YYYY-MM-DD hh:mm'})" style="width:110px !important;"></li>
- <li><span>确 定</span></li>
- </ul>
- <div class="control">
- <a href="javascript:void(0);" class="window" data-h="/returns/add/" data-t="退货 - 添加">添 加</a>
- {if $power == '1'}<a href="javascript:void(0);" class="check">删 除</a> {/if}
- <a href="javascript:void(0);" class="returnsexcel">下 载</a>
- <a href="javascript:void(0);" id="uploadLink">导入数据</a>
- <input type="file" id="fileInput" accept=".xlsx, .xls, .csv" style="display: none;">
- <a href="/data/lymob/thdjb.xlsx" >下载导入模板</a>
- </div>
- <table class="datatitle data" border="0" style="border-collapse:collapse;">
- <tr>
- <td><label onClick="swapCheck()"><input name="checkbox" type="checkbox" class="regular-checkbox"></label></td>
- <td>收货地址</td>
- <td>编号</td>
- <td>客户姓名</td>
- <td>快递方式</td>
- <td>退回单号</td>
- <td>所属店铺</td>
- <td>添加时间</td>
- <td>更新时间</td>
- <td>操作</td>
- </tr>
- </table>
- </div>
- <table class="datatext data" border="0" style="border-collapse:collapse;">
- </table>
- <div class="bomf"></div>
- </div>
- <script>
- var dataurl = "/returns";
- var excel = "/returns/";
- var editurl = "/returns/edit/";
- var editdj = 1;
- var editt = "退货 - 修改";
- $(function(){
- // 获取元素
- const uploadLink = document.getElementById('uploadLink');
- const fileInput = document.getElementById('fileInput');
-
- // 点击 a 标签触发隐藏的 file input
- uploadLink.addEventListener('click', (e) => {
- e.preventDefault(); // 阻止 a 标签跳转
- fileInput.click(); // 打开文件选择对话框
- });
- // 监听文件选择
- fileInput.addEventListener('change', (e) => {
- const file = e.target.files[0];
- if (!file) return;
- // 可选的:检查文件类型
- const validTypes = ['application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'text/csv'];
- if (!validTypes.includes(file.type)) {
- alert('请选择有效的 Excel 文件(.xlsx, .xls, .csv)');
- fileInput.value = ''; // 清空选择
- return;
- }
- // 使用 FileReader 读取文件内容
- const reader = new FileReader();
- reader.onload = (loadEvent) => {
- try {
- // 读取结果为 ArrayBuffer
- const arrayBuffer = loadEvent.target.result;
- // 使用 SheetJS 解析 Excel(type 指定为 'array')
- const workbook = XLSX.read(arrayBuffer, { type: 'array' });
- // 获取第一个工作表
- const firstSheetName = workbook.SheetNames[0];
- // 将工作表转换为 HTML 表格(简单展示)
-
- const worksheet = workbook.Sheets[firstSheetName];
- // const jsonData = XLSX.utils.sheet_to_json(worksheet, {header: 1,
- // defval: '' // 为空单元格设置默认值
- // });
- // console.log(jsonData)
- //resultDiv.innerHTML = `<h3>解析结果(第一个工作表)</h3>${htmlTable}`;
- // 同时你也可以获得 JSON 数据:
- const jsonData = XLSX.utils.sheet_to_json(worksheet);
- //console.log(jsonData); // 在控制台查看 JSON
- doSendExcel(jsonData);
- } catch (error) {
- console.error('解析失败', error);
- alert('文件解析失败,请确保文件格式正确');
- }
- };
- reader.readAsArrayBuffer(file); // 以 ArrayBuffer 形式读取
- });
- })
- // 重置文件输入框的函数
- function resetFileInput() {
- $("#fileInput").val(''); // 核心:清空选择
- }
- function doSendExcel(jsonData){
- if(jsonData.length == 0 ){
- return layx.confirm('提示',"解析excel数据不存在",null,{
- buttons:[
- {
- label:'确定',
- callback:function(id, button, event){
-
- layx.destroy(id);
- }
- }
- ],dialogIcon:'error',shadable:0.6
- });
- }
- layx.load('loadId','数据加载中');
- resetFileInput();
- $.ajax({
- url: dataurl+"/excellr",
- data: {data:JSON.stringify(jsonData)},
- type: "POST",
- dataType: "json",
- success: function(a) {
- layx.destroy('loadId');
- if (a && a.success) {
- if(a.data.length > 0){
- layx.confirm('提示',a.msg,null,{
- buttons:[
- {
- label:'确定',
- callback:function(id, button, event){
- layx.destroy(id);
- download_excel(a.data)
- }
- },
- {
- label:'取消',
- callback:function(id, button, event){
- layx.destroy(id);
- }
- }
- ]
- });
- }else{
- $(".ts p").html(a.msg);
- $(".ts").show();
- setTimeout('$(".ts").fadeOut()', 1000);
- }
- } else {
- $(".ts p").html(a.msg);
- $(".ts").show();
- setTimeout('$(".ts").fadeOut()', 1000);
- }
- }
- })
- }
- function download_excel(data){
- let sheet = XLSX.utils.json_to_sheet(data)
-
- sheet['!cols'] = [
- //订单号
- {
- wch:40,
- },
- //订单编码
- {
- wch:100,
- },
- ];
- let workbook = XLSX.utils.book_new();
- XLSX.utils.book_append_sheet(workbook, sheet, "Sheet1");
- XLSX.writeFile(workbook, "错误数据.xlsx");
- }
- $(".returnsexcel").click(function() {
- var f = "";
- var a = "";
- $(".datatext input[name='check']:checked").each(function() {
- a = a + $(this).val()+",";
- });
- f = f + "a=" + a + "&";
- $(".select").each(function() {
- f = f + $(this).attr("name") + "=" + $(this).children("option:selected").val() + "&";
- });
- $("input:text").each(function() {
- f = f + $(this).attr("name") + "=" + $(this).val() + "&";
- });
- var a = "";
- $(".datatext input[name='check']:checked").each(function() {
- a = a + $(this).val()+",";
- });
- f = f + "excel=1&a="+a;
- window.location.href = "/returns/excel?excel=1&"+f;
- });
- $(".datatext").on('click',".thqr",function() {
- var thid = $(this).data("id");
- $.ajax({
- url: dataurl+"/qr",
- data: 'id='+thid,
- type: "POST",
- dataType: "json",
- success: function(a) {
- if (a && a.success) {
- $(".datatext #"+a.id).find("td:eq(9)").html(a.t);
- $(".ts p").html(a.msg);
- $(".ts").show();
- setTimeout('$(".ts").fadeOut()', 1000);
- } else {
- $(".ts p").html(a.msg);
- $(".ts").show();
- setTimeout('$(".ts").fadeOut()', 1000);
- }
- }
- });
- });
- </script>
- <script type="text/javascript" src="{$theme}js/laydate.js"></script>
- <script type="text/javascript" src="{$theme}js/excel/xlxs.js" ></script>
- {Template footer}
|