Ver Fonte

推送搭销会员

wjj há 1 semana atrás
pai
commit
84ffe3f689

+ 10 - 0
src/api/doctor/doctor.js

@@ -150,3 +150,13 @@ export function listDoctorVO(query) {
     params: query
   })
 }
+
+
+
+export function doctorOptions() {
+  return request({
+    url: '/his/doctor/options',
+    method: 'get',
+
+  })
+}

+ 11 - 0
src/api/qw/doctorMemberSales.js

@@ -0,0 +1,11 @@
+import request from '@/utils/request'
+
+
+// 推送会员信息
+export function pushMember(data) {
+  return request({
+    url: '/qw/memberSales/push',
+    method: 'post',
+    data: data
+  })
+}

+ 75 - 1
src/views/qw/externalContact/myExternalContact.vue

@@ -365,6 +365,13 @@
           <span v-else>{{ scope.row.isReply }}</span>
         </template>
       </el-table-column>
+      <el-table-column label="是否已推送" align="center" prop="isPush" width="120px" >
+        <template slot-scope="scope">
+          <span v-if="scope.row.isPush === 1"><el-tag type="success">已推送</el-tag></span>
+          <span v-else-if="scope.row.isPush === 0 || scope.row.isPush == null"><el-tag type="info">未推送</el-tag></span>
+          <span v-else>{{ scope.row.isPush }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="状态" align="center" prop="status" width="120px" >
         <template slot-scope="scope">
           <dict-tag :options="statusOptions" :value="scope.row.status"/>
@@ -508,6 +515,14 @@
              >
              <span>制单</span>
           </el-button>
+          <el-button
+             size="mini"
+             type="text"
+             @click="handlePushMember(scope.row)"
+             v-if="scope.row.fsUserId && scope.row.isPush === 0"
+             >
+             <span>推送</span>
+          </el-button>
 
 <!--          <el-button v-if="scope.row.customerId"-->
 <!--            size="mini"-->
@@ -1111,6 +1126,20 @@
       </div>
     </el-dialog>
 
+    <el-dialog title="推送" v-if="pushMember.open" :visible.sync="pushMember.open" width="500px" append-to-body :close-on-click-modal ="false">
+      <el-form ref="pushMemberForm" :model="pushMemberForm" :rules="pushMemberRules" label-width="120px">
+        <el-form-item label="医生" prop="doctorId">
+            <el-select filterable  v-model="pushMemberForm.doctorId" placeholder="请选择医生" clearable size="small" >
+              <el-option v-for="item in doctorOptions" :label="item.dictLabel" :value="item.dictValue"/>
+            </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="pushMemberSubmit">确 定</el-button>
+        <el-button @click="pushMemberCancel">取 消</el-button>
+      </div>
+    </el-dialog>
+
 
   <el-dialog :title="userAddress.title" v-if="userAddress.open"  :visible.sync="userAddress.open" width="800px" append-to-body>
        <add-user-address ref="addUserAddress"   @addUserAddress="addUserAddress" />
@@ -1160,7 +1189,7 @@ import SopDialog from '@/views/course/sop/SopDialog.vue'
 import  selectUser  from "@/views/qw/externalContact/selectUser.vue";
 import { editTalk,editAllTalk } from "@/api/qw/externalContactInfo";
 import {createLinkUrl} from "@/api/course/sopCourseLink";
-import {docList} from "@/api/doctor/doctor";
+import {docList,doctorOptions} from "@/api/doctor/doctor";
 import PaginationMore from "../../../components/PaginationMore/index.vue";
 import Collection from './collection.vue';
 import {courseList, videoList} from "@/api/course/courseRedPacketLog";
@@ -1168,11 +1197,29 @@ import userDetails from '@/views/store/components/userDetails.vue';
 
 import addUserAddress from "@/views/store/components/addUserAddress";
 import addPatient from "@/views/store/components/addPatient";
+import { pushMember } from '@/api/qw/doctorMemberSales';
 export default {
   name: "ExternalContact",
   components:{PaginationMore, mycustomer,customerDetails,SopDialog,selectUser,info,Collection,userDetails,addUserAddress ,addPatient},
   data() {
     return {
+
+      //推送会员信息----
+      pushMember: {
+        open: false,
+      },
+      pushMemberRules: {
+        doctorId: [
+          { required: true, message: "医生信息不能为空" }
+        ],
+      },
+      pushMemberForm:{},
+
+      doctorOptions:[],
+      //----推送会员信息
+
+
+
       //销售制单-----
       //是否可以制单
       createOpen:0,
@@ -1507,10 +1554,37 @@ export default {
     });
     getCreateOpen().then(res => {
       this.createOpen = res.data;
+    });
+
+    doctorOptions().then(res => {
+      this.doctorOptions = res.rows;
     })
 
   },
   methods: {
+    pushMemberSubmit(){
+      this.$refs["pushMemberForm"].validate(valid => {
+        if (valid) {
+          pushMember(this.pushMemberForm).then(response => {
+            this.msgSuccess("推送成功");
+            this.pushMember.open = false;
+            this.pushMemberForm={
+              fsUserId:null,
+              exId:null,
+            };
+            this.getList();
+          });
+        }
+      });
+    },
+    pushMemberCancel(){
+
+    },
+    handlePushMember(row) {
+      this.pushMember.open = true;
+      this.pushMemberForm.fsUserId = row.fsUserId;
+      this.pushMemberForm.exId = row.id;
+    },
     packageMethod(query){
       if (query !== '') {
         packageList(query).then(response => {