Browse Source

Merge remote-tracking branch 'origin/master'

zhangcl 5 months ago
parent
commit
44d78f9e91

+ 1 - 1
src/components/UploadFile/src/UploadFile.vue

@@ -81,7 +81,7 @@ const emit = defineEmits(['update:modelValue'])
 const props = defineProps({
   modelValue: propTypes.oneOfType<string | string[]>([String, Array<String>]).isRequired,
   fileType: propTypes.array.def(['doc', 'xls', 'ppt', 'txt', 'pdf']), // 文件类型, 例如['png', 'jpg', 'jpeg']
-  fileSize: propTypes.number.def(5), // 大小限制(MB)
+  fileSize: propTypes.number.def(50), // 大小限制(MB)
   limit: propTypes.number.def(5), // 数量限制
   autoUpload: propTypes.bool.def(true), // 自动上传
   drag: propTypes.bool.def(false), // 拖拽上传

+ 4 - 0
src/views/supplier/base/form/index.vue

@@ -18,6 +18,7 @@
           :is-detail="isDetail"
           :propFormData="formData"
           :receivedParam="sharedParam"
+          :ifAlone="false"
         />
       </el-tab-pane>
       <el-tab-pane label="联系人信息" name="contact">
@@ -27,6 +28,7 @@
           :is-detail="isDetail"
           :propFormData="formData"
           :receivedParam="sharedParam"
+          :ifAlone="false"
         />
       </el-tab-pane>
             <el-tab-pane label="核心产品" name="core">
@@ -36,6 +38,7 @@
                 :is-detail="isDetail"
                 :propFormData="formData"
                 :receivedParam="sharedParam"
+                :ifAlone="false"
               />
             </el-tab-pane>
             <el-tab-pane label="联系记录" name="connect">
@@ -45,6 +48,7 @@
                 :is-detail="isDetail"
                 :propFormData="formData"
                 :receivedParam="sharedParam"
+                :ifAlone="false"
               />
             </el-tab-pane>
     </el-tabs>

+ 19 - 5
src/views/supplier/certificate/CertificateForm.vue

@@ -7,6 +7,16 @@
       label-width="100px"
       v-loading="formLoading"
     >
+      <el-form-item label="供应商" prop="supplierId" v-if="ifAlone==null">
+        <el-select v-model="formData.supplierId" filterable placeholder="请选择">
+          <el-option
+            v-for="dict in supplierList"
+            :key="dict.id"
+            :label="dict.name"
+            :value="dict.id"
+          />
+        </el-select>
+        </el-form-item>
       <el-form-item label="证件类型" prop="type">
         <el-select v-model="formData.type" placeholder="请选择">
           <el-option
@@ -62,7 +72,8 @@ const formRules = reactive<FormRules>({
 })
 const formRef = ref() // 表单 Ref
 const props = defineProps({
-  supplierId: { type: Number, default: () => null }
+  supplierId: { type: Number, default: () => null },
+  ifAlone: { type: Boolean, default: () => null },
 })
 /** 打开弹窗 */
 const open = async (type: string, id?: number) => {
@@ -93,11 +104,14 @@ const submitForm = async () => {
   try {
     const data = formData.value as unknown as CertificateVO
     // const supplier = data.supplierId
-    if (!props.supplierId.receivedParam){
-      message.error("请先保存供应商基本信息");
-      return
+    if (props.ifAlone!=null) {
+      if (!props.supplierId.receivedParam){
+        message.error("请先保存供应商基本信息");
+        return
+      }
+      data.supplierId = props.supplierId.receivedParam
     }
-    data.supplierId = props.supplierId.receivedParam
+
     // data.supplierName = supplier.name
 
     if (data.urls) {

+ 15 - 12
src/views/supplier/certificate/index.vue

@@ -8,15 +8,15 @@
       :inline="true"
       label-width="68px"
     >
-<!--      <el-form-item label="供应商" prop="supplierId">-->
-<!--        <el-input-->
-<!--          v-model="queryParams.supplierId"-->
-<!--          placeholder="请输入供应商"-->
-<!--          clearable-->
-<!--          @keyup.enter="handleQuery"-->
-<!--          class="!w-240px"-->
-<!--        />-->
-<!--      </el-form-item>-->
+      <el-form-item label="供应商" prop="supplierId" v-if="ifAlone">
+        <el-input
+          v-model="queryParams.supplierId"
+          placeholder="请输入供应商"
+          clearable
+          @keyup.enter="handleQuery"
+          class="!w-240px"
+        />
+      </el-form-item>
       <el-form-item label="证件类型" label-width="85px" prop="type">
         <el-select v-model="queryParams.type" placeholder="证件类型" clearable class="!w-240px">
           <el-option
@@ -102,8 +102,8 @@
   </ContentWrap>
 
   <!-- 表单弹窗:添加/修改 -->
-  <CertificateForm ref="formRef" :supplierId="{ receivedParam }" @success="getList" />
-  <el-form>
+  <CertificateForm ref="formRef" :supplierId="{ receivedParam }" :ifAlone ="ifAlone" @success="getList" />
+  <el-form v-if="ifAlone!= null">
     <el-form-item style="float: right">
       <el-button @click="close" type="primary">返回</el-button>
     </el-form-item>
@@ -129,6 +129,7 @@ const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const props = defineProps({
   isDetail: propTypes.bool.def(false), // 是否作为详情组件
+  ifAlone: {type:Boolean, default:()=>null},
   receivedParam: { type: undefined, default: () => null }
 })
 const loading = ref(true) // 列表的加载中
@@ -152,7 +153,9 @@ const getList = async () => {
   supplierList.value = await SupplierBaseApi.Api.getAll()
   loading.value = true
   try {
-    queryParams.supplierId = props.receivedParam === null?'0000000000':props.receivedParam
+    if (props.ifAlone!=null) {
+      queryParams.supplierId = props.receivedParam === null?'0000000000':props.receivedParam
+    }
     const data = await CertificateApi.getCertificatePage(queryParams)
     list.value = data.list
     total.value = data.total

+ 18 - 14
src/views/supplier/connect/ConnectRecordForm.vue

@@ -7,15 +7,16 @@
       label-width="100px"
       v-loading="formLoading"
     >
-<!--      <el-form-item label="供应商" prop="supplierId">-->
-<!--        <el-select v-model="formData.supplierId" filterable placeholder="请选择">-->
-<!--          <el-option-->
-<!--            v-for="dict in supplierList"-->
-<!--            :key="dict.id"-->
-<!--            :label="dict.name"-->
-<!--            :value="dict.id"-->
-<!--          />-->
-<!--        </el-select>-->
+      <el-form-item label="供应商" prop="supplierId" v-if="ifAlone==null">
+        <el-select v-model="formData.supplierId" filterable placeholder="请选择">
+          <el-option
+            v-for="dict in supplierList"
+            :key="dict.id"
+            :label="dict.name"
+            :value="dict.id"
+          />
+        </el-select>
+        </el-form-item>
 <!--      </el-form-item>-->
       <!--      <el-form-item label="我方联系人" prop="username">-->
       <!--        <el-input v-model="formData.username" placeholder="请输入我方联系人姓名" />-->
@@ -72,7 +73,8 @@ const formData = ref({
 
 const formRef = ref() // 表单 Ref
 const props = defineProps({
-  supplierId: { type: Number, default: () => null }
+  supplierId: { type: Number, default: () => null },
+  ifAlone: { type: Boolean, default: () => null },
 })
 const formRules = reactive<FormRules>({
   supplierId: [{ required: true, message: '供应商不能为空', trigger: 'blur' }],
@@ -106,11 +108,13 @@ const submitForm = async () => {
   formLoading.value = true
   try {
     const data = formData.value as unknown as ConnectRecordVO
-    if (!props.supplierId.receivedParam){
-      message.error("请先保存供应商基本信息");
-      return
+    if (props.ifAlone!=null) {
+      if (!props.supplierId.receivedParam){
+        message.error("请先保存供应商基本信息");
+        return
+      }
+      data.supplierId = props.supplierId.receivedParam
     }
-    data.supplierId = props.supplierId.receivedParam
     if (formType.value === 'create') {
       await ConnectRecordApi.createConnectRecord(data)
       message.success(t('common.createSuccess'))

+ 15 - 12
src/views/supplier/connect/index.vue

@@ -8,15 +8,15 @@
       :inline="true"
       label-width="68px"
     >
-<!--      <el-form-item label="供应商" prop="supplierId">-->
-<!--        <el-input-->
-<!--          v-model="queryParams.supplierId"-->
-<!--          placeholder="请输入供应商"-->
-<!--          clearable-->
-<!--          @keyup.enter="handleQuery"-->
-<!--          class="!w-240px"-->
-<!--        />-->
-<!--      </el-form-item>-->
+      <el-form-item label="供应商" prop="supplierId" v-if="ifAlone">
+        <el-input
+          v-model="queryParams.supplierId"
+          placeholder="请输入供应商"
+          clearable
+          @keyup.enter="handleQuery"
+          class="!w-240px"
+        />
+      </el-form-item>
       <el-form-item label="我方联系人" label-width="90px" prop="username">
         <el-input
           v-model="queryParams.username"
@@ -109,8 +109,8 @@
   </ContentWrap>
 
   <!-- 表单弹窗:添加/修改 -->
-  <ConnectRecordForm ref="formRef" :supplierId="{ receivedParam }" @success="getList" />
-  <el-form>
+  <ConnectRecordForm ref="formRef" :supplierId="{ receivedParam }" :ifAlone="ifAlone" @success="getList" />
+  <el-form v-if="ifAlone!= null">
     <el-form-item style="float: right">
       <el-button type="primary" @click="close">返回</el-button>
     </el-form-item>
@@ -135,6 +135,7 @@ const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const props = defineProps({
   isDetail: propTypes.bool.def(false), // 是否作为详情组件
+  ifAlone: {type:Boolean, default:()=>null},
   receivedParam: { type: undefined, default: () => null }
 })
 const loading = ref(true) // 列表的加载中
@@ -162,7 +163,9 @@ const getList = async () => {
   supplierList.value = await SupplierBaseApi.Api.getAll()
   loading.value = true
   try {
-    queryParams.supplierId = props.receivedParam === null?'0000000000':props.receivedParam
+    if (props.ifAlone!=null) {
+      queryParams.supplierId = props.receivedParam === null?'0000000000':props.receivedParam
+    }
     const data = await ConnectRecordApi.getConnectRecordPage(queryParams)
     list.value = data.list
     total.value = data.total

+ 18 - 5
src/views/supplier/contact/ContactForm.vue

@@ -7,6 +7,16 @@
       label-width="100px"
       v-loading="formLoading"
     >
+      <el-form-item label="供应商" prop="supplierId" v-if="ifAlone==null">
+        <el-select v-model="formData.supplierId" filterable placeholder="请选择">
+          <el-option
+            v-for="dict in supplierList"
+            :key="dict.id"
+            :label="dict.name"
+            :value="dict.id"
+          />
+        </el-select>
+      </el-form-item>
       <el-form-item label="姓名" prop="name">
         <el-input v-model="formData.name" placeholder="请输入姓名" />
       </el-form-item>
@@ -90,7 +100,8 @@ const formRules = reactive<FormRules>({
 })
 const formRef = ref() // 表单 Ref
 const props = defineProps({
-  supplierId: { type: Number, default: () => null }
+  supplierId: { type: Number, default: () => null },
+  ifAlone: { type: Boolean, default: () => null },
 })
 /** 打开弹窗 */
 const open = async (type: string, id?: number) => {
@@ -121,11 +132,13 @@ const submitForm = async () => {
   formLoading.value = true
   try {
     const data = formData.value as unknown as ContactVO
-    if (!props.supplierId.receivedParam){
-      message.error("请先保存供应商基本信息");
-      return
+    if (props.ifAlone!=null) {
+      if (!props.supplierId.receivedParam){
+        message.error("请先保存供应商基本信息");
+        return
+      }
+      data.supplierId = props.supplierId.receivedParam
     }
-    data.supplierId = props.supplierId.receivedParam
     if (formType.value === 'create') {
       await ContactApi.createContact(data)
       message.success(t('common.createSuccess'))

+ 16 - 3
src/views/supplier/contact/index.vue

@@ -8,6 +8,15 @@
       :inline="true"
       label-width="68px"
     >
+      <el-form-item label="供应商" prop="supplierId" v-if="ifAlone">
+        <el-input
+          v-model="queryParams.supplierId"
+          placeholder="请输入供应商"
+          clearable
+          @keyup.enter="handleQuery"
+          class="!w-240px"
+        />
+      </el-form-item>
       <el-form-item label="姓名" prop="name">
         <el-input
           v-model="queryParams.name"
@@ -114,8 +123,8 @@
   </ContentWrap>
 
   <!-- 表单弹窗:添加/修改 -->
-  <ContactForm ref="formRef" :supplierId="{ receivedParam }" @success="getList" />
-  <el-form>
+  <ContactForm ref="formRef" :supplierId="{ receivedParam }" :ifAlone="ifAlone" @success="getList" />
+  <el-form v-if="ifAlone!= null">
     <el-form-item style="float: right">
       <el-button @click="close" type="primary">返回</el-button>
     </el-form-item>
@@ -132,12 +141,14 @@ import * as SupplierBaseApi from "@/api/supplier/base";
 import * as SupplierDetailApi from "@/api/supplier/product/supplierdetail";
 import { propTypes } from '@/utils/propTypes'
 import {useTagsViewStore} from "@/store/modules/tagsView";
+import {SupplierProductVo} from "@/api/supplier/product/supplierdetail";
 const { delView } = useTagsViewStore() // 视图操作
 const { push, currentRoute } = useRouter() // 路由
 /** 供应商联系人 列表 */
 defineOptions({ name: 'SupplierContact' })
 const props = defineProps({
   isDetail: propTypes.bool.def(false), // 是否作为详情组件
+  ifAlone: {type:Boolean, default:()=>null},
   receivedParam: { type: undefined, default: () => null }
 })
 const message = useMessage() // 消息弹窗
@@ -169,7 +180,9 @@ const getList = async () => {
   loading.value = true
   supplierList.value = await SupplierBaseApi.Api.getAll()
   try {
-    queryParams.supplierId = props.receivedParam === null?'0000000000':props.receivedParam
+    if (props.ifAlone!=null) {
+      queryParams.supplierId = props.receivedParam === null?'0000000000':props.receivedParam
+    }
     const data = await ContactApi.getContactPage(queryParams)
     list.value = data.list
     total.value = data.total

+ 18 - 15
src/views/supplier/coreproduct/CoreProductForm.vue

@@ -7,16 +7,16 @@
       label-width="100px"
       v-loading="formLoading"
     >
-<!--      <el-form-item label="供应商" prop="supplierId">-->
-<!--        <el-select v-model="formData.supplierId" filterable placeholder="请选择">-->
-<!--          <el-option-->
-<!--            v-for="dict in supplierList"-->
-<!--            :key="dict.id"-->
-<!--            :label="dict.name"-->
-<!--            :value="dict.id"-->
-<!--          />-->
-<!--        </el-select>-->
-<!--      </el-form-item>-->
+      <el-form-item label="供应商" prop="supplierId" v-if="ifAlone==null">
+        <el-select v-model="formData.supplierId" filterable placeholder="请选择">
+          <el-option
+            v-for="dict in supplierList"
+            :key="dict.id"
+            :label="dict.name"
+            :value="dict.id"
+          />
+        </el-select>
+      </el-form-item>
 <!--      <el-form-item label="产品" prop="productId">-->
 <!--        <el-input v-model="formData.productId" placeholder="请输入产品" />-->
 <!--      </el-form-item>-->
@@ -73,7 +73,8 @@ const formRules = reactive<FormRules>({
 })
 const formRef = ref() // 表单 Ref
 const props = defineProps({
-  supplierId: { type: Number, default: () => null }
+  supplierId: { type: Number, default: () => null },
+  ifAlone: { type: Boolean, default: () => null },
 })
 /** 打开弹窗 */
 const open = async (type: string, id?: number) => {
@@ -104,11 +105,13 @@ const submitForm = async () => {
   formLoading.value = true
   try {
     const data = formData.value as unknown as CoreProductVO
-    if (!props.supplierId.receivedParam){
-      message.error("请先保存供应商基本信息");
-      return
+    if (props.ifAlone!=null) {
+      if (!props.supplierId.receivedParam){
+        message.error("请先保存供应商基本信息");
+        return
+      }
+      data.supplierId = props.supplierId.receivedParam
     }
-    data.supplierId = props.supplierId.receivedParam
     if (formType.value === 'create') {
       await CoreProductApi.createCoreProduct(data)
       message.success(t('common.createSuccess'))

+ 17 - 3
src/views/supplier/coreproduct/index.vue

@@ -8,6 +8,15 @@
       :inline="true"
       label-width="68px"
     >
+      <el-form-item label="供应商" prop="supplierId" v-if="ifAlone">
+        <el-input
+          v-model="queryParams.supplierId"
+          placeholder="请输入供应商"
+          clearable
+          @keyup.enter="handleQuery"
+          class="!w-240px"
+        />
+      </el-form-item>
       <el-form-item label="产品名称" prop="productName">
         <el-input
           v-model="queryParams.productName"
@@ -104,8 +113,8 @@
   </ContentWrap>
 
   <!-- 表单弹窗:添加/修改 -->
-  <CoreProductForm ref="formRef" :supplierId="{ receivedParam }" @success="getList" />
-  <el-form>
+  <CoreProductForm ref="formRef" :supplierId="{ receivedParam }" :ifAlone="ifAlone" @success="getList" />
+  <el-form v-if="ifAlone!= null">
     <el-form-item style="float: right">
       <el-button type="primary" @click="close">返回</el-button>
     </el-form-item>
@@ -122,6 +131,7 @@ import {SupplierVO} from "@/api/supplier/base";
 import * as SupplierDetailApi from "@/api/supplier/product/supplierdetail";
 import { propTypes } from '@/utils/propTypes'
 import {useTagsViewStore} from "@/store/modules/tagsView";
+import {SupplierProductVo} from "@/api/supplier/product/supplierdetail";
 const { delView } = useTagsViewStore() // 视图操作
 const { push, currentRoute } = useRouter() // 路由
 /** 供应商核心产品 列表 */
@@ -131,6 +141,7 @@ const message = useMessage() // 消息弹窗
 const { t } = useI18n() // 国际化
 const props = defineProps({
   isDetail: propTypes.bool.def(false), // 是否作为详情组件
+  ifAlone: {type:Boolean, default:()=>null},
   receivedParam: { type: undefined, default: () => null }
 })
 const loading = ref(true) // 列表的加载中
@@ -155,7 +166,9 @@ const getList = async () => {
   supplierList.value = await SupplierBaseApi.Api.getAll()
   loading.value = true
   try {
-    queryParams.supplierId = props.receivedParam === null?'0000000000':props.receivedParam
+    if (props.ifAlone!=null) {
+      queryParams.supplierId = props.receivedParam === null?'0000000000':props.receivedParam
+    }
     const data = await CoreProductApi.getCoreProductPage(queryParams)
     list.value = data.list
     total.value = data.total
@@ -217,6 +230,7 @@ onMounted(async () => {
   await getList()
   supplierList.value = await SupplierBaseApi.Api.getAll()
   productList.value = await SupplierDetailApi.getAll()
+  debugger;
 })
 const close = () => {
   delView(unref(currentRoute))