Selaa lähdekoodia

Merge branch 'feature/v1.0.29' of https://jygit.jydev.jianyu360.cn/jianyu/web into feature/v1.0.29

zhangyuhan 1 vuosi sitten
vanhempi
commit
df2f5884f7

+ 96 - 42
apps/mobile/src/views/article/components/ActionInBidding.vue

@@ -1,44 +1,62 @@
 <template>
-  <van-popover
-    v-model="showPopover"
-    v-if="canJoinBid"
-    :actions="actions"
-    trigger="click"
-    :placement="placement"
-    :offset="calcOffset"
-    @select="onSelected"
-  >
-    <template #reference>
-      <TabActionItem
-        showText
-        :direction="direction"
-        @click.native.stop="changePopoverState"
-      >
-        <AppIcon
-          slot="icon"
-          name="canbiao"
-          color="#2ABED1"
-          svg
-          size="20"
-        ></AppIcon>
-        <template #text>参标管理</template>
-      </TabActionItem>
-      <van-popup
-        :style="popupHeight"
-        v-model="showBidStatus"
-        get-container="body"
-        round
-        position="bottom"
-      >
-        <bidStatusNode
-          @cancel-update="cancelUpdate"
-          @save-success="saveSuccess"
-          :project-cell-info="projectCellInfo"
-          @set-height="setHeight"
-        ></bidStatusNode>
-      </van-popup>
-    </template>
-  </van-popover>
+  <section class="action-in-bidding" v-if="canJoinBid">
+    <van-popover
+      v-if="showManageButton"
+      v-model="showPopover"
+      class="action-popover"
+      :actions="actions"
+      trigger="click"
+      :placement="placement"
+      :offset="calcOffset"
+      @select="onSelected"
+    >
+      <template #reference>
+        <TabActionItem
+          showText
+          :direction="direction"
+          @click.native.stop="changePopoverState"
+        >
+          <AppIcon
+            slot="icon"
+            name="canbiao"
+            color="#2ABED1"
+            svg
+            size="20"
+          ></AppIcon>
+          <template #text>参标管理</template>
+        </TabActionItem>
+      </template>
+    </van-popover>
+    <TabActionItem
+      showText
+      v-else
+      :direction="direction"
+      @click.native.stop="actionJoinAndStop"
+    >
+      <AppIcon
+        slot="icon"
+        name="canbiao"
+        :color="actions0.fontColor"
+        svg
+        size="20"
+      ></AppIcon>
+      <template #text>{{ actions0.text }}</template>
+    </TabActionItem>
+    <van-popup
+      :style="popupHeight"
+      v-model="showBidStatus"
+      get-container="body"
+      round
+      position="bottom"
+    >
+      <bidStatusNode
+        @cancel-update="cancelUpdate"
+        @save-success="saveSuccess"
+        :project-cell-info="projectCellInfo"
+        @set-height="setHeight"
+      ></bidStatusNode>
+    </van-popup>
+  </section>
 </template>
 <script>
 import TabActionItem from '@/views/article/ui/TabActionItem.vue'
@@ -102,17 +120,35 @@ export default {
     canJoinBid() {
       return this.actions.length > 0
     },
+    showManageButton() {
+      return this.actions.length > 1
+    },
     actions() {
       const { showStopParticipate, showParticipate } = this.canBiaoInfo
       const arr = []
       if (showParticipate) {
-        arr.push({ text: '参标', value: 'join' })
+        arr.push({
+          text: '参标',
+          fontColor: '#2abed1',
+          value: 'join'
+        })
       }
       if (showStopParticipate) {
-        arr.push({ text: '终止参标', value: 'stopJoin' })
+        arr.push({
+          text: '终止参标',
+          fontColor: '#fb483d',
+          value: 'stopJoin' 
+        })
       }
       return arr
     },
+    actions0() {
+      if (this.actions.length > 0) {
+        return this.actions[0]
+      } else {
+        return {}
+      }
+    },
     calcOffset() {
       if (this.placement === 'top-start') {
         return [5, 10]
@@ -127,6 +163,13 @@ export default {
     this.getDetailBidIsJoin()
   },
   methods: {
+    calcButtonInfo(list) {
+      if (Array.isArray(list) && list.length > 0) {
+        return list[0]
+      } else {
+        return ''
+      }
+    },
     onSelected(s) {
       if (s.value === 'join') {
         this.doBidding()
@@ -161,6 +204,13 @@ export default {
         this.syncValue()
       }
     },
+    actionJoinAndStop() {
+      if (this.actions0.value === 'join') {
+        this.doBidding()
+      } else if (this.actions0.value === 'stopJoin') {
+        this.cancelBidding()
+      }
+    },
     // 参标操作
     async doBidding() {
       if (this.beforeAction) {
@@ -249,4 +299,8 @@ export default {
     height: 100%;
   }
 }
+.action-popover {
+  display: inline-block;
+  width: 100%;
+}
 </style>

+ 1 - 1
apps/mobile/src/views/article/components/ContentBusinessRecommendBuyer.vue

@@ -1,6 +1,6 @@
 <template>
   <RecommendProjectCard
-    titleIcon="icon-flexible-selection"
+    titleIcon="icon-ent-info"
     v-if="recommendList.length > 0"
     :title="recommendMap.title"
     :totalNumber="recommendMap.total"

+ 1 - 1
apps/mobile/src/views/article/components/ContentBusinessRecommendWinner.vue

@@ -1,6 +1,6 @@
 <template>
   <RecommendProjectCard
-    titleIcon="icon-flexible-selection"
+    titleIcon="icon-ent-info"
     v-if="recommendList.length > 0"
     :title="recommendMap.title"
     :totalNumber="recommendMap.total"

+ 1 - 1
apps/mobile/src/views/article/components/ContentProjectTimeline.vue

@@ -41,7 +41,7 @@
 import ContentModuleCard from '@/views/article/ui/ContentModuleCard.vue'
 import QuickMonitor from '@/composables/quick-monitor/component/QuickMonitor.vue'
 import DownProjectReport from '@/views/article/components/DownProjectReport.vue'
-import ProjectTimeline from '@/views/article/ui/ContentProjectTimeline.vue'
+import ProjectTimeline from '@/views/article/ui/ContentProjectTimeLine.vue'
 import { TimeLine } from '@/ui'
 import { mapState, mapGetters } from 'vuex'
 import { replaceKeyword, openAppOrWxPage, formatMoney } from '@/utils'

+ 7 - 3
apps/mobile/src/views/article/components/ContentTouBiaoService.vue

@@ -89,6 +89,7 @@ export default {
   },
   computed: {
     ...mapState({
+      content: (state) => state.article.mainModel.content,
       services: (state) => state.article.expandModel.services,
     }),
     ...mapGetters('user', ['bigMemberPower']),
@@ -185,7 +186,11 @@ export default {
               await this.beforeLeavePage()
             }
             // 带入筛选条件?
-            openAppOrWxPage(LINKS.投标决策分析筛选页面)
+            openAppOrWxPage(LINKS.投标决策分析筛选页面, {
+              query: {
+                id: this.content.id
+              }
+            })
           }
           return
         }
@@ -196,8 +201,7 @@ export default {
       try {
         await this.$dialog.confirm({
           title: '功能使用引导',
-          message:
-            '您可前往剑鱼标讯APP或电脑端获取更多潜在客户,访问入口:工作台-商机-潜在客户挖掘',
+          message: '您可前往剑鱼标讯APP或电脑端使用“投标决策分析”服务',
           className: 'j-confirm-dialog',
           showCancelButton: true,
           confirmButtonText: '下载APP',

+ 1 - 0
apps/mobile/src/views/article/ui/ServiceIntroCard.vue

@@ -112,6 +112,7 @@ export default {
 .service-intro-header {
   padding: 8px 16px;
   min-height: 36px;
+  font-size: 14px;
   border-bottom: 1px solid rgba(0, 0, 0, 0.05);
   background: linear-gradient(270deg, #f1d090 0%, #fae7ca 100%);
 }