zhangjie преди 1 година
родител
ревизия
c47fa04cbc

+ 1 - 1
src/api/sop.js

@@ -114,7 +114,7 @@ export const planChangeList = (params) =>
 // 项目变更计划申请(第一步)
 export const createPlanChange = (data) =>
   request({
-    url: '/api/admin/ding/exception/apply/save',
+    url: '/api/admin/project/exchange/save',
     data,
   });
 export const planChangeDetail = (id) =>

+ 1 - 0
src/components/common/dynamic-table/index.vue

@@ -80,6 +80,7 @@ const formColumns = computed(() => {
 watch(
   () => props.modelValue,
   (val, oldval) => {
+    console.log(val, oldval);
     if (val === oldval) return;
     tableData.value = val.map((item) => {
       return { ...item, key: randomCode() };

+ 1 - 1
src/components/common/select-service-unit/index.vue

@@ -32,7 +32,7 @@ const props = defineProps({
     type: Object,
     default() {
       // type:'',status:''
-      return {};
+      return { status: 'NEW' };
     },
   },
 });

+ 10 - 3
src/components/global/attachment-view/index.vue

@@ -79,9 +79,16 @@ const imgStyle = computed(() => {
 });
 
 const attachmentIds = computed(() => {
-  if (objTypeOf(props.ids) === 'string') return props.ids.split(',');
-  if (objTypeOf(props.ids) === 'array') return props.ids;
-  return [];
+  let data = [];
+  if (objTypeOf(props.ids) === 'string') {
+    data = props.ids.split(',');
+  } else if (objTypeOf(props.ids) === 'array') {
+    data = props.ids;
+  }
+
+  data = data.filter((item) => !!item);
+
+  return data;
 });
 
 const attachments = reactive({ images: [], files: [] });

+ 4 - 6
src/utils/tool.js

@@ -411,13 +411,11 @@ export function randomCode(len = 16) {
  * @param {Object} sources 源对象
  */
 export function objAssign(target, sources) {
-  let targ = { ...target };
-  for (let k in targ) {
-    targ[k] = Object.prototype.hasOwnProperty.call(sources, k)
-      ? sources[k]
-      : targ[k];
+  for (const key in target) {
+    if (Object.hasOwnProperty.call(sources, key)) {
+      target[key] = sources[key];
+    }
   }
-  return targ;
 }
 
 /**

+ 7 - 3
src/views/sop/sop-manage/plan-change/index.vue

@@ -169,7 +169,7 @@
 <script setup name="PlanChange">
 import { ref, computed, reactive } from 'vue';
 import { MessagePlugin } from 'tdesign-vue-next';
-import dynamicTable from '@/components/common/dynamic-table';
+import dynamicTable from '@/components/common/dynamic-table/index.vue';
 import { dictToOptionList } from '@/utils/tool';
 import { PLAN_CHANGE_TYPE } from '@/config/constants';
 import {
@@ -248,7 +248,7 @@ const columns = computed(() => [
 ]);
 
 const formRef = ref(null);
-const formData = reactive({
+let formData = reactive({
   serviceId: '',
   sopNo: '',
   crmNo: '',
@@ -278,7 +278,11 @@ const initData = async () => {
   sopInfo.value.examEndTime = '';
   sopInfo.value.productName = res.crmInfo.productName;
 
-  formData = objAssign(formData, res.tbProjectExchange);
+  for (const key in res.tbProjectExchange) {
+    if (Object.hasOwnProperty.call(formData, key)) {
+      formData[key] = res.tbProjectExchange[key];
+    }
+  }
   formData.contentJson = JSON.parse(formData.contentJson);
 };
 initData();

+ 7 - 0
src/views/sop/sop-manage/project-change-report/index.vue

@@ -31,6 +31,12 @@
         :selected-row-keys="selectedRowKeys"
         @select-change="selectChange"
       >
+        <template #createTime="{ col, row }">
+          {{ timestampFilter(row[col.colKey]) }}
+        </template>
+        <template #flowTime="{ col, row }">
+          {{ timestampFilter(row[col.colKey]) }}
+        </template>
         <template #operate="{ row }">
           <div class="table-operations">
             <t-link theme="primary" hover="color" @click="handleApply(row)">
@@ -65,6 +71,7 @@ import {
   CUSTOMER_TYPE,
   FLOW_CHECK_STATUS,
 } from '@/config/constants';
+import { timestampFilter } from '@/utils/filter';
 
 const router = useRouter();
 const selectedRowKeys = ref([]);

+ 1 - 1
src/views/sop/sop-monitor/violation-registration/add-violation-dialog.vue

@@ -167,7 +167,7 @@ watch(
         { crmNo: '', serviceId: null, sopNo: '' },
         props.sop
       );
-      formData = reactive(objAssign(initFormData, info));
+      formData = objAssign(initFormData, info);
     }
   }
 );