|
@@ -36,6 +36,16 @@
|
|
|
<div class="pull-right">{{ user.createTime }}</div>
|
|
<div class="pull-right">{{ user.createTime }}</div>
|
|
|
</li>
|
|
</li>
|
|
|
</ul>
|
|
</ul>
|
|
|
|
|
+ <div class="text-center" style="margin-top: 20px;" v-if="needWxTemplateMsg">
|
|
|
|
|
+ <div v-if="user.wechatBindStatus">
|
|
|
|
|
+ <el-tag type="success">已绑定服务号通知</el-tag>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-else>
|
|
|
|
|
+ <el-button type="primary" @click="openWechatBindDialog">
|
|
|
|
|
+ 订阅服务号通知
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-card>
|
|
</el-card>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -55,6 +65,20 @@
|
|
|
</el-card>
|
|
</el-card>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ title="订阅服务号通知"
|
|
|
|
|
+ :visible.sync="bindDialogVisible"
|
|
|
|
|
+ width="360px"
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div class="text-center">
|
|
|
|
|
+ <img v-if="wechatQrcode" :src="wechatQrcode" style="width: 260px; height: 260px;" />
|
|
|
|
|
+ <p style="margin-top: 10px;">请使用微信扫码绑定服务号通知</p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
|
+ <el-button @click="bindDialogVisible = false">关闭</el-button>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -63,7 +87,7 @@ import userAvatar from "./userAvatar";
|
|
|
import userInfo from "./userInfo";
|
|
import userInfo from "./userInfo";
|
|
|
import resetPwd from "./resetPwd";
|
|
import resetPwd from "./resetPwd";
|
|
|
import { getUserProfile } from "@/api/company/companyUser";
|
|
import { getUserProfile } from "@/api/company/companyUser";
|
|
|
-
|
|
|
|
|
|
|
+import { getWechatBindQrcode, checkWechatBindStatus } from "@/api/wechat";
|
|
|
export default {
|
|
export default {
|
|
|
name: "Profile",
|
|
name: "Profile",
|
|
|
components: { userAvatar, userInfo, resetPwd },
|
|
components: { userAvatar, userInfo, resetPwd },
|
|
@@ -72,10 +96,17 @@ export default {
|
|
|
user: {},
|
|
user: {},
|
|
|
roleGroup: {},
|
|
roleGroup: {},
|
|
|
postGroup: {},
|
|
postGroup: {},
|
|
|
- activeTab: "userinfo"
|
|
|
|
|
|
|
+ activeTab: "userinfo",
|
|
|
|
|
+ bindDialogVisible: false,
|
|
|
|
|
+ wechatQrcode: "",
|
|
|
|
|
+ wechatBindTimer: null,
|
|
|
|
|
+ needWxTemplateMsg: false,
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
created() {
|
|
created() {
|
|
|
|
|
+ if (process.env.VUE_APP_COMPANY_NAME ==="河北红德堂医药连锁有限公司保定第五十七分公司"){
|
|
|
|
|
+ this.needWxTemplateMsg = true
|
|
|
|
|
+ }
|
|
|
this.getUser();
|
|
this.getUser();
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
@@ -85,7 +116,33 @@ export default {
|
|
|
this.roleGroup = response.roleGroup;
|
|
this.roleGroup = response.roleGroup;
|
|
|
this.postGroup = response.postGroup;
|
|
this.postGroup = response.postGroup;
|
|
|
});
|
|
});
|
|
|
|
|
+ },
|
|
|
|
|
+ openWechatBindDialog() {
|
|
|
|
|
+ getWechatBindQrcode().then(res => {
|
|
|
|
|
+ console.log(res)
|
|
|
|
|
+ this.wechatQrcode = res.data.qrcodeUrl;
|
|
|
|
|
+ this.bindDialogVisible = true;
|
|
|
|
|
+ this.startCheckWechatBind(res.data.sceneId);
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ startCheckWechatBind(sceneId) {
|
|
|
|
|
+ // 清除旧定时器
|
|
|
|
|
+ if (this.wechatBindTimer) clearInterval(this.wechatBindTimer);
|
|
|
|
|
+
|
|
|
|
|
+ this.wechatBindTimer = setInterval(() => {
|
|
|
|
|
+ checkWechatBindStatus(sceneId).then(res => {
|
|
|
|
|
+ if (res.data === true) {
|
|
|
|
|
+ this.$message.success("绑定成功!");
|
|
|
|
|
+ clearInterval(this.wechatBindTimer);
|
|
|
|
|
+ this.bindDialogVisible = false;
|
|
|
|
|
+ this.getUser(); // 刷新绑定状态
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }, 2000);
|
|
|
}
|
|
}
|
|
|
|
|
+ },
|
|
|
|
|
+ beforeDestroy() {
|
|
|
|
|
+ if (this.wechatBindTimer) clearInterval(this.wechatBindTimer);
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
</script>
|
|
</script>
|