Эх сурвалжийг харах

修改订单明细,客户消息通知等

hurx 15 цаг өмнө
parent
commit
5c46fba70c

+ 1 - 1
src/views/enterprise/messageNotice/index.vue

@@ -80,7 +80,7 @@
           <el-input v-model="form.title" placeholder="请输入标题" />
         </el-form-item>
         <el-form-item label="内容" prop="content">
-          <el-input v-model="form.content" type="textare" :min="5" placeholder="请输入内容" />
+          <el-input v-model="form.content" type="textarea" :rows="6" :maxlength="300" show-word-limit placeholder="请输入内容" />
         </el-form-item>
       </el-form>
       <template #footer>

+ 12 - 6
src/views/i/index.vue

@@ -5,7 +5,7 @@
     <el-form ref="formRef" :model="formData" :rules="rules" label-position="top" class="info-form">
       <div class="form-row">
         <el-form-item label="用户ID" prop="userId">
-          <el-input v-model="formData.userId" placeholder="请输入" />
+          <el-input v-model="formData.userId" placeholder="请输入" disabled />
         </el-form-item>
         <el-form-item label="手机号码" prop="phone">
           <el-input v-model="formData.phone" placeholder="请输入" />
@@ -121,7 +121,7 @@ const loadUserInfo = async () => {
     if (res.code === 200 && res.data) {
       // 映射后端字段到前端字段
       formData.id = res.data.id;
-      formData.userId = res.data.id?.toString() || '';
+      formData.userId = res.data.contactNo?.toString() || '';
       formData.phone = res.data.phone || '';
       formData.realName = res.data.contactName || '';
       formData.officePhone = res.data.officePhone || '';
@@ -188,10 +188,16 @@ const loadDeptList = async () => {
 // 加载角色列表
 const loadRoleList = async () => {
   try {
-    const res = await getRoleList();
-    if (res.code === 200 && res.data) {
-      roleList.value = res.data;
-    }
+    // const res = await getRoleList();
+    // if (res.code === 200 && res.data) {
+    //   roleList.value = res.data;
+    // }
+    roleList.value = [
+      { roleId: 1, roleName: '管理角色', roleSort: 1, status: '0', createTime: '2026-01-27 09:36:27' },
+      { roleId: 2, roleName: '采购角色', roleSort: 2, status: '0', createTime: '2026-01-27 09:36:38' },
+      { roleId: 3, roleName: '查询角色', roleSort: 3, status: '0', createTime: '2026-01-27 09:37:33' },
+      { roleId: 4, roleName: '审核角色', roleSort: 4, status: '0', createTime: '2026-01-27 09:37:50' }
+    ];
   } catch (error) {
     console.error('获取角色列表失败:', error);
   }

+ 23 - 15
src/views/order/orderManage/detail.vue

@@ -85,7 +85,7 @@
             <span class="info-label">采购事由</span><span class="info-value">{{ orderInfo.purchaseReason || '-' }}</span>
           </div>
           <div class="info-row">
-            <span class="info-label">费用类型</span><span class="info-value">{{ orderInfo.costType || '-' }}</span>
+            <span class="info-label">费用类型</span><span class="info-value">{{ getDictLabel(fee_type, orderInfo.expenseType) || '-' }}</span>
           </div>
           <div class="info-row">
             <span class="info-label">订单备注</span><span class="info-value">{{ orderInfo.remark || '-' }}</span>
@@ -136,7 +136,8 @@ import type { OrderCustomerFlowNodeLink } from '@/api/pc/enterprise/orderTypes';
 
 const router = useRouter();
 const route = useRoute();
-
+const { proxy } = getCurrentInstance() as ComponentInternalInstance;
+const { fee_type } = toRefs<any>(proxy?.useDict('fee_type'));
 // 格式化时间为 "2026/3/17 上午10:49" 格式
 const formatTime = (timeStr: string): string => {
   if (!timeStr) return '';
@@ -163,22 +164,21 @@ const progressSteps = ref<{ title: string; icon: any; desc: string; time: string
 // 订单时间信息(用于流程节点时间显示)
 const orderTimeInfo = reactive({
   createTime: '', // 订单创建时间(提交订单节点)
-  updateTime: ''  // 订单更新时间(完成节点)
+  updateTime: '' // 订单更新时间(完成节点)
 });
 
 // 根据 handlerId(逗号分隔的多个ID)解析审批人名称
 // 单人:返回姓名;多人:返回"xx或xx审核"
 const resolveHandlerName = async (handlerId: string): Promise<string> => {
   if (!handlerId) return '';
-  const ids = handlerId.split(',').map((s) => s.trim()).filter(Boolean);
+  const ids = handlerId
+    .split(',')
+    .map((s) => s.trim())
+    .filter(Boolean);
   if (ids.length === 0) return '';
   try {
-    const results = await Promise.all(
-      ids.map((id) => getContactInfo(String(id)).catch(() => null))
-    );
-    const names = results
-      .map((res: any) => res?.data?.contactName || '')
-      .filter(Boolean);
+    const results = await Promise.all(ids.map((id) => getContactInfo(String(id)).catch(() => null)));
+    const names = results.map((res: any) => res?.data?.contactName || '').filter(Boolean);
     if (names.length === 0) return '';
     if (names.length === 1) return names[0];
     return names.join('或') + '审核';
@@ -187,11 +187,10 @@ const resolveHandlerName = async (handlerId: string): Promise<string> => {
   }
 };
 
-
 // 加载审批流程节点
 const loadFlowNodes = async () => {
   try {
-    const res = await getOrderFlowNodes(orderId.value) as any;
+    const res = (await getOrderFlowNodes(orderId.value)) as any;
     if (res.code === 200) {
       const apiNodes: OrderCustomerFlowNodeLink[] = res.data || [];
 
@@ -201,9 +200,7 @@ const loadFlowNodes = async () => {
       ];
 
       // 并行解析所有节点的审批人名称
-      const handlerNames = await Promise.all(
-        apiNodes.map((node) => resolveHandlerName(node.handlerId || node.handlerName || ''))
-      );
+      const handlerNames = await Promise.all(apiNodes.map((node) => resolveHandlerName(node.handlerId || node.handlerName || '')));
 
       apiNodes.forEach((node, idx) => {
         steps.push({
@@ -249,6 +246,7 @@ const orderInfo = reactive({
   receiverPhone: '',
   deliveryTime: '',
   purchaseReason: '',
+  expenseType: '',
   costType: '',
   remark: ''
 });
@@ -276,10 +274,14 @@ const loadOrderDetail = async () => {
       orderInfo.deliveryTime = order.expectedDeliveryTime || '';
       orderInfo.purchaseReason = order.purchaseReason || '';
       orderInfo.remark = order.remark || '';
+      orderInfo.expenseType = order.expenseType || '';
 
       // 保存订单时间信息(用于流程节点时间显示)
       orderTimeInfo.createTime = order.createTime || '';
       orderTimeInfo.updateTime = order.updateTime || '';
+      if (order.orderStatus == 5) {
+        currentStep.value = progressSteps.value.length - 1;
+      }
       // 获取商品信息
       const productsRes = await getOrderProducts([orderId.value]);
       if (productsRes.code === 200 && productsRes.rows) {
@@ -325,6 +327,12 @@ const loadOrderDetail = async () => {
   }
 };
 
+const getDictLabel = (dictOptions: any[], value: string) => {
+  if (!dictOptions || !value) return value;
+  const dict = dictOptions.find((item) => item.value === value);
+  return dict ? dict.label : value;
+};
+
 onMounted(async () => {
   const paramId = route.query.orderId;
   // 直接使用字符串,不转换为数字,避免精度丢失