Forráskód Böngészése

fix: 服务商详情页入库审核新增页面

lirenjie 4 hónapja
szülő
commit
98b05072fa

+ 4 - 0
src/api/market-manage/service-provider-manage/index.js

@@ -3,4 +3,8 @@ import { getRequest, postRequest } from '/src/lib/axios';
 /* 获取活动详情 */
 export function getProviderDetail(id){
     return getRequest(`/supports/provider/query/${id}`)
+}
+/* 获取服务商入库审核信息 */
+export function getProviderAudit(providerId){
+    return getRequest(`/supports/provider/audit/query/${providerId}`)
 }

+ 85 - 0
src/views/market-manage/service-provider-manage/service-provider-detail/components/warehouse-audit/components/historical-performance.vue

@@ -0,0 +1,85 @@
+<template>
+    <bs-table v-bind="tableOptions">
+    </bs-table>
+</template>
+<script setup lang="jsx">
+import { ref, reactive } from "vue"
+import { useBsTable, BsTable } from '/@/components/BsUi/index.js';
+import { DISPLAY_STATE } from '/@/components/BsUi/constant.js';
+import { useRouter } from "vue-router";
+const router = useRouter()
+const {
+  tableOptions,
+  setTablePropsValue: setValue,
+  getTablePropsValue: getValue,
+} = useBsTable({
+  tableOptions: {
+    gridOptions: {
+      loading: false,
+      columns: [
+        {
+          type: 'seq',
+          width: 80,
+        },
+        {
+          field: 'interviewStatus',
+          title: '项目名称',
+          slots: {
+            default: ({ row }) => {
+              if (row.interviewStatus === 0) {
+                return <span style={{ color: '#ed8a94' }}>未面试</span>
+              } else if (row.interviewStatus === 1) {
+                return <span style={{ color: '#dc861f' }}>面试中</span>
+              } else if (row.interviewStatus === 2) {
+                return <span style={{ color: '#70b603' }}>面试完毕</span>
+              }
+            }
+          }
+        },
+        {
+          field: '',
+          title: '合同额(元)',
+        },
+        {
+          field: 'storeSource',
+          title: '项目所在地',
+        },
+        {
+          field: 'providerName',
+          title: '客户名称',
+        },
+        {
+          field: 'id',
+          title: '评标方式',
+        },
+        {
+          field: 'countryRegion',
+          title: '项目关系说明',
+        },
+      ],
+    },
+    searchConfig: {
+      enable: false,
+      fieldSpan: 4,
+      fields: [
+        
+      ],
+    },
+    pagerConfig: {
+      enable: false,
+      pageSize: 10,
+      pageNum: 1,
+      total: 0,
+      // isFixed: false
+    },
+    toolbarConfig: {
+        enable: false,
+    },
+    tableSearchBeforeBiz() {
+      const searchParams = getValue('searchConfig.data');
+      setValue('searchConfig.data', { ...searchParams, bizModel: 'INTERVIEW' });
+    },
+  },
+});
+</script>
+<style lang="scss" scoped></style>

+ 93 - 0
src/views/market-manage/service-provider-manage/service-provider-detail/components/warehouse-audit/components/projects-in-hand.vue

@@ -0,0 +1,93 @@
+<template>
+    <bs-table v-bind="tableOptions">
+    </bs-table>
+</template>
+<script setup lang="jsx">
+import { ref, reactive } from "vue"
+import { useBsTable, BsTable } from '/@/components/BsUi/index.js';
+import { DISPLAY_STATE } from '/@/components/BsUi/constant.js';
+import { useRouter } from "vue-router";
+const router = useRouter()
+const {
+  tableOptions,
+  setTablePropsValue: setValue,
+  getTablePropsValue: getValue,
+} = useBsTable({
+  tableOptions: {
+    gridOptions: {
+      loading: false,
+      columns: [
+        {
+          type: 'seq',
+          width: 80,
+        },
+        {
+          field: 'interviewStatus',
+          title: '项目名称',
+          slots: {
+            default: ({ row }) => {
+              if (row.interviewStatus === 0) {
+                return <span style={{ color: '#ed8a94' }}>未面试</span>
+              } else if (row.interviewStatus === 1) {
+                return <span style={{ color: '#dc861f' }}>面试中</span>
+              } else if (row.interviewStatus === 2) {
+                return <span style={{ color: '#70b603' }}>面试完毕</span>
+              }
+            }
+          }
+        },
+        {
+          field: '',
+          title: '概算(元)',
+        },
+        {
+          field: 'storeSource',
+          title: '项目所在地',
+        },
+        {
+          field: 'providerName',
+          title: '客户名称',
+        },
+        {
+          field: 'id',
+          title: '预估评标方式',
+        },
+        {
+          field: 'countryRegion',
+          title: '预估中标率(%)',
+        },
+        {
+          field: 'countryRegion',
+          title: '项目关系说明',
+        },
+        {
+          field: 'countryRegion',
+          title: '是否可引见客户',
+        },
+      ],
+    },
+    searchConfig: {
+      enable: false,
+      fieldSpan: 4,
+      fields: [
+        
+      ],
+    },
+    pagerConfig: {
+      enable: false,
+      pageSize: 10,
+      pageNum: 1,
+      total: 0,
+      // isFixed: false
+    },
+    toolbarConfig: {
+        enable: false,
+    },
+    tableSearchBeforeBiz() {
+      const searchParams = getValue('searchConfig.data');
+      setValue('searchConfig.data', { ...searchParams, bizModel: 'INTERVIEW' });
+    },
+  },
+});
+</script>
+<style lang="scss" scoped></style>

+ 226 - 0
src/views/market-manage/service-provider-manage/service-provider-detail/components/warehouse-audit/components/warehouse-audit-desc.vue

@@ -0,0 +1,226 @@
+<template>
+  <div class="warehouse-audit">
+    <bs-contents-wrapper>
+      <bs-descriptions :items="auditInfo" title="审核信息">
+        <template #historicalPerformance>
+          <slot name="historicalPerformance"></slot>
+        </template>
+        <template #projectsInHand>
+          <slot name="projectsInHand"></slot>
+        </template>
+
+      </bs-descriptions>
+      <bs-descriptions :items="interviewEvaluation" title="面试评价">
+      </bs-descriptions>
+      <bs-descriptions :items="referralEvaluation" title="引荐评价信息">
+      </bs-descriptions>
+      <bs-descriptions :items="warehousingDeposit" title="入库保证金">
+      </bs-descriptions>
+    </bs-contents-wrapper>
+  </div>
+</template>
+<script setup>
+import { ref, reactive } from "vue"
+import { BsDescriptions, BsContentsWrapper } from '/@/components/BsUi/index.js';
+const {descData} =defineProps(['descData'])
+/* 审核信息 */
+const auditInfo = ref([
+  {
+    label: '资源来源',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '是否有团队',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '团队人数',
+    value: '',
+    // noLabelMark:true,
+    extraProps: {
+    },
+  },
+  {
+    label: '负责项目',
+    valueSlot:'historicalPerformance',
+    directionColumn:true,
+    extraProps: {
+      span:3,
+      contentStyle:{
+        width:'100%'
+      },
+    },
+  },
+  {
+    label: '当前在手项目',
+    valueSlot:'projectsInHand',
+    directionColumn:true,
+    extraProps: {
+      span:3,
+      contentStyle:{
+        width:'100%'
+      },
+    },
+  },
+  {
+    label: '审核意见',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '审核日期',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '商务专员',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '信息审核及评价',
+    value: '',
+    extraProps: {
+      span:3
+    },
+  },
+  {
+    label: '预计面试时间',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '预计面试地址',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '预计面试官',
+    value: '',
+    extraProps: {
+    },
+  },
+])
+/* 面试评价 */
+const interviewEvaluation = ref([
+  {
+    label: '面试意见',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '预计引荐日期',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '预计面试官',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '引荐人',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '引荐人级别',
+    value: '',
+    extraProps: {
+      span:2
+    },
+  },
+  {
+    label: '评价说明',
+    value: '',
+    extraProps: {
+    },
+  },
+])
+/* 引荐评价信息 */
+const referralEvaluation = ref([
+  {
+    label: '评价意见',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '服务商等级',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '评价时间',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '归属营销经理',
+    value: '',
+    extraProps: {
+      span:3
+    },
+  },
+  {
+    label: '评价说明',
+    value: '',
+    extraProps: {
+      span:3
+    },
+  },
+])
+/* 入库保证金 */
+const warehousingDeposit = ref([
+  {
+    label: '需缴纳保证金',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '是否已缴纳保证金',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '保证金收款人',
+    value: '',
+    extraProps: {
+    },
+  },
+  {
+    label: '保证金收款账户',
+    value: '',
+    extraProps: {
+      span:3
+    },
+  },
+  {
+    label: '入库协议',
+    value: '',
+    extraProps: {
+      span:3
+    },
+  },
+])
+</script>
+<style lang="scss" scoped>
+
+</style>

+ 23 - 7
src/views/market-manage/service-provider-manage/service-provider-detail/components/warehouse-audit/index.vue

@@ -1,12 +1,28 @@
 <template>
   <div class="warehouse-audit">
-
+    <warehouseAuditDesc :descData="auditInfo" >
+      <template #historicalPerformance>
+        <historicalPerformance />
+      </template>
+      <template #projectsInHand>
+        <projectsInHand />
+      </template>
+    </warehouseAuditDesc>
   </div>
 </template>
-<script setup>
-import {ref,reactive} from "vue"
-
+<script setup lang="jsx">
+import { ref, reactive, onMounted } from "vue"
+import warehouseAuditDesc from "./components/warehouse-audit-desc.vue";
+import historicalPerformance from "./components/historical-performance.vue";
+import projectsInHand from "./components/projects-in-hand.vue";
+import { getProviderAudit } from "/@/api/market-manage/service-provider-manage";
+const auditInfo = ref()
+const {id} =defineProps(['id'])
+onMounted(()=>{
+  getProviderAudit(id).then((res)=>{
+    console.log(res.data);
+    auditInfo.value =res.data
+  })
+})
 </script>
-<style lang="scss" scoped>
-
-</style>
+<style lang="scss" scoped></style>