Browse Source

feat: 优化

cuiyalong 3 tháng trước cách đây
mục cha
commit
53e9fd1aa8

+ 4 - 4
src/store/order.js

@@ -62,10 +62,10 @@ const defaultPageFormValue = {
   // 协议信息-文档协议
   signCode: '', // 协议编号
   signTime: '', // 协议签订时间
-  contract_archive_status: 0, // 协议归档状态
-  contract_archive_time: '', // 协议归档时间
-  contract_archive_num: '', // 协议归档份数
-  contract_file_url: '', // 归档协议文件地址
+  // contract_archive_status: 0, // 协议归档状态
+  // contract_archive_time: '', // 协议归档时间
+  // contract_archive_num: '', // 协议归档份数
+  // contract_file_url: '', // 归档协议文件地址
 
   // 协议信息-电子协议
   e_contract_type: 1, // 电子协议类型

+ 3 - 3
src/views/create-order/components/contractInfoModule.vue

@@ -55,7 +55,7 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-row :gutter="2">
+      <!-- <el-row :gutter="2">
         <el-col :span="12">
           <el-form-item label="协议归档状态" prop="contract_archive_status">
             <RadioGroup
@@ -102,7 +102,7 @@
             ></b-upload>
           </el-form-item>
         </el-col>
-      </el-row>
+      </el-row> -->
 
       <!-- 电子协议表单 -->
       <!-- <ElOnlineContractForm
@@ -144,7 +144,7 @@
         @update:e_contract_remark="onChangeFormItem('e_contract_remark', $event)"
       />
 
-      <el-divider>
+      <el-divider v-if="showOnlineContractForm">
         <el-button
           type="text"
           :icon="this.showMore ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"

+ 1 - 1
src/views/create-order/components/product-info-submodule/ServiceList.vue

@@ -589,7 +589,7 @@ export default {
     getState() {
       const { selectedInfoList } = this.getSelected()
       const { idArr } = this.getSelectedIdArrAndNameArr(selectedInfoList)
-      return idArr
+      return idArr.sort((a, b) => a - b)
     },
     // 根据id获取服务信息
     getServiceInfoById(id) {

+ 4 - 4
src/views/create-order/components/schema-form/params.js

@@ -164,11 +164,11 @@ export function createOrderParams(payload = {}) {
     e_contract_userB_contacts_name: pageForm.e_contract_userB_contacts_name, // 协议乙方联系人
     e_contract_remark: pageForm.e_contract_remark, // 协议备注
 
-    contract_archive_status: pageForm.contract_archive_status, // 协议归档状态 1 已归档 0 未归档	
+    // contract_archive_status: pageForm.contract_archive_status, // 协议归档状态 1 已归档 0 未归档	
     contractTime: pageForm.signTime ? dateFormatter(pageForm.signTime, 'yyyy-MM-dd') : '', // 协议签订时间
-    contract_file_url: pageForm.contract_file_url, // 上传合同地址
-    contract_archive_time: pageForm.contract_archive_time, // 协议归档时间
-    contract_archive_num: pageForm.contract_archive_num - 0, // 协议归档份数
+    // contract_file_url: pageForm.contract_file_url, // 上传合同地址
+    // contract_archive_time: pageForm.contract_archive_time, // 协议归档时间
+    // contract_archive_num: pageForm.contract_archive_num - 0, // 协议归档份数
   }
   
   const p = {

+ 1 - 1
src/views/create-order/components/schema-form/params/common.js

@@ -19,7 +19,7 @@ import { dateFormatter } from '@/utils/globalFun'
 export function getCommonParams(pageForm, productInfo) {
   const productForm = productInfo?.productCardInfo?.form || {}
   const serviceType = productForm[schemaKeyMap.payment]
-  const linkedOrderId = productForm[schemaKeyMap.linkedOrderId]
+  const linkedOrderId = productForm.relatedOrders.join('') - 0
   const paybackOpenServer = productForm.validityPeriod?.paybackOpenServer
   const periodStart = productForm.validityPeriod?.start
   const periodEnd = productForm.validityPeriod?.end

+ 1 - 0
src/views/create-order/components/schema-form/products/bigmember.js

@@ -50,6 +50,7 @@ function createServiceListSchema({ state } = {}) {
 
   return createSchemaItem({
     label: '服务列表',
+    show: false,
     key,
     className: 'product-service-list',
     component: ServiceList, // component和slot二选一,component优先级高

+ 27 - 1
src/views/create-order/components/schema-form/products/common.js

@@ -9,6 +9,7 @@ import ContractAmount from '@/views/create-order/components/product-info-submodu
 import ServiceList from '@/views/create-order/components/product-info-submodule/ServiceList'
 import CountNumber from '@/views/create-order/components/product-info-submodule/CountNumber'
 import SelectGroup from '@/views/create-order/components/product-info-submodule/SelectGroup'
+import store from '@/store'
 
 import {
   schemaKeyMap,
@@ -192,6 +193,7 @@ export function createRelatedOrdersSchema() {
     key: 'relatedOrders',
     className: 'related-orders',
     component: RelatedOrders,
+    defaultValue: [],
     showMessage: false,
     changedSchema: true,
     props: {
@@ -280,8 +282,32 @@ export function createValidityPeriodSchema({ amountText = '' } = {}) {
   })
 }
 
+function checkIsEntService(info) {
+  const productList = store.state.order.productList
+  if (Array.isArray(productList) && productList.length > 0) {
+    const entService = productList.find(item => item.value.includes('企业服务'))
+    if (entService && Array.isArray(entService.children)) {
+      const t = entService.children.find(e => e.code === info.code)
+      return !!t
+    }
+  }
+  return false
+}
+
 // 服务起止时间 - 手动选择的时间区间
-export function createValidityPeriodDateTimeSchema({ label, amountText = '' } = {}) {
+// 当产品属性为“资源包、企业服务”且未配置有效周期且该产品类型不支持系统自动开通权限才展示,否则不展示;
+export function createValidityPeriodDateTimeSchema({ label, info, amountText = '' } = {}) {
+  // 产品属性 1会员服务 2 资源包 3实物 4其他
+  const isSourcePack = info?.attribute === 2
+  const isEntService = checkIsEntService(info)
+  // 是否支持自动开通 1是 2否
+  const canAutoOpen = info?.auto === 1
+  const hasValidTime = !!amountText
+
+  const show = (isSourcePack || isEntService) && !hasValidTime && !canAutoOpen
+  if (!show) {
+    return undefined
+  }
   return createSchemaItem({
     label: label || '服务起止时间',
     key: 'validityPeriod',

+ 4 - 2
src/views/create-order/components/schema-form/products/data-count-pack.js

@@ -54,10 +54,12 @@ export function createDataCountPackSchemaList(conf) {
 
   const validateYear2 = {
     amountText: '2年',
-    label: '有效周期'
+    label: '有效周期',
+    info
   }
   const validateDateTimeDuration = {
-    label: '服务起止时间'
+    label: '服务起止时间',
+    info
   }
   if (validYear > 0) {
     validateYear2.amountText = `${validYear}年`

+ 2 - 1
src/views/create-order/components/schema-form/products/marketing.js

@@ -40,7 +40,8 @@ export function createMarketingSchemaList(conf) {
     ggSourceSchema,
     // 有效周期-时间范围
     createValidityPeriodDateTimeSchema({
-      label: '服务起止时间'
+      label: '服务起止时间',
+      info,
     }),
     // 合同金额
     createContractAmountSchema({ info, state }),

+ 7 - 7
src/views/create-order/hooks/checkRequired.js

@@ -105,13 +105,13 @@ export async function checkRequired({ pageForm, productInfoList } = {}) {
       return
     }
   } else {
-    if (pageForm.contract_archive_status === 1) {
-      // 已归档
-      if (!pageForm.contract_archive_time) {
-        showToast('请选择归档时间')
-        return false
-      }
-    }
+    // if (pageForm.contract_archive_status === 1) {
+    //   // 已归档
+    //   if (!pageForm.contract_archive_time) {
+    //     showToast('请选择归档时间')
+    //     return false
+    //   }
+    // }
   }
 
   // 回款计划校验