刘洋 1 年之前
父节点
当前提交
75637cf4f5

+ 1 - 1
src/views/sop/components/dynamic-form-item/device-table/device-in-table.vue

@@ -1,5 +1,5 @@
 <template>
-  <div>
+  <div class="w-full">
     <t-table
       class="dynamic-table"
       ref="tableRef"

+ 2 - 0
src/views/sop/components/dynamic-form-item/device-table/edit-column-dialog.vue

@@ -106,6 +106,7 @@ const formData = reactive({
   address: '',
   addressArr: ['', '', ''],
   basePhotoPath: '',
+  expressNo: '',
 });
 
 const title = computed(() => {
@@ -189,6 +190,7 @@ const deviceChange = (val, { option }) => {
     formData.address = option.supplierName;
   } else {
     formData.address = props.sop?.customName || '';
+    formData.expressNo = option.expressNo || '';
   }
 };
 

+ 12 - 2
src/views/sop/components/dynamic-form-item/device-table/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div>
+  <div class="w-full">
     <t-table
       class="dynamic-table"
       ref="tableRef"
@@ -11,7 +11,12 @@
     >
       <template v-if="!readonly" #operate="{ row, rowIndex }">
         <div class="table-operations">
-          <t-link theme="primary" hover="color" @click="handleEdit(row)">
+          <t-link
+            v-if="!isFromAsyncData(row.serialNo)"
+            theme="primary"
+            hover="color"
+            @click="handleEdit(row)"
+          >
             编辑
           </t-link>
           <t-link
@@ -137,6 +142,11 @@ const columns = [
     title: '发往地',
     colKey: 'address',
   },
+  {
+    title: '快递单号',
+    colKey: 'expressNo',
+    width: 110,
+  },
   {
     title: '快递单拍照',
     colKey: 'basePhotoPath',

+ 2 - 1
src/views/sop/components/select-filter/index.vue

@@ -126,7 +126,8 @@ const toggleVisible = () => {
 const dataList = ref([]);
 
 const metadataList = computed(() => {
-  return [...props.metadata, ...staticMetadata];
+  // return [...props.metadata, ...staticMetadata];
+  return [...props.metadata];
 });
 
 const selections = ['SINGLE_SELECT', 'MULTIPLE_SELECT', 'CHECKBOX', 'RADIO'];

+ 40 - 11
src/views/sop/sop-manage/office-sop/index.vue

@@ -231,6 +231,8 @@ import MetadataContent from '../../components/metadata-content.vue';
 import { useAppStore } from '@/store';
 import usePermission from '@/hooks/usePermission';
 import { cloneDeep } from 'lodash';
+import { CUSTOMER_TYPE, FLOW_STATUS } from '@/config/constants';
+import { dictToOptionList } from '@/utils/tool';
 const { perm } = usePermission();
 
 const appStore = useAppStore();
@@ -241,13 +243,26 @@ const selectChange = (value) => {
 };
 
 const originColumns = [
-  { fieldId: 'crmNo', fieldTitle: '项目单号', width: 200 },
+  { fieldId: 'serviceName', fieldTitle: '服务单元', width: 160, code: 'TEXT' },
+  { fieldId: 'sopNo', fieldTitle: 'SOP流水号', width: 200, code: 'TEXT' },
+  { fieldId: 'crmNo', fieldTitle: '项目单号', width: 200, code: 'TEXT' },
   { fieldId: 'beginTime', fieldTitle: '派单时间', width: 180, code: 'DATE' },
-  { fieldId: 'customManagerName', fieldTitle: '客户经理', width: 140 },
-  { fieldId: 'customManagerTypeStr', fieldTitle: '客户类型', width: 120 },
-  { fieldId: 'customName', fieldTitle: '客户名称', width: 140 },
-  { fieldId: 'crmName', fieldTitle: '项目名称', minWidth: 160 },
-  { fieldId: 'productName', fieldTitle: '实施产品', width: 120 },
+  {
+    fieldId: 'customManagerName',
+    fieldTitle: '客户经理',
+    width: 140,
+    code: 'TEXT',
+  },
+  {
+    fieldId: 'customManagerType',
+    fieldTitle: '客户类型',
+    width: 120,
+    code: 'SINGLE_SELECT',
+    options: dictToOptionList(CUSTOMER_TYPE),
+  },
+  { fieldId: 'customName', fieldTitle: '客户名称', width: 140, code: 'TEXT' },
+  { fieldId: 'crmName', fieldTitle: '项目名称', minWidth: 160, code: 'TEXT' },
+  { fieldId: 'productName', fieldTitle: '实施产品', width: 120, code: 'TEXT' },
   {
     fieldId: 'examStartTime',
     fieldTitle: '考试开始时间',
@@ -273,9 +288,23 @@ const originColumns = [
     width: 180,
     code: 'DATE',
   },
-  { fieldId: 'statusStr', fieldTitle: '流程状态', width: 120 },
-  { fieldId: 'taskName', fieldTitle: '流程节点', width: 160 },
-  { fieldId: 'pendApproveName', fieldTitle: '当前节点负责人', width: 140 },
+  {
+    fieldId: 'status',
+    fieldTitle: '流程状态',
+    width: 120,
+    code: 'SINGLE_SELECT',
+    options: [
+      { value: 'AUDITING', label: '进行中' },
+      { value: 'FINISH', label: '已完结' },
+    ],
+  },
+  { fieldId: 'taskName', fieldTitle: '流程节点', width: 160, code: 'TEXT' },
+  {
+    fieldId: 'pendApproveName',
+    fieldTitle: '当前节点负责人',
+    width: 140,
+    code: 'TEXT',
+  },
 ];
 const originFieldIds = originColumns.map((item) => item.fieldId);
 const columns = computed(() => {
@@ -286,8 +315,8 @@ const columns = computed(() => {
       width: 50,
       fixed: 'left',
     },
-    { colKey: 'serviceName', title: '服务单元', width: 160 },
-    { colKey: 'sopNo', title: 'SOP流水号', width: 200 },
+    // { colKey: 'serviceName', title: '服务单元', width: 160 },
+    // { colKey: 'sopNo', title: 'SOP流水号', width: 200 },
     // { colKey: 'crmNo', title: '项目单号', width: 200 },
     // { colKey: 'beginTime', title: '派单时间', width: 180 },
     // { colKey: 'customManagerName', title: '客户经理', width: 140 },

+ 40 - 11
src/views/sop/sop-manage/student-sop/index.vue

@@ -230,6 +230,8 @@ import { useAppStore } from '@/store';
 import usePermission from '@/hooks/usePermission';
 import SopSortPanel from '../../components/sop-sort-panel/index.vue';
 import { cloneDeep } from 'lodash';
+import { CUSTOMER_TYPE, FLOW_STATUS } from '@/config/constants';
+import { dictToOptionList } from '@/utils/tool';
 const { perm } = usePermission();
 
 const appStore = useAppStore();
@@ -239,13 +241,26 @@ const selectChange = (value) => {
   selectedRowKeys.value = value;
 };
 const originColumns = [
-  { fieldId: 'crmNo', fieldTitle: '项目单号', width: 200 },
+  { fieldId: 'serviceName', fieldTitle: '服务单元', width: 160, code: 'TEXT' },
+  { fieldId: 'sopNo', fieldTitle: 'SOP流水号', width: 200, code: 'TEXT' },
+  { fieldId: 'crmNo', fieldTitle: '项目单号', width: 200, code: 'TEXT' },
   { fieldId: 'beginTime', fieldTitle: '派单时间', width: 180, code: 'DATE' },
-  { fieldId: 'customManagerName', fieldTitle: '客户经理', width: 140 },
-  { fieldId: 'customManagerTypeStr', fieldTitle: '客户类型', width: 120 },
-  { fieldId: 'customName', fieldTitle: '客户名称', width: 140 },
-  { fieldId: 'crmName', fieldTitle: '项目名称', minWidth: 160 },
-  { fieldId: 'productName', fieldTitle: '实施产品', width: 120 },
+  {
+    fieldId: 'customManagerName',
+    fieldTitle: '客户经理',
+    width: 140,
+    code: 'TEXT',
+  },
+  {
+    fieldId: 'customManagerType',
+    fieldTitle: '客户类型',
+    width: 120,
+    code: 'SINGLE_SELECT',
+    options: dictToOptionList(CUSTOMER_TYPE),
+  },
+  { fieldId: 'customName', fieldTitle: '客户名称', width: 140, code: 'TEXT' },
+  { fieldId: 'crmName', fieldTitle: '项目名称', minWidth: 160, code: 'TEXT' },
+  { fieldId: 'productName', fieldTitle: '实施产品', width: 120, code: 'TEXT' },
   {
     fieldId: 'examStartTime',
     fieldTitle: '考试开始时间',
@@ -271,9 +286,23 @@ const originColumns = [
     width: 180,
     code: 'DATE',
   },
-  { fieldId: 'statusStr', fieldTitle: '流程状态', width: 120 },
-  { fieldId: 'taskName', fieldTitle: '流程节点', width: 160 },
-  { fieldId: 'pendApproveName', fieldTitle: '当前节点负责人', width: 140 },
+  {
+    fieldId: 'status',
+    fieldTitle: '流程状态',
+    width: 120,
+    code: 'SINGLE_SELECT',
+    options: [
+      { value: 'AUDITING', label: '进行中' },
+      { value: 'FINISH', label: '已完结' },
+    ],
+  },
+  { fieldId: 'taskName', fieldTitle: '流程节点', width: 160, code: 'TEXT' },
+  {
+    fieldId: 'pendApproveName',
+    fieldTitle: '当前节点负责人',
+    width: 140,
+    code: 'TEXT',
+  },
 ];
 const originFieldIds = originColumns.map((item) => item.fieldId);
 
@@ -285,8 +314,8 @@ const columns = computed(() => {
       width: 50,
       fixed: 'left',
     },
-    { colKey: 'serviceName', title: '服务单元', width: 160 },
-    { colKey: 'sopNo', title: 'SOP流水号', width: 200 },
+    // { colKey: 'serviceName', title: '服务单元', width: 160 },
+    // { colKey: 'sopNo', title: 'SOP流水号', width: 200 },
     // { colKey: 'crmNo', title: '项目单号', width: 200 },
     // { colKey: 'beginTime', title: '派单时间', width: 180 },
     // { colKey: 'customManagerName', title: '客户经理', width: 140 },