소스 검색

update fixed

zhuangyunsheng 1 개월 전
부모
커밋
3bfef74b7c

+ 10 - 1
src/components/scUpload/file.vue

@@ -1,7 +1,7 @@
 <template>
 	<div class="sc-upload-file">
 		<el-upload ref="uploader"
-			:class="hideAdd && 'el-upload-hide-add'"
+			:class="[hideAdd && 'el-upload-hide-add', isNested && 'el-upload-nested']"
 			v-model:file-list="defaultFileList"
 			action=""
 			:accept="accept"
@@ -49,6 +49,7 @@ export default {
         multiple: { type: Boolean, default: true },
         disabled: { type: Boolean, default: false },
         hideAdd: { type: Boolean, default: false },
+        isNested: { type: Boolean, default: false },
         onSuccess: { type: Function, default: () => true },
         params: { type: Object, default: () => ({}) }
     },
@@ -182,6 +183,14 @@ export default {
         }
     }
 
+    .el-upload-nested {
+        .sc-upload-file {margin-top: 10px;}
+
+        > :deep(.el-upload-list) {
+            margin-top: 5px;
+        }
+    }
+
     .file-empty i {font-size: 28px;}
     .file-empty h4 {
         font-size: 13px;

+ 2 - 5
src/utils/request.js

@@ -41,11 +41,8 @@ axios.interceptors.response.use(
 					title: "请求错误",
 					message: "Status:404,正在请求不存在的服务器记录!"
 				})
-			} else if (error.response.status == 500) {
-				ElNotification.error({
-					title: "请求错误",
-					message: error.response.data.message || "Status:500,服务器发生错误!"
-				})
+			} else if (error.response.status == 503) {
+                console.log(error.response.data.message)
 			} else if (error.response.status == 401) {
 				if (!MessageBox_401_show) {
 					MessageBox_401_show = true

+ 2 - 2
src/views/basic/material/detail.vue

@@ -16,14 +16,14 @@
                         </el-col>
                         <el-col :md="8" :xs="24">
                             <el-form-item label="物料类型" prop="materialType">
-                                <el-select v-model="form.materialType" placeholder="请选择物料类型">
+                                <el-select v-model="form.materialType" clearable placeholder="请选择物料类型">
                                     <el-option v-for="(label, key) in materialDic.type" :key="key" :label="label" :value="key" :disabled="materialOptionDisabled(key)" />
                                 </el-select>
                             </el-form-item>
                         </el-col>
                         <el-col :md="8" :xs="24">
                             <el-form-item label="物料来源" prop="needType">
-                                <el-select v-model="form.needType" placeholder="请选择物料来源">
+                                <el-select v-model="form.needType" clearable placeholder="请选择物料来源">
                                     <el-option v-for="(label, key) in materialDic.needType" :key="key" :label="label" :value="key" :disabled="needTypeOptionDisabled(key)" />
                                 </el-select>
                             </el-form-item>

+ 2 - 2
src/views/basic/material/index.vue

@@ -135,9 +135,9 @@ const table_change = row => {
         confirmButtonText: "确定",
         cancelButtonText: "取消"
     }).then(() => {
-        API.basic.material.edit({ id: row.id, status }).then(() => {
+        API.basic.material.edit({ ...XEUtils.pick(row, "id", "name", "code"), status }).then(() => {
             ElMessage.success("操作成功");
-            refreshTable();
+            refreshTable("edit");
         });
     }).catch(() => {});
 }

+ 2 - 2
src/views/basic/qualityPlan/desc.vue

@@ -6,7 +6,7 @@
                     <el-descriptions :column="3" label-width="140" border>
                         <el-descriptions-item label="方案名称" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ descData.name }}</el-descriptions-item>
                         <el-descriptions-item label="方案编号" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ descData.code }}</el-descriptions-item>
-                        <el-descriptions-item label="添加时间" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ descData.createTime }}</el-descriptions-item>
+                        <el-descriptions-item label="添加时间" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ $TOOL.dateFormat(descData.createTime) }}</el-descriptions-item>
                         <el-descriptions-item v-if="!descData.reviewUserName" label="审批状态" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ XEUtils.get(reviewStatusDic, descData.reviewStatus, descData.reviewStatus) }}</el-descriptions-item>
                         <el-descriptions-item v-if="descData.reviewUserName && mode == 'approval'" label="审批人员" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ descData.reviewUserName }}</el-descriptions-item>
                         <el-descriptions-item label="质检人员" :span="ismobile ? 3 : 1" label-align="right">{{ descData.inspectUserName }}</el-descriptions-item>
@@ -26,7 +26,7 @@
                     <el-descriptions v-if="mode == 'detail'" :column="3" label-width="140" border>
                         <el-descriptions-item label="审批状态" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ XEUtils.get(reviewStatusDic, descData.reviewStatus, descData.reviewStatus) }}</el-descriptions-item>
                         <el-descriptions-item label="审批人员" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ descData.reviewUserName }}</el-descriptions-item>
-                        <el-descriptions-item label="审批时间" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ descData.reviewTime }}</el-descriptions-item>
+                        <el-descriptions-item label="审批时间" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ $TOOL.dateFormat(descData.reviewTime) }}</el-descriptions-item>
                         <el-descriptions-item label="审批意见" :span="3" label-align="right">{{ descData.reviewReason }}</el-descriptions-item>
                     </el-descriptions>
 

+ 1 - 1
src/views/process/line/desc.vue

@@ -6,7 +6,7 @@
                     <el-descriptions :column="3" label-width="140" border>
                         <el-descriptions-item label="工艺路线名称" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ descData.name }}</el-descriptions-item>
                         <el-descriptions-item label="工艺路线编号" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ descData.code }}</el-descriptions-item>
-                        <el-descriptions-item label="添加时间" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ descData.createTime }}</el-descriptions-item>
+                        <el-descriptions-item label="添加时间" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ $TOOL.dateFormat(descData.createTime) }}</el-descriptions-item>
                         <el-descriptions-item label="工艺路线状态" :span="ismobile ? 3 : 1" label-align="right" min-width="120">{{ XEUtils.get(statusDic, descData.status, descData.status) }}</el-descriptions-item>
                         <el-descriptions-item label="时间单位" :span="ismobile ? 3 : 1" label-align="right">{{ XEUtils.get(processDic.timeUnit, descData.timeUnit, descData.timeUnit) }}</el-descriptions-item>
                         <el-descriptions-item label="版本号" :span="ismobile ? 3 : 1" label-align="right">{{ descData.version }}</el-descriptions-item>

+ 24 - 11
src/views/process/line/detail.vue

@@ -42,6 +42,7 @@
                 </el-collapse-item>
 
                 <!-- <el-collapse-item title="质检方案" name="plan">
+                    inspectProgramId
                 </el-collapse-item> -->
 
                 <!-- <el-collapse-item title="适用产品" name="product">
@@ -56,8 +57,15 @@
                         </el-col>
                         <el-col :xs="24">
                             <el-form-item label="附件" label-width="100">
-                                <sc-upload-file v-model="form.fileList" @removeSuccess="removeSuccess">
-                                    <vxe-button status="primary" size="mini" content="上传附件"></vxe-button>
+                                <sc-upload-file v-model="form.fileList" isNested @removeSuccess="removeSuccess">
+                                    <el-row>
+                                        <el-col :xs="24">
+                                            <vxe-button status="primary" size="mini" content="上传附件"></vxe-button>
+                                        </el-col>
+                                        <el-col :xs="24">
+                                            <sc-upload-file v-model="oldData.fileList" disabled hideAdd></sc-upload-file>
+                                        </el-col>
+                                    </el-row>
                                 </sc-upload-file>
                             </el-form-item>
                         </el-col>
@@ -96,7 +104,8 @@ const titleMap = reactive({
 
 const oldData = reactive({
     code: null,
-    version: null
+    version: null,
+    fileList: []
 });
 const form = ref({
     id: null,
@@ -129,13 +138,15 @@ const setData = (data, modeKey = "edit") => {
     open();
     mode.value = modeKey;
     XEUtils.objectEach(form.value, (_, key) => {
-        if (key == "code" || key == "version") {
+        if (XEUtils.has(oldData, key)) {
+            let keyValue = XEUtils.get(data, key);
+            if (key == "fileList") keyValue = XEUtils.map(XEUtils.get(data, key), item => ({ ...item, name: item.fileName }));
+            
             if (modeKey === "upgrade") {
-                XEUtils.set(oldData, key, XEUtils.get(data, key));
-                XEUtils.set(form.value, key, null);
-            } else XEUtils.set(form.value, key, XEUtils.get(data, key));
-        } else if (key == "fileList") XEUtils.set(form.value, key, XEUtils.map(XEUtils.get(data, key), item => ({ ...item, name: item.fileName })));
-        else if (key == "detailList") XEUtils.set(form.value, key, XEUtils.map(XEUtils.get(data, key), item => ({ ...item.stage, ...XEUtils.omit(item, "id", "stage") })));
+                XEUtils.set(oldData, key, keyValue);
+                XEUtils.set(form.value, key, key == "fileList" ? [] : null);
+            } else XEUtils.set(form.value, key, keyValue);
+        } else if (key == "detailList") XEUtils.set(form.value, key, XEUtils.map(XEUtils.get(data, key), item => ({ ...item.stage, ...XEUtils.omit(item, "id", "stage") })));
         else XEUtils.set(form.value, key, XEUtils.get(data, key));
     });
 }
@@ -150,10 +161,12 @@ const submit = () => {
             if (await formTableRef.value.validateFormTable()) {
                 const data = XEUtils.omit(form.value, "detailList", "fileList");
                 const detailList = XEUtils.map(form.value.detailList, item => XEUtils.omit(item, "id", "name", "code", "processType"));
-                const fileList = XEUtils.map(XEUtils.filter(form.value.fileList, item => !item.id), item => ({ ...XEUtils.omit(item, "id", "name"), fileName: item.name, fileType: "processLineAttach" }));
                 XEUtils.set(data, "detailList", detailList);
+                
+                let fileList = XEUtils.map(XEUtils.filter(form.value.fileList, item => !item.id), item => ({ ...XEUtils.omit(item, "id", "name"), fileName: item.name, fileType: "processLineAttach" }));
+                if (mode.value == "upgrade") fileList = fileList.concat(XEUtils.map(oldData.fileList, item => ({ ...XEUtils.omit(item, "id", "name"), fileName: item.name, fileType: "processLineAttach" })));
                 fileList.length > 0 && XEUtils.set(data, "fileList", fileList);
-    
+
                 isSaving.value = true;
                 API.process.line[mode.value](data).then(res => {
                     ElMessage.success("操作成功");

+ 1 - 1
src/views/process/line/index.vue

@@ -104,7 +104,7 @@ const columns = reactive([
     { field: "code", title: "工艺路线编号", fixed: "left", minWidth: 150, sortable: true, className: "vxe-table-link-cell", slots: { default: "code_link" } },
     { visible: !props.hideHandler, field: "status", title: "工艺路线状态", minWidth: 120, editRender: { name: "$cell-tag", options: statusDic } },
     { visible: false, type: "html", field: "timeUnit", title: "时间单位", minWidth: 100, sortable: true, formatter: ({ cellValue }) => XEUtils.get(processDic.timeUnit, cellValue, cellValue) },
-    { type: "html", field: "", title: "质检方案", minWidth: 160, sortable: true },
+    { type: "html", field: "inspectProgramName", title: "质检方案", minWidth: 160, sortable: true },
     { type: "html", field: "createTime", title: "创建日期", minWidth: 120, sortable: true, formatter: ({ cellValue }) => TOOL.dateFormat(cellValue, "YYYY-MM-DD") || cellValue },
     { type: "html", field: "version", title: "版本号", minWidth: 120, sortable: true, className: "vxe-table-link-cell", slots: { default: "version_link" } },
     { visible: false, type: "html", field: "remark", title: "概要", minWidth: 300, sortable: true },