|
@@ -46,6 +46,180 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','clipboard'],
|
|
|
shadeClose:false,
|
|
|
})
|
|
|
})
|
|
|
+ $(document).on('click','.btn-sub-remark',function (){
|
|
|
+ let id=$(this).data('id')
|
|
|
+ let url=table.data('url-sub-remark')+`/id/${id}`
|
|
|
+ Fast.api.open(url,'备注')
|
|
|
+ })
|
|
|
+
|
|
|
+ let columns=[
|
|
|
+ //{checkbox: true},
|
|
|
+ {field: 'id', title: __('ID'),operate:false,},
|
|
|
+ {field: 'order_no', title: __('订单号'),visible:false,operate: 'like'},
|
|
|
+ {field: 's_id', title: __('来源渠道')},
|
|
|
+ {field: 'pay_type', title: __('支付方式'),searchList: payType,visible: false},
|
|
|
+ {field: 'pay_mid_wechat', title: __('微信商户号'),visible: false,operate: 'LIKE'},
|
|
|
+ {field: 'pay_mid_alipay', title: __('支付宝商户号'),visible: false,operate: 'LIKE'},
|
|
|
+ {field: 'name', title: __('收货人'),visible: false,operate: 'LIKE'},
|
|
|
+ {field: 'phone', title: __('收货人手机'),visible: false,operate: 'LIKE'},
|
|
|
+ {field: 'id_no', title: __('收货人身份证'),visible: false,operate: "like"},
|
|
|
+ {field: 'no', title: __('手机号'),visible: false,operate: 'LIKE'},
|
|
|
+ {field: 'order_no', title: __('订单信息'),operate: false,formatter(_,order){
|
|
|
+ let a=[]
|
|
|
+ a.push(`<div>订单号:${order.order_no}</div>`)
|
|
|
+ a.push(`<div>商品信息:${order.no}</div>`)
|
|
|
+ a.push(`<div>卡品牌:${order.brand}</div>`)
|
|
|
+ a.push(`<div>底价:${order.amount_di}</div>`)
|
|
|
+ a.push(`<div>预存:${order.amount_charge}</div>`)
|
|
|
+ a.push(`<div>单价:${order.amount}</div>`)
|
|
|
+ a.push(`<div>订单价格:${order.amount}</div>`)
|
|
|
+ a.push(`<div>套餐:${order.info?order.info.info.describe:''}</div>`)
|
|
|
+ a.push(`<div>备注:${order.info?order.info.mobile.remark:''}</div>`)
|
|
|
+ return `<div style="max-width: 200px;word-wrap: break-word;word-break: break-all;white-space: normal;text-align: left;">${a.join('')}</div>`
|
|
|
+ },width:200,valign:'top',align:'left'},
|
|
|
+ {field: 'order_no', title: __('收货人'),operate: false,formatter(_,order){
|
|
|
+ let a=[]
|
|
|
+ a.push(`<div>收货人:${order.name}</div>`)
|
|
|
+ a.push(`<div>手机号:${order.phone}<span style="color: red;">(${order.phone_order_count})</span></div>`)
|
|
|
+ a.push(`<div>地址:${order.address}</div>`)
|
|
|
+ a.push(`<div>支付方式:${payType[order.pay_type]}</div>`)
|
|
|
+ a.push(`<div>微信商户号:<span style="color: #00b578;">${order.pay_mid_wechat}</span></div>`)
|
|
|
+ a.push(`<div>支付宝商户号:<span style="color: #0d6aad;">${order.pay_mid_alipay}</span></div>`)
|
|
|
+ a.push(`<div>备注:${order.remark}</div>`)
|
|
|
+ a.push(`<div>快递名称:${order.trans_name}</div>`)
|
|
|
+ a.push(`<div>快递单号:${order.trans_no}</div>`)
|
|
|
+ a.push(`<a class="btn btn-link btn-click-show-open" style="color: #00a2ff;" data-id="${order.id}" data-open="${order.open_uploaded}">查看资料</a>`)
|
|
|
+ return `<div style="max-width: 200px;text-align: left;" class="break-words">${a.join('')}</div>`
|
|
|
+ },width:200,valign:'top',align:'left'},
|
|
|
+ {field: 'status', title: __('Status'),formatter: Table.api.formatter.label,searchList:status},
|
|
|
+ {field: 'rules.rule', title: __('规律'),visible: false,searchList:mobileRules},
|
|
|
+ {field: 'remark_backend', title: __('主站备注'),formatter: Table.api.formatter.content,operate:"like",align: 'left',valign: 'top'},
|
|
|
+ //{field: 'remark_sub', title: __('分站备注'),formatter: Table.api.formatter.content,operate:false},
|
|
|
+ {field: '', title: __('退款记录'),formatter(_,order){
|
|
|
+ let a=[]
|
|
|
+ order.refund_log.forEach(item=>{
|
|
|
+ a.push(`<div>${item.create_time_format} ${item.pass?'同意':'驳回'} ${item.reason}</div>`)
|
|
|
+ })
|
|
|
+ return `<div style="text-align: left;font-size: 10px;" class="break-words">${a.join('')}</div>`
|
|
|
+ },operate:false,valign:'top',align:'left'},
|
|
|
+ {field: 'sub_log', title: __(adminInfo.is_manager?'分站备注':'备注'),formatter(_,order){
|
|
|
+ let a=[]
|
|
|
+ order.sub_remark.forEach(item=>{
|
|
|
+ a.push(`<div><span style="color: #0000ff;">${item.create_time_format}</span> <span style="color: #00caff">${item.admin?item.admin.nickname:'-'}</span> ${item.content}</div>`)
|
|
|
+ })
|
|
|
+ if(table.data('auth-url-sub-remark')) {
|
|
|
+ a.push(`<a class="btn btn-info btn-xs btn-sub-remark" data-id="${order.id}">备注</a>`)
|
|
|
+ }
|
|
|
+ return `<div style="text-align: left;font-size: 10px;max-width: 200px;" class="break-words">${a.join('')}</div>`
|
|
|
+ },operate:false,valign:'top',align:'left',width:200},
|
|
|
+ {field: 'operation_log', title: __('客服记录'),formatter(_,order){
|
|
|
+ let a=[]
|
|
|
+ order.operation.forEach(item=>{
|
|
|
+ a.push(`<div><span style="color: #0000ff;">${item.create_time_format}</span> <span style="color: #00caff">${item.admin?item.admin.nickname:'-'}</span> ${item.content}</div>`)
|
|
|
+ })
|
|
|
+ return `<div style="text-align: left;font-size: 10px;max-width: 200px;" class="break-words">${a.join('')}</div>`
|
|
|
+ },operate:false,valign:'top',align:'left',width:200},
|
|
|
+ {field: 'admin.admin_id', title: __('操作员'),formatter(_,order){
|
|
|
+ let a=[]
|
|
|
+ order.admin.forEach(item=>{
|
|
|
+ a.push(`<div>${item.admin.nickname}</div>`)
|
|
|
+ })
|
|
|
+ return `<div style="text-align: left;font-size: 10px;">${a.join('')}</div>`
|
|
|
+ },operate:"=",searchList: admins,valign:'top',align:'left'},
|
|
|
+ {field: 'pay_link', title: __('付款链接'),formatter(_,order){
|
|
|
+ if(order.status!==0){
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ return `<button class="btn btn-success btn-sm btn-pay_link" data-link="${order.pay_link}">点击复制</button>`
|
|
|
+ },operate:false},
|
|
|
+ {field: 'create_time', title: __('Create_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
|
|
|
+ {field: 'update_time', title: __('更新时间'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
|
|
|
+ /* {field: 'pay_time', title: __('Pay_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
|
|
|
+ {field: 'trans_name', title: __('Trans_name')},
|
|
|
+ {field: 'trans_no', title: __('Trans_no')},
|
|
|
+ {field: 'amount_original', title: __('Amount_original'), operate: 'BETWEEN'},
|
|
|
+ {field: 'amount_hd', title: __('Amount_hd'), operate: 'BETWEEN'},
|
|
|
+ {field: 'amount_charge', title: __('Amount_charge'), operate: 'BETWEEN'},
|
|
|
+ {field: 'amount', title: __('Amount'), operate: 'BETWEEN'},
|
|
|
+ {field: 'open_idcard_face_img', title: __('开卡身份证正面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,opera: false},
|
|
|
+ {field: 'open_idcard_back_img', title: __('开卡身份证背面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
|
|
|
+ {field: 'open_face_img', title: __('开卡人头像'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
|
|
|
+ {field: 'open_name', title: __('开卡人姓名')},
|
|
|
+ {field: 'open_id_no', title: __('开卡人身份证号码')},
|
|
|
+ {field: 'open_phone', title: __('开卡人手机号')},*/
|
|
|
+ {field: 'trans_no', title: __('Trans_no'),visible: false,operate: "like"},
|
|
|
+ {
|
|
|
+ field: 'operate',
|
|
|
+ title: __('Operate'),
|
|
|
+ table: table,
|
|
|
+ events: Table.api.events.buttons,
|
|
|
+ formatter: Table.api.formatter.buttons,
|
|
|
+ buttons:[
|
|
|
+ {
|
|
|
+ name: 'detail',
|
|
|
+ text: __('添加备注'),
|
|
|
+ title: __('添加备注'),
|
|
|
+ classname: 'btn btn-xs btn-info btn-dialog period',
|
|
|
+ url: 'mobile_order/add_operation?a=1',
|
|
|
+ callback: function (data) {
|
|
|
+ },
|
|
|
+ visible: function (row) {
|
|
|
+ return $('#table').data('add_operation');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'detail',
|
|
|
+ text: __('编辑'),
|
|
|
+ title: __('编辑'),
|
|
|
+ classname: 'btn btn-xs btn-info btn-dialog period',
|
|
|
+ url: 'mobile_order/edit?a=1',
|
|
|
+ callback: function (data) {
|
|
|
+ },
|
|
|
+ visible: function (row) {
|
|
|
+ return $('#table').data('add_operation');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'detail',
|
|
|
+ text: __('退款'),
|
|
|
+ title: __('退款'),
|
|
|
+ classname: 'btn btn-xs btn-danger btn-dialog period',
|
|
|
+ url: 'mobile_order/refund?a=1',
|
|
|
+ callback: function (data) {
|
|
|
+ },
|
|
|
+ visible: function (row) {
|
|
|
+ return $('#table').data('mobile_order_refund') && row.status>0 && row.status!=90;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'detail',
|
|
|
+ text: __('发货'),
|
|
|
+ title: __('发货'),
|
|
|
+ classname: 'btn btn-xs btn-info btn-dialog period',
|
|
|
+ url: 'mobile_order/send?a=1',
|
|
|
+ callback: function (data) {
|
|
|
+ },
|
|
|
+ visible: function (row) {
|
|
|
+ return $('#table').data('mobile_order_send') && row.status>0;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name:'detail',
|
|
|
+ title:'查看物流',
|
|
|
+ text: __('查看物流'),
|
|
|
+ classname: 'btn btn-xs btn-danger btn-dialog',
|
|
|
+ url: 'mobile_order/see_logistics?a=1',
|
|
|
+ visible:(row)=>{
|
|
|
+ return $('#table').data('see_logistics') && row.trans_id>0 && row.trans_no
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ if(!adminInfo.is_manager){
|
|
|
+ Table.api.removeColumn('operation_log',columns)
|
|
|
+ }
|
|
|
+ Table.api.removeColumn('remark_backend',columns)
|
|
|
|
|
|
|
|
|
// 初始化表格
|
|
@@ -56,160 +230,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','clipboard'],
|
|
|
search:false,
|
|
|
searchFormVisible:true,
|
|
|
columns: [
|
|
|
- [
|
|
|
- //{checkbox: true},
|
|
|
- {field: 'id', title: __('ID'),operate:false,},
|
|
|
- {field: 'order_no', title: __('订单号'),visible:false,operate: 'like'},
|
|
|
- {field: 's_id', title: __('来源渠道')},
|
|
|
- {field: 'pay_type', title: __('支付方式'),searchList: payType,visible: false},
|
|
|
- {field: 'pay_mid_wechat', title: __('微信商户号'),visible: false,operate: 'LIKE'},
|
|
|
- {field: 'pay_mid_alipay', title: __('支付宝商户号'),visible: false,operate: 'LIKE'},
|
|
|
- {field: 'name', title: __('收货人'),visible: false,operate: 'LIKE'},
|
|
|
- {field: 'phone', title: __('收货人手机'),visible: false,operate: 'LIKE'},
|
|
|
- {field: 'id_no', title: __('收货人身份证'),visible: false,operate: "like"},
|
|
|
- {field: 'no', title: __('手机号'),visible: false,operate: 'LIKE'},
|
|
|
- {field: 'order_no', title: __('订单信息'),operate: false,formatter(_,order){
|
|
|
- let a=[]
|
|
|
- a.push(`<div>订单号:${order.order_no}</div>`)
|
|
|
- a.push(`<div>商品信息:${order.no}</div>`)
|
|
|
- a.push(`<div>卡品牌:${order.brand}</div>`)
|
|
|
- a.push(`<div>底价:${order.amount_di}</div>`)
|
|
|
- a.push(`<div>预存:${order.amount_charge}</div>`)
|
|
|
- a.push(`<div>单价:${order.amount}</div>`)
|
|
|
- a.push(`<div>订单价格:${order.amount}</div>`)
|
|
|
- a.push(`<div>套餐:${order.info?order.info.info.describe:''}</div>`)
|
|
|
- a.push(`<div>备注:${order.info?order.info.mobile.remark:''}</div>`)
|
|
|
- return `<div style="max-width: 200px;word-wrap: break-word;word-break: break-all;white-space: normal;text-align: left;">${a.join('')}</div>`
|
|
|
- },width:200,valign:'top',align:'left'},
|
|
|
- {field: 'order_no', title: __('收货人'),operate: false,formatter(_,order){
|
|
|
- let a=[]
|
|
|
- a.push(`<div>收货人:${order.name}</div>`)
|
|
|
- a.push(`<div>手机号:${order.phone}<span style="color: red;">(${order.phone_order_count})</span></div>`)
|
|
|
- a.push(`<div>地址:${order.address}</div>`)
|
|
|
- a.push(`<div>支付方式:${payType[order.pay_type]}</div>`)
|
|
|
- a.push(`<div>微信商户号:<span style="color: #00b578;">${order.pay_mid_wechat}</span></div>`)
|
|
|
- a.push(`<div>支付宝商户号:<span style="color: #0d6aad;">${order.pay_mid_alipay}</span></div>`)
|
|
|
- a.push(`<div>备注:${order.remark}</div>`)
|
|
|
- a.push(`<div>快递名称:${order.trans_name}</div>`)
|
|
|
- a.push(`<div>快递单号:${order.trans_no}</div>`)
|
|
|
- a.push(`<a class="btn btn-link btn-click-show-open" style="color: #00a2ff;" data-id="${order.id}" data-open="${order.open_uploaded}">查看资料</a>`)
|
|
|
- return `<div style="max-width: 200px;text-align: left;" class="break-words">${a.join('')}</div>`
|
|
|
- },width:200,valign:'top',align:'left'},
|
|
|
- {field: 'status', title: __('Status'),formatter: Table.api.formatter.label,searchList:status},
|
|
|
- {field: 'rules.rule', title: __('规律'),visible: false,searchList:mobileRules},
|
|
|
- {field: 'remark_backend', title: __('备注'),formatter: Table.api.formatter.content,operate:"like",align: 'left',valign: 'top'},
|
|
|
- //{field: 'remark_sub', title: __('分站备注'),formatter: Table.api.formatter.content,operate:false},
|
|
|
- {field: '', title: __('退款记录'),formatter(_,order){
|
|
|
- let a=[]
|
|
|
- order.refund_log.forEach(item=>{
|
|
|
- a.push(`<div>${item.create_time_format} ${item.pass?'同意':'驳回'} ${item.reason}</div>`)
|
|
|
- })
|
|
|
- return `<div style="text-align: left;font-size: 10px;" class="break-words">${a.join('')}</div>`
|
|
|
- },operate:false,valign:'top',align:'left'},
|
|
|
- {field: '', title: __('客服记录'),formatter(_,order){
|
|
|
- let a=[]
|
|
|
- order.operation.forEach(item=>{
|
|
|
- a.push(`<div><span style="color: #0000ff;">${item.create_time_format}</span> <span style="color: #00caff">${item.admin?item.admin.nickname:'-'}-${item.admin?item.admin.job:'-'}</span> ${item.content}</div>`)
|
|
|
- })
|
|
|
- return `<div style="text-align: left;font-size: 10px;max-width: 200px;" class="break-words">${a.join('')}</div>`
|
|
|
- },operate:false,valign:'top',align:'left'},
|
|
|
- {field: 'admin.admin_id', title: __('操作员'),formatter(_,order){
|
|
|
- let a=[]
|
|
|
- order.admin.forEach(item=>{
|
|
|
- a.push(`<div>${item.admin.nickname}</div>`)
|
|
|
- })
|
|
|
- return `<div style="text-align: left;font-size: 10px;">${a.join('')}</div>`
|
|
|
- },operate:"=",searchList: admins,valign:'top',align:'left'},
|
|
|
- {field: 'pay_link', title: __('付款链接'),formatter(_,order){
|
|
|
- if(order.status!==0){
|
|
|
- return ''
|
|
|
- }
|
|
|
- return `<button class="btn btn-success btn-sm btn-pay_link" data-link="${order.pay_link}">点击复制</button>`
|
|
|
- },operate:false},
|
|
|
- {field: 'create_time', title: __('Create_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
|
|
|
- {field: 'update_time', title: __('更新时间'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
|
|
|
-/* {field: 'pay_time', title: __('Pay_time'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'},
|
|
|
- {field: 'trans_name', title: __('Trans_name')},
|
|
|
- {field: 'trans_no', title: __('Trans_no')},
|
|
|
- {field: 'amount_original', title: __('Amount_original'), operate: 'BETWEEN'},
|
|
|
- {field: 'amount_hd', title: __('Amount_hd'), operate: 'BETWEEN'},
|
|
|
- {field: 'amount_charge', title: __('Amount_charge'), operate: 'BETWEEN'},
|
|
|
- {field: 'amount', title: __('Amount'), operate: 'BETWEEN'},
|
|
|
- {field: 'open_idcard_face_img', title: __('开卡身份证正面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,opera: false},
|
|
|
- {field: 'open_idcard_back_img', title: __('开卡身份证背面照'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
|
|
|
- {field: 'open_face_img', title: __('开卡人头像'),formatter: Table.api.formatter.image,events: Table.api.events.image,operate:false},
|
|
|
- {field: 'open_name', title: __('开卡人姓名')},
|
|
|
- {field: 'open_id_no', title: __('开卡人身份证号码')},
|
|
|
- {field: 'open_phone', title: __('开卡人手机号')},*/
|
|
|
- {field: 'trans_no', title: __('Trans_no'),visible: false,operate: "like"},
|
|
|
- {
|
|
|
- field: 'operate',
|
|
|
- title: __('Operate'),
|
|
|
- table: table,
|
|
|
- events: Table.api.events.buttons,
|
|
|
- formatter: Table.api.formatter.buttons,
|
|
|
- buttons:[
|
|
|
- {
|
|
|
- name: 'detail',
|
|
|
- text: __('添加备注'),
|
|
|
- title: __('添加备注'),
|
|
|
- classname: 'btn btn-xs btn-info btn-dialog period',
|
|
|
- url: 'mobile_order/add_operation?a=1',
|
|
|
- callback: function (data) {
|
|
|
- },
|
|
|
- visible: function (row) {
|
|
|
- return $('#table').data('add_operation');
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'detail',
|
|
|
- text: __('编辑'),
|
|
|
- title: __('编辑'),
|
|
|
- classname: 'btn btn-xs btn-info btn-dialog period',
|
|
|
- url: 'mobile_order/edit?a=1',
|
|
|
- callback: function (data) {
|
|
|
- },
|
|
|
- visible: function (row) {
|
|
|
- return $('#table').data('add_operation');
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'detail',
|
|
|
- text: __('退款'),
|
|
|
- title: __('退款'),
|
|
|
- classname: 'btn btn-xs btn-danger btn-dialog period',
|
|
|
- url: 'mobile_order/refund?a=1',
|
|
|
- callback: function (data) {
|
|
|
- },
|
|
|
- visible: function (row) {
|
|
|
- return $('#table').data('mobile_order_refund') && row.status>0 && row.status!=90;
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'detail',
|
|
|
- text: __('发货'),
|
|
|
- title: __('发货'),
|
|
|
- classname: 'btn btn-xs btn-info btn-dialog period',
|
|
|
- url: 'mobile_order/send?a=1',
|
|
|
- callback: function (data) {
|
|
|
- },
|
|
|
- visible: function (row) {
|
|
|
- return $('#table').data('mobile_order_send') && row.status>0;
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- name:'detail',
|
|
|
- title:'查看物流',
|
|
|
- text: __('查看物流'),
|
|
|
- classname: 'btn btn-xs btn-danger btn-dialog',
|
|
|
- url: 'mobile_order/see_logistics?a=1',
|
|
|
- visible:(row)=>{
|
|
|
- return $('#table').data('see_logistics') && row.trans_id>0 && row.trans_no
|
|
|
- }
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- ]
|
|
|
+ columns
|
|
|
],
|
|
|
onLoadSuccess(a){
|
|
|
$('.btn-export').attr('href',a.link).show()
|
|
@@ -234,6 +255,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','clipboard'],
|
|
|
},
|
|
|
add_operation(){
|
|
|
Controller.api.bindevent();
|
|
|
+ $('#c-no').focus()
|
|
|
+ },
|
|
|
+ sub_remark(){
|
|
|
+ Controller.api.bindevent();
|
|
|
+ $('#c-no').focus()
|
|
|
},
|
|
|
refund(){
|
|
|
Controller.api.bindevent();
|