From 6a415a072a98d64d2f95d16eef73b6d7270b8d56 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 30 五月 2026 15:14:25 +0800
Subject: [PATCH] 新疆马铃薯 1.首页问题:挪新系统ui,需要确认一下页面数据完整。 2.协同办公:挪新系统 3.营销管理:客户往来取消回款金额字段,改为点击左侧客户时显示与该客户的所有订单信息,以及发货情况。销售可以选好对应的采购订单方便质量追溯。 4.采购管理:供应商往来同上逻辑,显示是否收货,也加上采购退货和采购报表功能。 5.采购加上设备备件选项,设备备件入库到备件库存。设备,仓储不足时做采购提醒。 6.仓储物流:得区分成品库和原料库(不存在半成品,成品只有一个产品,很好确认),原材料需要有批号,采集原料库需要做好仓库字段,让他们可以区分哪个仓库,然后把数采设备信息做一个实时的显示。总库存显示好当前存在的批次信息。 7.质量:只有不通过才需要填写对应的数据信息。在外侧做好选择通过不通过。过程,出厂检验无法对应到生产订单,那就对应到销售订单。 8.决策分析:基础数据分析和进销存分析,质量数据分析需要重新设计

---
 src/views/officeProcessAutomation/ApproveManage/approve-shared/components/ApprovalTemplateFormSection.vue |  122 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 122 insertions(+), 0 deletions(-)

diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-shared/components/ApprovalTemplateFormSection.vue b/src/views/officeProcessAutomation/ApproveManage/approve-shared/components/ApprovalTemplateFormSection.vue
new file mode 100644
index 0000000..d6e7073
--- /dev/null
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-shared/components/ApprovalTemplateFormSection.vue
@@ -0,0 +1,122 @@
+<!-- 妯℃澘缁戝畾琛ㄥ崟鍖猴細濉姤椤� + 瀹℃壒娴佺▼ + 闄勪欢锛堥』鎸傚湪澶栧眰 el-form 涓嬶級 -->
+<template>
+  <template v-if="activeTemplate">
+    <el-form-item
+      v-if="showTemplateName && !hideTemplateName && !flowAttachmentsOnly && !flowOnly"
+      label="瀹℃壒妯℃澘"
+    >
+      <span class="template-name">{{ activeTemplate.label }}</span>
+      <el-button v-if="allowChangeTemplate" type="primary" link class="ml12" @click="emit('change-template')">
+        鏇存崲妯℃澘
+      </el-button>
+    </el-form-item>
+
+    <FormPayloadFields
+      v-if="!hideFormFields && !flowAttachmentsOnly && !flowOnly"
+      :fields="fields"
+      :form-payload="formPayload"
+    />
+
+    <el-form-item label="瀹℃壒娴佺▼" required>
+      <TemplateFlowEditor
+        v-model="flowNodesModel"
+        :user-options="userOptions"
+        :readonly="!flowEditable"
+      />
+      <p class="section-tip">
+        {{
+          flowEditable
+            ? "娴佺▼涓庡鎵逛汉鐢辨ā鏉块缃紝鍙寜闇�寰皟鑺傜偣瀹℃壒浜恒��"
+            : "娴佺▼涓庡鎵逛汉鐢辨墍閫夋ā鏉垮浐瀹氾紝涓嶅彲淇敼銆�"
+        }}
+      </p>
+    </el-form-item>
+
+    <el-form-item v-if="!flowOnly && templateAttachments.length" label="妯℃澘鍙傝��">
+      <el-tag
+        v-for="(f, i) in templateAttachments"
+        :key="`tpl-${i}`"
+        class="attachment-tag"
+        type="info"
+        effect="plain"
+      >
+        {{ attachmentDisplayName(f) }}
+      </el-tag>
+      <p class="section-tip">浠ヤ笂涓烘ā鏉块檮甯︽枃浠讹紝浠呬緵鍙傝�冿紱鎻愪氦闄勪欢璇峰湪涓嬫柟涓婁紶銆�</p>
+    </el-form-item>
+
+    <el-form-item v-if="!flowOnly" label="闄勪欢">
+      <FileUpload
+        v-model:file-list="attachmentsModel"
+        :limit="uploadLimit"
+        button-text="鐐瑰嚮閫夋嫨鏂囦欢"
+      />
+      <p class="section-tip">閫夊~锛屽彲涓婁紶涓庣敵璇风浉鍏崇殑璇存槑鏉愭枡銆�</p>
+    </el-form-item>
+  </template>
+  <el-empty v-else description="璇峰厛閫夋嫨瀹℃壒妯℃澘" :image-size="64" />
+</template>
+
+<script setup>
+import { computed } from "vue";
+import FileUpload from "@/components/AttachmentUpload/file/index.vue";
+import TemplateFlowEditor from "../../approve-template/components/TemplateFlowEditor.vue";
+import FormPayloadFields from "../../approve-list/components/FormPayloadFields.vue";
+import { attachmentDisplayName } from "../approvalTemplateBindingUtils.js";
+
+const props = defineProps({
+  activeTemplate: { type: Object, default: null },
+  fields: { type: Array, default: () => [] },
+  formPayload: { type: Object, required: true },
+  flowNodes: { type: Array, default: () => [] },
+  /** 鐢ㄦ埛鑷涓婁紶鐨勯檮浠� */
+  attachments: { type: Array, default: () => [] },
+  /** 妯℃澘棰勭疆闄勪欢锛堝彧璇诲睍绀猴級 */
+  templateAttachments: { type: Array, default: () => [] },
+  userOptions: { type: Array, default: () => [] },
+  showTemplateName: { type: Boolean, default: true },
+  allowChangeTemplate: { type: Boolean, default: true },
+  /** 涓� true 鏃朵笉灞曠ず妯℃澘鑷畾涔夊~鎶ラ」锛堜粎淇濈暀瀹℃壒娴佺▼涓庨檮浠讹級 */
+  hideFormFields: { type: Boolean, default: false },
+  /** 涓� true 鏃朵笉灞曠ず瀹℃壒妯℃澘鍚嶇О琛岋紙鐢辩埗绾х疆椤跺睍绀猴級 */
+  hideTemplateName: { type: Boolean, default: false },
+  /** 涓� true 鏃朵粎灞曠ず瀹℃壒娴佺▼涓庨檮浠讹紙濉姤椤圭敱鐖剁骇鍗曠嫭娓叉煋锛� */
+  flowAttachmentsOnly: { type: Boolean, default: false },
+  /** 涓� true 鏃朵粎灞曠ず瀹℃壒娴佺▼锛堜笉灞曠ず妯℃澘濉姤椤广�侀檮浠剁瓑锛� */
+  flowOnly: { type: Boolean, default: false },
+  uploadLimit: { type: Number, default: 10 },
+  /** 涓� true 鏃跺彲缂栬緫妯℃澘棰勭疆鐨勫鎵逛汉锛堜粎瀹℃壒妯℃澘绠$悊椤典娇鐢級 */
+  flowEditable: { type: Boolean, default: false },
+});
+
+const emit = defineEmits(["update:flowNodes", "update:attachments", "change-template"]);
+
+const flowNodesModel = computed({
+  get: () => props.flowNodes,
+  set: (v) => emit("update:flowNodes", v),
+});
+
+const attachmentsModel = computed({
+  get: () => props.attachments,
+  set: (v) => emit("update:attachments", v),
+});
+</script>
+
+<style scoped>
+.template-name {
+  font-weight: 600;
+  color: var(--el-text-color-primary);
+}
+.ml12 {
+  margin-left: 12px;
+}
+.section-tip {
+  font-size: 12px;
+  color: var(--el-text-color-secondary);
+  margin: 8px 0 0;
+  line-height: 1.5;
+}
+.attachment-tag {
+  margin: 0 8px 8px 0;
+}
+</style>

--
Gitblit v1.9.3