Commit 51c3887d by suyuchen

feat(tickets): 重构工单管理界面并添加沟通功能

- 将服务管理重命名为收费管理 - 添加通信历史记录功能及样式 - 重置表格列结构,更新工单列表显示字段 - 添加服务订单号输入和显示功能 - 实现工单沟通弹窗和消息发送功能 - 添加工单删除确认功能 - 创建工单新增页面
parent 99f0dd86
......@@ -18,9 +18,9 @@
</svg>
</div>
<div class="nav-submenu">
<a href="客户信息.html" class="nav-subitem ">
<!--<a href="客户信息.html" class="nav-subitem ">
客户信息
</a>
</a>-->
<a href="客户公司管理1.html" class="nav-subitem ">
客户公司管理
</a>
......@@ -127,7 +127,7 @@
我的黄页
</a>
</div>
<div class="nav-item has-submenu expanded" onclick="toggleSubmenu(this)">
<!--<div class="nav-item has-submenu expanded" onclick="toggleSubmenu(this)">
<div style="display: flex; align-items: center; gap: 12px;">
<svg class="nav-icon" viewBox="0 0 20 20">
<path d="M4 4h12a2 2 0 012 2v8a2 2 0 01-2 2H4a2 2 0 01-2-2V6a2 2 0 012-2z"/>
......@@ -143,7 +143,7 @@
<a href="账户档案.html" class="nav-subitem ">
账户档案
</a>
</div>
</div>-->
<div class="nav-item has-submenu expanded" onclick="toggleSubmenu(this)">
<div style="display: flex; align-items: center; gap: 12px;">
<svg class="nav-icon" viewBox="0 0 20 20">
......
......@@ -1343,6 +1343,7 @@
</div>
</div>
</div>
<script src="./js.js"></script>
<script>
let currentTab = 'issue';
......@@ -1842,7 +1843,6 @@
}
</script>
</body>
<script src="./js.js"></script>
</html>
......@@ -1562,7 +1562,7 @@
<span class="filter-tag active">全部</span>
<span class="filter-tag">待响应</span>
<span class="filter-tag">处理中</span>
<span class="filter-tag">待客户</span>
<!-- <span class="filter-tag">待客户</span>-->
<span class="filter-tag">已关闭</span>
<span class="filter-tag">SLA 预警</span>
<span class="filter-tag">已逾期</span>
......@@ -1599,7 +1599,7 @@
<th>创建时间</th>
<th>提交人员</th>
<th>更新时间</th>
<th>价格</th>
<!-- <th>价格</th>-->
<th>SLA计时</th>
<th>客户名称</th>
<th>服务订单号</th>
......@@ -1623,7 +1623,7 @@
<td>2024-01-15<br><span style="color: var(--text-tertiary); font-size: 12px;">10:30:25</span></td>
<td>系统</td>
<td>2024-01-15<br><span style="color: var(--text-tertiary); font-size: 12px;">14:20:10</span></td>
<td>100 元</td>
<!-- <td>100 元</td>-->
<td>2小时45分钟</td>
<td>ABC 公司</td>
<td>SO-2024-001</td>
......@@ -1632,7 +1632,7 @@
<td>中国</td>
<td>
<div class="action-btns">
<button class="action-btn" onclick="openEditModal('TK-2024-001')">编辑</button>
<!-- <button class="action-btn" onclick="openEditModal('TK-2024-001')">编辑</button>-->
<button class="action-btn" onclick="openDetailModal('TK-2024-001')">查看</button>
<button class="action-btn" onclick="openCommunicationModal('TK-2024-001')">沟通</button>
<button class="action-btn" onclick="deleteTicket('TK-2024-001')">删除</button>
......@@ -1651,7 +1651,7 @@
<td>2024-01-15<br><span style="color: var(--text-tertiary); font-size: 12px;">09:15:30</span></td>
<td>王五</td>
<td>2024-01-15<br><span style="color: var(--text-tertiary); font-size: 12px;">09:15:30</span></td>
<td>50 元</td>
<!-- <td>50 元</td>-->
<td>3小时10分钟</td>
<td>XYZ 有限公司</td>
<td>SO-2024-002</td>
......@@ -1660,7 +1660,8 @@
<td>中国</td>
<td>
<div class="action-btns">
<button class="action-btn" onclick="openEditModal('TK-2024-002')">编辑</button>
<!-- <button class="action-btn" onclick="openEditModal('TK-2024-002')">编辑</button>-->
<button class="action-btn" onclick="openDetailModal('TK-2024-002')">查看</button>
<button class="action-btn" onclick="openCommunicationModal('TK-2024-002')">沟通</button>
<button class="action-btn" onclick="deleteTicket('TK-2024-002')">删除</button>
......@@ -1679,8 +1680,8 @@
<td>2024-01-14<br><span style="color: var(--text-tertiary); font-size: 12px;">16:45:20</span></td>
<td>陈七</td>
<td>2024-01-14<br><span style="color: var(--text-tertiary); font-size: 12px;">18:30:15</span></td>
<td>80 元</td>
<td>22小时15分钟</td>
<!-- <td>80 元</td>-->
<td>-2小时15分钟</td>
<td>DEF 集团</td>
<td>SO-2024-003</td>
<td>路由器-RTR001</td>
......@@ -1688,7 +1689,7 @@
<td>美国</td>
<td>
<div class="action-btns">
<button class="action-btn" onclick="openEditModal('TK-2024-003')">编辑</button>
<!-- <button class="action-btn" onclick="openEditModal('TK-2024-003')">编辑</button>-->
<button class="action-btn" onclick="openDetailModal('TK-2024-003')">查看</button>
<button class="action-btn" onclick="openCommunicationModal('TK-2024-003')">沟通</button>
<button class="action-btn" onclick="deleteTicket('TK-2024-003')">删除</button>
......@@ -1709,7 +1710,7 @@
<td>周九</td>
<td>2024-01-14<br><span style="color: var(--text-tertiary); font-size: 12px;">15:45:30</span></td>
<td>-</td>
<td>-</td>
<!-- <td>-</td>-->
<td>GHI 企业</td>
<td>SO-2024-004</td>
<td>激光打印机-LP001</td>
......@@ -1717,10 +1718,11 @@
<td>日本</td>
<td>
<div class="action-btns">
<button class="action-btn" onclick="openEditModal('TK-2024-004')">编辑</button>
<!-- <button class="action-btn" onclick="openEditModal('TK-2024-004')">编辑</button>-->
<button class="action-btn" onclick="openDetailModal('TK-2024-004')">查看</button>
<button class="action-btn" onclick="openCommunicationModal('TK-2024-004')">沟通</button>
<button class="action-btn" onclick="deleteTicket('TK-2024-004')">删除</button>
<button class="action-btn" >关闭工单</button>
</div>
</td>
</tr>
......@@ -2062,7 +2064,7 @@
<option value="">请选择工单状态</option>
<option value="待响应">待响应</option>
<option value="处理中">处理中</option>
<option value="待客户">待客户</option>
<!-- <option value="待客户">待客户</option>-->
<option value="已关闭">已关闭</option>
</select>
</div>
......@@ -2782,7 +2784,7 @@
const s = t.status || '';
if (s.includes('待响应')) stats.waiting++;
if (s.includes('处理中')) stats.processing++;
if (s.includes('待客户')) stats.customer++;
// if (s.includes('待客户')) stats.customer++;
if (s.includes('已关闭')) stats.closed++;
if (s.includes('预警')) stats.warn++;
if (s.includes('逾期')) stats.overdue++;
......@@ -2791,7 +2793,7 @@
{ label:'全部工单', value:stats.total, icon:`<circle cx="10" cy="10" r="7"></circle><path d="M10 5v5h4"></path>` },
{ label:'待响应', value:stats.waiting, icon:`<path d="M10 3v6l4 2"></path>` },
{ label:'处理中', value:stats.processing, icon:`<path d="M4 10h12M10 4v12"></path>` },
{ label:'待客户', value:stats.customer, icon:`<path d="M6 8l4 4 4-4"></path>` },
// { label:'待客户', value:stats.customer, icon:`<path d="M6 8l4 4 4-4"></path>` },
{ label:'已关闭', value:stats.closed, icon:`<path d="M6 6l8 8M14 6l-8 8"></path>` },
{ label:'SLA 预警', value:stats.warn, icon:`<path d="M10 4l6 10H4L10 4z"></path><path d="M10 8v3m0 2h.01"></path>` },
{ label:'已逾期', value:stats.overdue, icon:`<circle cx="10" cy="10" r="7"></circle><path d="M10 6v4l2.5 2.5"></path>` }
......@@ -2851,7 +2853,7 @@
'全部': '',
'待响应': '待响应',
'处理中': '处理中',
'待客户': '待客户',
// '待客户': '待客户',
'已关闭': '已关闭',
'SLA 预警': '预警',
'已逾期': '逾期'
......@@ -2886,8 +2888,8 @@
// 打开新增工单弹窗
function openNewTicketModal() {
window.location.href = '工单新增.html'
// document.getElementById('newTicketModal').classList.add('active');
// window.location.href = '工单新增.html'
document.getElementById('newTicketModal').classList.add('active');
}
......@@ -3339,7 +3341,7 @@
let statusClass = 'status-processing';
if (status === '待响应') statusClass = 'status-pending';
else if (status === '处理中') statusClass = 'status-processing';
else if (status === '待客户') statusClass = 'status-waiting';
// else if (status === '待客户') statusClass = 'status-waiting';
else if (status === '已关闭') statusClass = 'status-closed';
cells[8].innerHTML = `<span class="status-badge ${statusClass}">${status}</span>`;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment