Преглед изворни кода

Merge branch 'dev' of git.echepei.com:caojunjie/Smart_platform_ui into dev

caojunjie пре 3 година
родитељ
комит
715971dc8c

+ 29 - 3
src/components/warehousKH/main.vue

@@ -1,8 +1,15 @@
 <template>
     <div style="display: flex;">
-        <el-select v-model="value" placeholder="请选择" filterable clearable>
-            <el-option v-for="item in corpList" :key="item.id" :label="item.cname" :value="item.id">
-            </el-option>
+        <el-select v-model="value" placeholder="请选择" filterable clearable @input="$emit('balabala', value)"
+            @change="getKeyId(value)" :disabled="disabled">
+            <template v-if="zhKey">
+                <el-option v-for="item in corpList" :key="item.id" :label="item.cname" :value="item.cname">
+                </el-option>
+            </template>
+            <template v-else>
+                <el-option v-for="item in corpList" :key="item.cname" :label="item.cname" :value="item.id">
+                </el-option>
+            </template>
         </el-select>
         <el-tooltip class="item" effect="dark" content="获取最新客户资料" placement="top-start">
             <el-button icon="el-icon-refresh" size="mini" v-if="label != 'shortName'" :disabled="disabled"
@@ -25,6 +32,11 @@ export default {
     props: {
         value: String,
         disabled: Boolean,
+        zhKey: Boolean
+    },
+    model: {
+        prop: "value",
+        event: "balabala"
     },
     created() {
         this.getCorpList()
@@ -38,6 +50,20 @@ export default {
         },
         refreshData() {
             this.getCorpList()
+        },
+        getKeyId(row) {
+            if (this.zhKey) {
+                if (row) {
+                    this.corpList.forEach(e => {
+                        if (row == e.cname) {
+                            this.$emit('getCropId', e.id)
+                        }
+                    })
+                } else {
+                    this.$emit('getCropId', null)
+                }
+            }
+
         }
     },
     watch: {

+ 38 - 84
src/page/index/tags.vue

@@ -1,11 +1,8 @@
 <template>
   <div class="avue-tags" v-if="showTag">
     <!-- tag盒子 -->
-    <div
-        v-if="contextmenuFlag"
-        class="avue-tags__contentmenu"
-        :style="{ left: contentmenuX + 'px', top: contentmenuY + 'px' }"
-    >
+    <div v-if="contextmenuFlag" class="avue-tags__contentmenu"
+      :style="{ left: contentmenuX + 'px', top: contentmenuY + 'px' }">
       <div class="item" @click="clearCacheTags">
         {{ $t("tagsView.clearCache") }}
       </div>
@@ -17,40 +14,17 @@
       </div>
     </div>
     <div style="display:flex;align-items: center;">
-      <div
-          class="avue-breadcrumb"
-          :class="[{ 'avue-breadcrumb--active': isCollapse }]"
-          v-if="showCollapse"
-      >
+      <div class="avue-breadcrumb" :class="[{ 'avue-breadcrumb--active': isCollapse }]" v-if="showCollapse">
         <i class="icon-navicon" @click="setCollapse"></i>
       </div>
-      <div
-          class="avue-tags__box"
-          :class="{ 'avue-tags__box--close': !website.isFirstPage }"
-      >
-        <el-tabs
-            v-model="active"
-            type="card"
-            @contextmenu.native="handleContextmenu"
-            :closable="tagLen !== 1"
-            @tab-click="openTag"
-            @edit="menuTag"
-        >
-          <el-tab-pane
-              :key="item.value"
-              v-for="item in tagList"
-              :label="generateTitle(item)"
-              :name="item.value"
-          >
+      <div class="avue-tags__box" :class="{ 'avue-tags__box--close': !website.isFirstPage }">
+        <el-tabs v-model="active" type="card" @contextmenu.native="handleContextmenu" :closable="tagLen !== 1"
+          @tab-click="openTag" @edit="menuTag">
+          <el-tab-pane :key="item.value" v-for="item in tagList" :label="generateTitle(item)" :name="item.value">
           </el-tab-pane>
         </el-tabs>
         <div class="avue-tags__menu avue-tags-top-foot">
-          <el-tooltip
-              v-if="showColor"
-              effect="dark"
-              :content="$t('navbar.color')"
-              placement="bottom"
-          >
+          <el-tooltip v-if="showColor" effect="dark" :content="$t('navbar.color')" placement="bottom">
             <top-color></top-color>
           </el-tooltip>
           <!-- <el-tooltip
@@ -80,44 +54,26 @@
             <top-theme></top-theme>
           </div>
         </el-tooltip> -->
-          <el-tooltip
-              effect="dark"
-              :content="$t('navbar.notice')"
-              placement="bottom"
-              style="margin-right:12px"
-          >
+          <el-tooltip effect="dark" :content="$t('navbar.notice')" placement="bottom" style="margin-right:12px">
             <div class="top-bar__item--show">
               <top-notice></top-notice>
             </div>
           </el-tooltip>
-          <el-tooltip
-              effect="dark"
-              :content="$t('navbar.language')"
-              placement="bottom"
-          >
+          <el-tooltip effect="dark" :content="$t('navbar.language')" placement="bottom">
             <div class="top-bar__item--show">
               <top-lang></top-lang>
             </div>
           </el-tooltip>
-          <el-tooltip
-              v-if="showFullScren"
-              effect="dark"
-              :content="
-              isFullScren ? $t('navbar.screenfullF') : $t('navbar.screenfull')
-            "
-              placement="bottom"
-          >
+          <el-tooltip v-if="showFullScren" effect="dark" :content="
+            isFullScren ? $t('navbar.screenfullF') : $t('navbar.screenfull')
+          " placement="bottom">
             <div>
-              <i
-                  :class="isFullScren ? 'icon-tuichuquanping' : 'icon-quanping'"
-                  @click="handleScreen"
-              ></i>
+              <i :class="isFullScren ? 'icon-tuichuquanping' : 'icon-quanping'" @click="handleScreen"></i>
             </div>
           </el-tooltip>
           <el-dropdown>
             <div class="avue-tags-more">
-              <span style="margin-right:2px">{{ $t("tagsView.menu") }}</span
-              ><i class="tradingIcon icon-more"></i>
+              <span style="margin-right:2px">{{ $t("tagsView.menu") }}</span><i class="tradingIcon icon-more"></i>
               <!-- <el-button size="mini" icon="el-icon-more" circle></el-button> -->
             </div>
             <!-- <el-button type="primary" size="mini">
@@ -130,41 +86,37 @@
             <el-dropdown-menu slot="dropdown">
               <el-dropdown-item @click.native="$parent.isSearch = true">{{
                   $t("tagsView.search")
-                }}
+              }}
               </el-dropdown-item>
               <el-dropdown-item @click.native="openBug">{{
                   $t("navbar.bug")
-                }}
+              }}
               </el-dropdown-item>
               <el-dropdown-item @click.native="openLock">{{
                   $t("navbar.lock")
-                }}
+              }}
               </el-dropdown-item>
               <el-dropdown-item @click.native="openTheme">{{
                   $t("navbar.theme")
-                }}
+              }}
               </el-dropdown-item>
               <el-dropdown-item @click.native="closeOthersTags">{{
                   $t("tagsView.closeOthers")
-                }}
+              }}
               </el-dropdown-item>
               <el-dropdown-item @click.native="closeAllTags">{{
                   $t("tagsView.closeAll")
-                }}
+              }}
               </el-dropdown-item>
               <el-dropdown-item @click.native="clearCacheTags">{{
                   $t("tagsView.clearCache")
-                }}
+              }}
               </el-dropdown-item>
             </el-dropdown-menu>
           </el-dropdown>
           <el-dropdown>
             <span class="el-dropdown-link">
-              <img
-                  class="top-bar__img"
-                  :src="userInfo.avatar"
-                  style="margin-left:8px"
-              />
+              <img class="top-bar__img" :src="userInfo.avatar" style="margin-left:8px" />
               <i class="el-icon-arrow-down el-icon--right"></i>
             </span>
             <el-dropdown-menu slot="dropdown">
@@ -174,11 +126,10 @@
               <el-dropdown-item>
                 <router-link to="/info/index">{{
                     $t("navbar.userinfo")
-                  }}
+                }}
                 </router-link>
               </el-dropdown-item>
-              <el-dropdown-item @click.native="logout" divided
-              >{{ $t("navbar.logOut") }}
+              <el-dropdown-item @click.native="logout" divided>{{ $t("navbar.logOut") }}
               </el-dropdown-item>
             </el-dropdown-menu>
           </el-dropdown>
@@ -188,10 +139,10 @@
   </div>
 </template>
 <script>
-import {resetRouter} from "@/router/router";
-import {fullscreenToggel, listenfullscreen} from "@/util/util";
-import {mapGetters, mapState} from "vuex";
-import {clearCache} from "@/api/user";
+import { resetRouter } from "@/router/router";
+import { fullscreenToggel, listenfullscreen } from "@/util/util";
+import { mapGetters, mapState } from "vuex";
+import { clearCache } from "@/api/user";
 import topColor from "./top/top-color.vue";
 import topLock from "./top/top-lock";
 import topTheme from "./top/top-theme";
@@ -268,7 +219,7 @@ export default {
         this.$store.commit("DEL_ALL_DETAIL");
         this.$store.dispatch("LogOut").then(() => {
           resetRouter();
-          this.$router.push({path: "/login"});
+          this.$router.push({ path: "/login" });
         });
       });
     },
@@ -277,8 +228,8 @@ export default {
     },
     generateTitle(item) {
       return this.$router.$avueRouter.generateTitle(
-          item.label,
-          (item.meta || {}).i18n
+        item.label,
+        (item.meta || {}).i18n
       );
     },
     watchContextmenu(event) {
@@ -312,7 +263,7 @@ export default {
     },
     menuTag(value, action) {
       if (action === "remove") {
-        let {tag, key} = this.findTag(value);
+        let { tag, key } = this.findTag(value);
         if (tag.label == "报价(E)") {
           this.$store.commit("OUT_BJ_STATUS");
         }
@@ -388,6 +339,9 @@ export default {
         if (tag.label == "销售订单(D)") {
           this.$store.commit('JXSSALE_OUT_DETAIL');
         }
+        if (tag.label == "销售机会") {
+          this.$store.commit('XSJH_OUT_DETAIL');
+        }
         this.$store.commit("DEL_TAG", tag);
         if (tag.value === this.tag.value) {
           tag = this.tagList[key === 0 ? key : key - 1]; //如果关闭本标签让前推一个
@@ -408,7 +362,7 @@ export default {
         tag = item;
       }
       this.$router.push({
-        path: this.$router.$avueRouter.getPath({name: tag.label,src: tag.value},tag.meta),
+        path: this.$router.$avueRouter.getPath({ name: tag.label, src: tag.value }, tag.meta),
         query: tag.query
       });
 
@@ -444,7 +398,7 @@ export default {
           key = index;
         }
       });
-      return {tag: tag, key: key};
+      return { tag: tag, key: key };
     },
     closeAllTags() {
       this.contextmenuFlag = false;

+ 1 - 0
src/store/getters.js

@@ -33,6 +33,7 @@ const getters = {
   payStatus: state => state.ifdetail.payStatus,
   outtaskStatus: state => state.ifdetail.outtaskStatus,
   pqStatus: state => state.ifdetail.pqStatus,
+  xsjhStatus: state => state.ifdetail.xsjhStatus,
   paySettle: state => state.ifdetail.paySettle,
   receiptSettle: state => state.ifdetail.receiptSettle,
   mainItemStatus: state => state.ifdetail.mainItemStatus,

+ 12 - 0
src/store/modules/ifdetail.js

@@ -25,6 +25,7 @@ const ifdetail = {
     handOverStatus: false, // 交接单
     reimbursementStatus: false, // 报销
     dealerSaleStatus: false, //经销商销售
+    xsjhStatus: false,
   },
   actions: {},
   mutations: {
@@ -105,6 +106,14 @@ const ifdetail = {
     PQ_OUT_DETAIL(state) {
       state.pqStatus = false;
     },
+    //进入销售机会
+    XSJH_IN_DETAIL(state) {
+      state.xsjhStatus = true;
+    },
+    //退出销售机会
+    XSJH_OUT_DETAIL(state) {
+      state.xsjhStatus = false;
+    },
     // 进入付款结算
     PAY_IN_DETAIL(state) {
       state.paySettle = true;
@@ -258,6 +267,9 @@ const ifdetail = {
       if (tag.label == '付费申请') {
         state.pqStatus = true;
       }
+      if (tag.label == '销售机会') {
+        state.xsjhStatus = true;
+      }
       if (tag.label == '付款结算') {
         state.paySettle = true;
       }

+ 39 - 98
src/views/approveData/index.vue

@@ -1,27 +1,11 @@
 <template>
   <basic-container>
-    <avue-crud
-      :option="option"
-      :data="dataList"
-      ref="crud"
-      v-model="form"
-      :page.sync="page"
-      :search.sync="search"
-      :table-loading="loading"
-      :cell-style="cellStyle"
-      @search-change="searchChange"
-      @search-reset="searchReset"
-      @selection-change="selectionChange"
-      @current-change="currentChange"
-      @size-change="sizeChange"
-      @refresh-change="refreshChange"
-      @on-load="onLoad"
-    >
+    <avue-crud :option="option" :data="dataList" ref="crud" v-model="form" :page.sync="page" :search.sync="search"
+      :table-loading="loading" :cell-style="cellStyle" @search-change="searchChange" @search-reset="searchReset"
+      @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+      @refresh-change="refreshChange" @on-load="onLoad">
       <template slot="corpIdSearch">
-        <select-component
-          v-model="search.corpId"
-          :configuration="configuration"
-        ></select-component>
+        <select-component v-model="search.corpId" :configuration="configuration"></select-component>
       </template>
       <template slot-scope="scope" slot="checkType">
         <span v-if="scope.row.checkType == 'ffsq'">付费申请</span>
@@ -39,75 +23,31 @@
         <span v-else-if="scope.row.checkType == 'jjd'">交接单审批</span>
         <span v-else-if="scope.row.checkType == 'xstpqh'">销售特批请核</span>
         <span v-else-if="scope.row.checkType == 'dldd'">代理订单请核</span>
+        <span v-else-if="scope.row.checkType == 'xsjh'">销售机会请核</span>
       </template>
       <template slot="menuLeft">
-        <el-button
-          size="small"
-          type="success"
-          :disabled="selectionList.length == 0"
-          @click.stop="batchCheck"
-          >批量审批
+        <el-button size="small" type="success" :disabled="selectionList.length == 0" @click.stop="batchCheck">批量审批
         </el-button>
       </template>
       <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          size="small"
-          :disabled="scope.row.operate"
-          @click.stop="jumpPage(scope.row)"
-          >查看
+        <el-button type="text" size="small" :disabled="scope.row.operate" @click.stop="jumpPage(scope.row)">查看
         </el-button>
-        <el-button
-          type="text"
-          size="small"
-          :disabled="scope.row.auditStatus != 'S'"
-          @click.stop="openCheck(scope.row)"
-          >审批
+        <el-button type="text" size="small" :disabled="scope.row.auditStatus != 'S'" @click.stop="openCheck(scope.row)">
+          审批
         </el-button>
-        <el-button
-          type="text"
-          size="small"
-          @click.stop="openCheckSchedule(scope.row)"
-          >审批流程
+        <el-button type="text" size="small" @click.stop="openCheckSchedule(scope.row)">审批流程
         </el-button>
       </template>
     </avue-crud>
-    <el-dialog
-      append-to-body
-      title="审批进度"
-      class="el-dialogDeep"
-      :visible.sync="checkScheduleDialog"
-      width="40%"
-      :close-on-click-modal="false"
-      :destroy-on-close="true"
-      :close-on-press-escape="false"
-      v-dialog-drag
-    >
-      <check-schedule
-        :checkId="checkId"
-        :batchNo="batchNo"
-        @choceScheduleFun="choceScheduleFun"
-      >
+    <el-dialog append-to-body title="审批进度" class="el-dialogDeep" :visible.sync="checkScheduleDialog" width="40%"
+      :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
+      <check-schedule :checkId="checkId" :batchNo="batchNo" @choceScheduleFun="choceScheduleFun">
       </check-schedule>
     </el-dialog>
-    <el-dialog
-      append-to-body
-      title="审批"
-      class="el-dialogDeep"
-      :visible.sync="checkDialog"
-      width="50%"
-      :close-on-click-modal="false"
-      :destroy-on-close="true"
-      :close-on-press-escape="false"
-      v-dialog-drag
-    >
-      <check
-        :checkData="checkData"
-        :checkDetail="true"
-        :idList="idList"
-        @operationType="operationType"
-        @choceCheckFun="choceCheckFun"
-      >
+    <el-dialog append-to-body title="审批" class="el-dialogDeep" :visible.sync="checkDialog" width="50%"
+      :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
+      <check :checkData="checkData" :checkDetail="true" :idList="idList" @operationType="operationType"
+        @choceCheckFun="choceCheckFun">
       </check>
     </el-dialog>
   </basic-container>
@@ -120,7 +60,7 @@ import { getList, approvePass } from "@/api/approveData/main";
 import checkSchedule from "@/components/check/checkSchedule";
 import check from "@/components/check/check";
 import { getUserInfo } from "@/api/system/user";
-import {gainUser} from "@/api/basicData/customerInquiry";
+import { gainUser } from "@/api/basicData/customerInquiry";
 let previousRouterName = "";
 let checkRefresh = "";
 export default {
@@ -165,23 +105,23 @@ export default {
   },
   created() {
     getUserInfo().then(res => {
-      if (res.data.data.billType==1) {
+      if (res.data.data.billType == 1) {
         this.option = option2;
       } else {
         this.option = option;
       }
       this.getWorkDicts("auditStatus").then(res => {
-      this.findObject(this.option.column, "auditStatus").dicData =
-        res.data.data;
+        this.findObject(this.option.column, "auditStatus").dicData =
+          res.data.data;
       });
       gainUser().then(res => {
         this.findObject(this.option.column, "sendUserId").dicData =
-            res.data.data;
+          res.data.data;
       });
       this.getWorkDicts("Approval_business_type").then(res => {
         console.log(res)
-      this.findObject(this.option.column, "processType").dicData =
-        res.data.data;
+        this.findObject(this.option.column, "processType").dicData =
+          res.data.data;
       });
     });
   },
@@ -216,15 +156,15 @@ export default {
         if (eval("(" + row.pageStatus + ")")) {
           this.$alert(
             "" +
-              row.pageLabel +
-              "页面已存在,请关闭" +
-              row.pageLabel +
-              "页面再进行操作",
+            row.pageLabel +
+            "页面已存在,请关闭" +
+            row.pageLabel +
+            "页面再进行操作",
             "温馨提示",
             {
               confirmButtonText: "确定",
               type: "warning",
-              callback: action => {}
+              callback: action => { }
             }
           );
         } else {
@@ -268,7 +208,7 @@ export default {
       this.checkScheduleDialog = false;
     },
     //新单打开
-    addReceipt(row) {},
+    addReceipt(row) { },
     //编辑打开
     editOpen(row, status) {
       this.detailData = {
@@ -310,17 +250,17 @@ export default {
     onLoad(page, params) {
       this.loading = true;
       params = this.paramsAdjustment(params);
-      if (params.sendTime){
+      if (params.sendTime) {
         params.applybegintime = params.sendTime[0]
         params.applyendtime = params.sendTime[1]
         delete params.sendTime
       }
       getList(page.currentPage, page.pageSize, params).then(res => {
-          this.dataList = res.data.data.records;
-          this.page.total = res.data.data.total;
-        }).finally(() => {
-          this.loading = false;
-        });
+        this.dataList = res.data.data.records;
+        this.page.total = res.data.data.total;
+      }).finally(() => {
+        this.loading = false;
+      });
     },
     cellStyle() {
       return "padding:0;height:40px;";
@@ -329,4 +269,5 @@ export default {
 };
 </script>
 
-<style scoped></style>
+<style scoped>
+</style>

+ 1 - 0
src/views/purchase/contract/detailsPage.vue

@@ -335,6 +335,7 @@
           feeUrl=""
           :corpId="form.corpId"
           :billNoList="billNoList"
+          :tabShow="3"
         />
         <upload-file
           ref="uploadFile"

+ 1 - 0
src/views/salesManagement/salesContract/detailsPage.vue

@@ -335,6 +335,7 @@
           :optionType="'JK'"
           feeUrl=""
           :corpId="form.corpId"
+          :tabShow="2"
         />
         <upload-file
           ref="uploadFile"