Quellcode durchsuchen

营销-SPD-商机:处理流程页签排版问题;处理联系人编码自动生成问题;处理关单、赢丢单后不能进行任何操作问题;

001295 vor 2 Jahren
Ursprung
Commit
e3f1355b47

Datei-Diff unterdrückt, da er zu groß ist
+ 436 - 422
src/views/business/spd/bo/basic/details.vue


+ 1 - 1
src/views/business/spd/bo/basic/index.vue

@@ -197,7 +197,7 @@
 
     <!-- 添加或修改商机基础信息对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px" :disabled="this.form.winningState != 0">
         <el-divider content-position="left">
           <dev style="width: 50px; height: 40px; font-size: 18px">基本信息</dev>
         </el-divider>

+ 5 - 3
src/views/business/spd/bo/behavior/AA.vue

@@ -3,6 +3,7 @@
     <el-upload
       multiple
       :action="uploadImgUrl"
+      :auto-upload="false"
       list-type="picture-card"
       :on-success="handleUploadSuccess"
       :before-upload="handleBeforeUpload"
@@ -19,7 +20,7 @@
     >
       <i class="el-icon-plus"></i>
     </el-upload>
-
+    
     <!-- 上传提示 -->
     <div class="el-upload__tip" slot="tip" v-if="showTip">
       请上传
@@ -77,11 +78,11 @@ export default {
       dialogVisible: false,
       hideUpload: false,
       baseUrl: process.env.VUE_APP_BASE_API,
-      uploadImgUrl: process.env.VUE_APP_BASE_API + "/mk/bo/behaviorA", // 上传的图片服务器地址
+      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
       headers: {
         Authorization: "Bearer " + getToken(),
       },
-      fileList: ['https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg']
+      fileList: []
     };
   },
   watch: {
@@ -223,3 +224,4 @@ export default {
     transform: translateY(0);
 }
 </style>
+

+ 11 - 208
src/views/business/spd/bo/behavior/behaviorList.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-row :gutter="10" class="mb8">
+    <el-row :gutter="10" class="mb8" v-if="this.source == 'BoDetails' ? this.bo.winningState == 0 ? true : false : true">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -74,7 +74,7 @@
       <el-table-column label="销售组织" align="center" prop="salesOrgName" v-if="source == 'Behavior'"/>
       <el-table-column label="部门" align="center" prop="deptName" v-if="source == 'Behavior'"/>
 
-      <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" v-if="this.source == 'BoDetails' ? this.bo.winningState == 0 ? true : false : true">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -233,76 +233,7 @@
         <el-divider content-position="left">
           <dev style="width: 50px; height: 40px; font-size: 18px">照片信息</dev>
         </el-divider>
-        <AA :value = "fileList"/>
-        <!-- <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button
-              type="info"
-              plain
-              icon="el-icon-upload2"
-              size="small"
-              @click="handleImport(`P`)"
-              >上传</el-button
-            >
-          </el-col>
-        </el-row>
-        <el-image
-          style="width: 100px; height: 100px"
-          :src="url"
-          :preview-src-list="srcList">
-        </el-image> -->
-        <!-- <el-divider content-position="left">附件</el-divider>
-          <el-row :gutter="10" class="mb8">
-            <el-col :span="1.5">
-              <el-button
-                type="info"
-                plain
-                icon="el-icon-upload2"
-                size="mini"
-                @click="handleImport(`A`)"
-                >上传</el-button
-              >
-            </el-col>
-          </el-row>
-          <el-table v-loading="loading" :data="form.accessory">
-            <el-table-column type="selection" width="55" align="center" />
-            <el-table-column
-              type="index"
-              label="序号"
-              width="55"
-              align="center"
-            />
-            <el-table-column label="名称" align="center" prop="fileName" />
-            <el-table-column
-              label="操作"
-              align="center"
-              class-name="small-padding fixed-width"
-            >
-              <template slot-scope="scope">
-                <el-row>
-                  <el-col :span="1.5">
-                    <el-button
-                      size="mini"
-                      type="text"
-                      icon="el-icon-delete"
-                      @click="deleteBehaviorA('list', scope.row)"
-                      >删除</el-button
-                    >
-                  </el-col>
-                  <el-col :span="1.5">
-                    <el-button
-                      type="warning"
-                      plain
-                      icon="el-icon-download"
-                      size="mini"
-                      @click="exportAccessory(scope.row.url, scope.row.Name)"
-                      >下载</el-button
-                    >
-                  </el-col>
-                </el-row>
-              </template>
-            </el-table-column>
-          </el-table> -->
+        <AA :limit="2" v-model="fileList"></AA>
         <div class="md-auditInfo">
           <el-divider content-position="left">
             <dev style="width: 50px; height: 40px; font-size: 18px">其它信息</dev>
@@ -338,33 +269,6 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-    <!-- 上传对话框 -->
-    <el-dialog
-      :title="upload.title"
-      :visible.sync="upload.open"
-      width="400px"
-      append-to-body
-    >
-      <el-upload
-        ref="upload"
-        :limit="1"
-        accept=".xlsx, .xls,.doc,docx"
-        :headers="upload.headers"
-        :action="1"
-        :disabled="upload.isUploading"
-        :on-progress="handleFileUploadProgress"
-        :on-success="handleFileSuccess"
-        :auto-upload="false"
-        drag
-      >
-        <i class="el-icon-upload"></i>
-        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
-      </el-upload>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitFileForm">确 定</el-button>
-        <el-button @click="upload.open = false">取 消</el-button>
-      </div>
-    </el-dialog>
     <!-- 联系人参照 -->
     <ContactRef
       ref="contactSelect"
@@ -383,11 +287,8 @@
 
 <script>
 import { listBehavior, getBehavior, delBehavior, addBehavior, updateBehavior } from "@/api/business/spd/bo/behavior";
-import {delBehaviorA} from "@/api/business/spd/bo/behaviorA";
 import ContactRef from '@/views/business/spd/bo/refer/contact/index.vue';
 import SaleaeaRef from '@/views/business/spd/bo/refer/saleaea/index.vue';
-import axios from "axios";
-import { getToken } from "@/utils/auth";
 import AA from '@/views/business/spd/bo/behavior/AA.vue';
 
 export default {
@@ -397,8 +298,7 @@ export default {
   components: {ContactRef,SaleaeaRef,AA},
   data() {
     return {
-      fileList: [
-      ],
+      fileList: [],
       // 遮罩层
       loading: true,
       // 选中数组
@@ -462,28 +362,6 @@ export default {
           { required: true, message: "拜访效果不能为空", trigger: "blur" }
         ],
       },
-      // 上传参数
-      upload: {
-        // 是否显示弹出层
-        open: false,
-        // 弹出层标题
-        title: "",
-        // 是否禁用上传
-        isUploading: false,
-        // 上传类型
-        type: "",
-        // 设置上传的请求头部
-        headers: { Authorization: "Bearer " + getToken() },
-        // 上传的地址
-        url: process.env.VUE_APP_BASE_API + "/mk/bo/behaviorA",
-      },
-      url: [
-        'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
-      ],
-      srcList: [
-        'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
-        'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
-      ],
     };
   },
   created() {
@@ -500,6 +378,12 @@ export default {
     this.getList();
   },
   methods: {
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        console.log(this.form.photos.split(','));
+      });
+    },
     /** 查询行动列表 */
     getList() {
       this.loading = true;
@@ -607,6 +491,7 @@ export default {
         this.open = true;
         this.title = "修改行动";
       });
+      this.getPictureList(); 
     },
     /** 提交按钮 */
     submitForm() {
@@ -638,88 +523,6 @@ export default {
         this.$modal.msgSuccess("删除成功");
       }).catch(() => {});
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('system/behavior/export', {
-        ...this.queryParams
-      }, `behavior_${new Date().getTime()}.xlsx`)
-    },
-    /** 上传按钮操作 */
-    handleImport(type) {
-      this.upload.open = true;
-      this.upload.type = type;
-      console.log('this.upload',this.upload);
-    },
-    // 提交上传文件
-    submitFileForm() {
-      this.$refs.upload.submit();
-    },
-    // 文件上传中处理
-    handleFileUploadProgress(event, file, fileList) {
-      this.upload.isUploading = true;
-    },
-    // 文件上传成功处理
-    handleFileSuccess(response, file, fileList) {
-      this.upload.open = false;
-      this.upload.isUploading = false;
-      this.$refs.upload.clearFiles();
-      this.$alert(
-        "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
-          response.msg +
-          "</div>",
-        "上传结果",
-        { dangerouslyUseHTMLString: true }
-      );
-    },
-    //下载附件
-    exportBehaviorA(urlId, fileName) {
-      let resUrl =
-        "https://test-sy.derom.com/document-center/fastdfs/download?id=" +
-        urlId;
-      axios
-        .create({
-          timeout: 3000,
-          responseType: "blob", // 响应类型, 将响应数据转换为二进制数据
-          headers: {},
-        })
-        .get(resUrl)
-        .then((res) => {
-          console.log(res);
-          // 地址转换
-          let url = window.URL.createObjectURL(res.data);
-          const a = document.createElement("a");
-          a.setAttribute("href", url);
-          a.setAttribute("download", fileName);
-          document.body.append(a);
-          a.click();
-          document.body.removeChild(a);
-        });
-    },
-    //删除附件
-    deleteBehaviorA(row) {
-      this.$modal
-        .confirm("是否确认删除?")
-        .then(function () {})
-        .then(() => {
-          delBehaviorA(row.id).then((res) => {
-            if (res.code == 200) {
-              if (this.upload.flag == "list") {
-                listAccessory(this.form.basic.id).then((response) => {
-                  this.form.accessory = response.rows;
-                });
-              } else {
-                getBasic(this.$route.params.id).then((response) => {
-                  this.form.basic = response.data;
-                });
-              }
-              this.$modal.msgSuccess("删除成功");
-            } else {
-              this.$modal.msgSuccess("删除失败");
-            }
-          });
-        })
-        .catch(() => {});
-    },
     // 触发联系人参照列表
     refereContact() {
       this.$refs.contactSelect.init()

+ 27 - 7
src/views/business/spd/bo/contact/contactList.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-row :gutter="10" class="mb8">
+    <el-row :gutter="10" class="mb8" v-if="this.source == 'BoDetails' ? this.bo.winningState == 0 ? true : false : true">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -102,7 +102,7 @@
       <el-table-column label="联系人分类" align="center" prop="contactClassification" />
 
       <el-table-column label="所属客户编码" align="center" prop="customerCode" /> -->
-      <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" v-if="this.source == 'BoDetails' ? this.bo.winningState == 0 ? true : false : true">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -223,8 +223,10 @@
         </el-divider>
         <el-row>
           <el-col :span="8">
-            <el-form-item label="上级联系人" prop="superiorContact">
-              <el-input v-model="form.superiorContact" placeholder="请输入上级联系人" />
+            <el-form-item label="上级联系人" prop="superiorContactName">
+              <el-input v-model="form.superiorContactName" >
+                <el-button slot="append" icon="el-icon-more" @click="refereContact"></el-button>
+              </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -391,6 +393,13 @@
       @doSubmit="customerSelectionsToInput"
       :single="true"
     />
+    <!-- 联系人参照 -->
+    <ContactRef
+      ref="contactSelect"
+      @doSubmit="contactSelectionsToInput"
+      :single="true"
+      :outerQueryParams="this.bo"
+    />
   </div>
 </template>
 
@@ -399,12 +408,13 @@ import { listContact, getContact, delContact, addContact, updateContact } from "
 import CustomerRef from '@/views/business/spd/bo/refer/customer/index.vue';
 import EducationList from '../education/educationList.vue';
 import RelationshipList from '../relationship/relationshipList.vue';
+import ContactRef from '@/views/business/spd/bo/refer/contact/index.vue';
 
 export default {
   name: "contactList",
   props:["source","bo"],
   dicts: ['sys_user_sex','mk_bo_contact_state','mk_bo_section','mk_bo_position','mk_bo_job_title','mk_bo_power','mk_bo_support','mk_bo_field_expertise','sys_yes_no','mk_bo_contact_type'],
-  components: {CustomerRef,EducationList,RelationshipList},
+  components: {CustomerRef,ContactRef,EducationList,RelationshipList},
   data() {
     return {
       // 遮罩层
@@ -536,6 +546,7 @@ export default {
         position: null,
         section: null,
         superiorContact: null,
+        superiorContactName: null,
         state: null,
         hobby: null,
         birthplace: null,
@@ -577,7 +588,7 @@ export default {
       }
       this.form.state = '1';
       this.open = true;
-      this.title = "添加联系人管理";
+      this.title = "添加联系人";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -587,7 +598,7 @@ export default {
       getContact(id).then(response => {
         this.form = response.data;
         this.open = true;
-        this.title = "修改联系人管理";
+        this.title = "修改联系人";
         this.timer = new Date().getTime();
       });
     },
@@ -636,6 +647,15 @@ export default {
       this.form.customer = selections[0].id;
       this.form.customerName = selections[0].name;
     },
+    // 触发联系人参照列表
+    refereContact() {
+      this.$refs.contactSelect.init()
+    },
+    //联系人参照列表选择后
+    contactSelectionsToInput (selections) {
+      this.form.superiorContact = selections[0].id;
+      this.form.superiorContactName = selections[0].name;
+    },
   }
 };
 </script>

+ 2 - 4
src/views/business/spd/bo/task/taskList.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-row :gutter="10" class="mb8">
+    <el-row :gutter="10" class="mb8" v-if="this.source == 'BoDetails' ? this.bo.winningState == 0 ? true : false : true">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -65,7 +65,7 @@
         </template>
       </el-table-column>
       <el-table-column label="任务内容" align="center" prop="content" />
-      <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" v-if="this.source == 'BoDetails' ? this.bo.winningState == 0 ? true : false : true">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -539,10 +539,8 @@ export default {
     },
     //联系人参照列表选择后
     contactSelectionsToInput (selections) {
-      console.log('selections',selections);
       this.form.linkman = selections[0].id;
       this.form.linkmanName = selections[0].name;
-      console.log('this.form',this.form);
     },
     // 触发组织参照列表
     refereOrg() {

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.