Accept Merge Request #20: (feature/hant -> develop)

Merge Request: 订单操作

Created By: @todayswind
Accepted By: @todayswind
URL: https://g-bcrc3009.coding.net/p/allocatr/d/allocatr/git/merge/20?initial=true
This commit is contained in:
todayswind 2025-04-15 22:36:09 +08:00 committed by Coding
commit 16aeb48c8f
5 changed files with 187 additions and 78 deletions

View File

@ -40,3 +40,83 @@
</div> </div>
</div> </div>
</div> </div>
<style>
/* 派单按钮 */
.button-dispatch {
background-color: #4CAF50; /* Material Design的绿色 */
color: #fff;
}
.button-dispatch:hover {
background-color: #45A049; /* 深一点的绿色 */
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* 编辑按钮 */
.button-edit {
background-color: #1976D2; /* Material Design的蓝色 */
color: #fff;
}
.button-edit:hover {
background-color: #1565C0;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* 复制按钮 */
.button-copy {
background-color: #388E3C; /* Bootstrap的绿色 */
color: #fff;
}
.button-copy:hover {
background-color: #2C6B2F;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* 催单按钮 */
.button-remind {
background-color: #FF9800; /* Material Design的橙色 */
color: #fff;
}
.button-remind:hover {
background-color: #FB8C00;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* 订单报错按钮 */
.button-error {
background-color: #D32F2F; /* Material Design的红色 */
color: #fff;
}
.button-error:hover {
background-color: #C62828;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* 取消按钮 */
.button-cancel {
background-color: #757575; /* Material Design的灰色 */
color: #fff;
}
.button-cancel:hover {
background-color: #616161;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* 更多按钮 */
.button-more {
background-color: #607D8B; /* Material Design的蓝灰色 */
color: #fff;
}
.button-more:hover {
background-color: #546E7A;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
</style>

View File

@ -12,9 +12,9 @@ define([], function () {
var zoom_id = $(that).data("zoom-id") ? $(that).data("zoom-id") : ""; var zoom_id = $(that).data("zoom-id") ? $(that).data("zoom-id") : "";
var lat = lat_id ? $("#" + lat_id).val() : ''; var lat = lat_id ? $("#" + lat_id).val() : '';
var lng = lng_id ? $("#" + lng_id).val() : ''; var lng = lng_id ? $("#" + lng_id).val() : '';
var city_code = $("#area_id").val(); var city_code = $("#c-city").val();
var zoom = zoom_id ? $("#" + zoom_id).val() : ''; var zoom = zoom_id ? $("#" + zoom_id).val() : '';
var url = "/addons/address/index/select?1=1"; var url = "/addons/address/index/select?a=1";
url += (lat && lng) ? 'lat=' + lat + '&lng=' + lng + url += (lat && lng) ? 'lat=' + lat + '&lng=' + lng +
(input_id ? "&address=" + $("#" + input_id).val() : "") (input_id ? "&address=" + $("#" + input_id).val() : "")
+(zoom ? "&zoom=" + zoom : "") : '' +(zoom ? "&zoom=" + zoom : "") : ''

View File

@ -6,6 +6,43 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','cascader'], function
$(".selectpicker").val('').selectpicker('refresh'); $(".selectpicker").val('').selectpicker('refresh');
} }
function copyToClipboard(text) {
// 创建一个隐藏的 textarea 元素
const textarea = document.createElement('textarea');
textarea.value = text;
document.body.appendChild(textarea);
// 选中内容并复制
textarea.select();
document.execCommand('copy');
// 移除 textarea 元素
document.body.removeChild(textarea);
Toastr.info('复制成功');
}
// 拼装文本
function assembleOrderMessage(data) {
const message = `
订单详情
录单员: ${data.user.nickname}
订单编号: ${data.order_no}
客户姓名: ${data.customer}
客户电话: ${data.tel}
订单状态: ${data.status_text}
地域: ${data.area.merge_name}
详细地址: ${data.address}
派单方式: ${data.dispatch_type === 1 ? '手动派单' : '自动派单'}
收款方式: ${data.collect_text || '未收款'}
订单来源: ${data.source_shop}
服务名称: ${data.item_title}
请查收以上订单信息`;
return message;
}
var Controller = { var Controller = {
index: function () { index: function () {
// 初始化表格参数配置 // 初始化表格参数配置
@ -138,7 +175,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','cascader'], function
icon: 'fa fa-pencil', icon: 'fa fa-pencil',
title: __('Edit'), title: __('Edit'),
extend: 'data-toggle="tooltip" data-container="body"', extend: 'data-toggle="tooltip" data-container="body"',
classname: 'btn btn-xs btn-success btn-editone' classname: 'btn btn-xs button-edit btn-editone',
}, },
{ {
name: 'push', name: 'push',
@ -147,17 +185,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','cascader'], function
text: "复制", text: "复制",
url: 'order/copy', url: 'order/copy',
extend: 'data-toggle="tooltip" data-container="body"', extend: 'data-toggle="tooltip" data-container="body"',
classname: 'btn btn-xs btn-info btn-dialog', classname: 'btn btn-xs button-copy btn-dialog',
callback: function ($data) { callback: function ($data) {
console.log($data); console.log($data);
} },
dropdown: "更多"
}, },
{ {
name: "dispatch", name: "dispatch",
text: "派单", text: "派单",
title: "派单", title: "派单",
extend: 'data-toggle="tooltip" data-container="body"', extend: 'data-toggle="tooltip" data-container="body"',
classname: 'btn btn-xs btn-info btn-dialog', classname: 'btn btn-xs button-dispatch btn-dialog',
//classname:"btn-view btn-dialog", //classname:"btn-view btn-dialog",
icon: 'fa fa-add', icon: 'fa fa-add',
url: function (row) { url: function (row) {
@ -171,28 +210,15 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','cascader'], function
}, },
refresh: true, refresh: true,
}, },
{
name: 'send',
text: '中转订单',
title: '中转订单',
classname: 'btn btn-xs btn-info btn-dialog',
icon: 'fa fa-send',
url: 'order/send',
visible:function(row){
if(row.status == 10){
return true;
}
return false;
},
},
{ {
name: "reminder", name: "reminder",
text: "催单", text: "催单",
title: "派单", title: "派单",
extend: 'data-toggle="tooltip" data-container="body"', extend: 'data-toggle="tooltip" data-container="body"',
classname: 'btn btn-xs btn-info btn-magic btn-ajax', classname: 'btn btn-xs button-remind btn-magic btn-ajax',
icon: 'fa fa-bolt', icon: 'fa fa-bolt',
url: 'order/reminder', url: 'order/reminder',
dropdown: "更多",
success: function (data, ret) { success: function (data, ret) {
if (ret.code === 1) { if (ret.code === 1) {
Layer.alert('催单成功'); Layer.alert('催单成功');
@ -216,21 +242,24 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','cascader'], function
}, },
}, },
{ {
name:"error", name: "copy_text",
text:"订单报错", text: "复制信息",
title:"订单报错", title: "复制信息",
extend: 'data-toggle="tooltip" data-container="body"', extend: 'data-toggle="tooltip" data-container="body"',
classname: 'btn btn-xs btn-warning btn-dialog', classname: 'btn btn-xs button-error btn-click',
icon: 'fa fa-bolt', icon: 'fa fa-text',
url: 'order/addAbnormal', click: function (data, item) {
refresh:true, const text = assembleOrderMessage(item);
copyToClipboard(text);
}
}, { }, {
name: 'delete', name: 'delete',
text: '取消', text: '取消',
title: '取消', title: '取消',
classname: 'btn btn-xs btn-danger btn-dialog', classname: 'btn btn-xs button-cancel btn-dialog',
icon: 'fa fa-trash', icon: 'fa fa-trash',
url: 'order/delete', url: 'order/delete',
dropdown: "更多",
visible: function (row) { visible: function (row) {
if (row.status >= 0) { if (row.status >= 0) {
return true; return true;

View File

@ -59,7 +59,7 @@
86: { 86: {
'A-G': [ 'A-G': [
{code: '340000', address: '安徽省'}, {code: '340000', address: '安徽省'},
{code: '110000', address: '北京'}, {code: '110000', address: '北京'},
{code: '500000', address: '重庆'}, {code: '500000', address: '重庆'},
{code: '350000', address: '福建省'}, {code: '350000', address: '福建省'},
{code: '620000', address: '甘肃省'}, {code: '620000', address: '甘肃省'},
@ -99,7 +99,7 @@
}, },
"110000": { "110000": {
"110100": "北京市" "110100": "辖区"
}, },
"110100": { "110100": {
"110101": "东城区", "110101": "东城区",

View File

@ -59,7 +59,7 @@
86: { 86: {
'A-G': [ 'A-G': [
{code: '340000', address: '安徽省'}, {code: '340000', address: '安徽省'},
{code: '110000', address: '北京'}, {code: '110000', address: '北京'},
{code: '500000', address: '重庆'}, {code: '500000', address: '重庆'},
{code: '350000', address: '福建省'}, {code: '350000', address: '福建省'},
{code: '620000', address: '甘肃省'}, {code: '620000', address: '甘肃省'},
@ -99,7 +99,7 @@
}, },
"110000": { "110000": {
"110100": "北京市" "110100": "辖区"
}, },
"110100": { "110100": {
"110101": "东城区", "110101": "东城区",