|
@@ -1,9 +1,13 @@
|
|
|
<template>
|
|
|
<div class="my-message">
|
|
|
<div class="my-message__header">
|
|
|
- <el-tabs v-model="activeName">
|
|
|
- <el-tab-pane label="系统消息" name="1"></el-tab-pane>
|
|
|
- <el-tab-pane label="教务消息" name="2"></el-tab-pane>
|
|
|
+ <el-tabs :value="formData.systemStatus" @tab-click="tabChange">
|
|
|
+ <el-tab-pane
|
|
|
+ :label="item.label"
|
|
|
+ :name="item.systemStatus"
|
|
|
+ v-for="(item, index) in tabList"
|
|
|
+ :key="index"
|
|
|
+ ></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</div>
|
|
|
|
|
@@ -20,20 +24,56 @@
|
|
|
<div class="btn">全部标为已读</div>
|
|
|
</div>
|
|
|
<div class="content__body">
|
|
|
- <div class="message-list">
|
|
|
- <div
|
|
|
- class="message-list__item"
|
|
|
- v-for="(item, index) in 5"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
- <div class="icon"></div>
|
|
|
- <div class="text">
|
|
|
- <div class="desc">2022-02-23 12:30</div>
|
|
|
- <div class="title">学时机构审核通过提醒</div>
|
|
|
+ <div class="no-data" v-if="list.length == 0">暂无消息</div>
|
|
|
+ <template v-else>
|
|
|
+ <div class="message-list">
|
|
|
+ <div
|
|
|
+ class="message-list__item"
|
|
|
+ v-for="(item, index) in list"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="icon"
|
|
|
+ :class="{ 'icon--blue': item.systemStatus === 1 ? '' : true }"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ v-if="item.systemStatus === 1"
|
|
|
+ class="el-icon-message-solid"
|
|
|
+ ></i>
|
|
|
+
|
|
|
+ <i v-else class="el-icon-s-custom"></i>
|
|
|
+ </div>
|
|
|
+ <div class="text">
|
|
|
+ <div class="desc">
|
|
|
+ {{ $tools.timestampToTime(item.sendTime, false) }}
|
|
|
+ </div>
|
|
|
+ <div class="title">
|
|
|
+ {{
|
|
|
+ item.systemStatus === 2
|
|
|
+ ? item.informVo.informName
|
|
|
+ : item.systemStatus === 1
|
|
|
+ ? item.text
|
|
|
+ : "接口异常"
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-button type="primary" class="btn" @click="showDetail(item)"
|
|
|
+ >查看详情</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
- <div class="btn" @click="showDetailModal = true">查看详情</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+
|
|
|
+ <div class="pagination">
|
|
|
+ <el-pagination
|
|
|
+ @current-change="currentChange"
|
|
|
+ background
|
|
|
+ layout="prev, pager, next"
|
|
|
+ :total="total"
|
|
|
+ :pager-count="5"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -54,21 +94,139 @@
|
|
|
<div class="my-message-modal__body">
|
|
|
<div class="content">
|
|
|
<div class="content__body">
|
|
|
- <div class="title">通知标题</div>
|
|
|
- <div class="desc">202-02-11 12:30:30</div>
|
|
|
- <div class="list">
|
|
|
- <div class="item">
|
|
|
- 课程商品名称/科目/类目标题/章标题/节标题 16:52
|
|
|
+ <div class="title">
|
|
|
+ {{
|
|
|
+ listData.systemStatus === 2
|
|
|
+ ? listData.informVo.informName
|
|
|
+ : listData.systemStatus === 1
|
|
|
+ ? listData.remind
|
|
|
+ : ""
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="desc">
|
|
|
+ {{ $tools.timestampToTime(listData.sendTime, false) }}
|
|
|
+ </div>
|
|
|
+ <div class="list" v-if="listData.informVo">
|
|
|
+ <div
|
|
|
+ class="item"
|
|
|
+ v-for="(item, index) in listData.informVo.informCourseVo"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ 123
|
|
|
</div>
|
|
|
- <div class="item">
|
|
|
- 课程商品名称/科目/类目标题/章标题/节标题 16:52
|
|
|
+ <div
|
|
|
+ class="item"
|
|
|
+ v-for="(item, index) in listData.informVo.informExamVo"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ 123123
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="my-message-modal__footer">
|
|
|
- <div class="confirm" @click="showDetailModal = false">我知道了</div>
|
|
|
+ <div
|
|
|
+ class="my-message-modal__footer"
|
|
|
+ v-if="
|
|
|
+ (statusGO &&
|
|
|
+ listData.systemStatus === 1 &&
|
|
|
+ getNames(listData.remindId) !== '') ||
|
|
|
+ (listData.systemStatus === 2 && listData.receiptStatus === 0)
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="confirm"
|
|
|
+ @click="isOk"
|
|
|
+ v-if="listData.systemStatus === 2 && listData.receiptStatus === 0"
|
|
|
+ >
|
|
|
+ 我已阅读
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ class="confirm"
|
|
|
+ @click="jumpFuns(goodsData, listData.remindId)"
|
|
|
+ v-if="
|
|
|
+ statusGO &&
|
|
|
+ listData.systemStatus === 1 &&
|
|
|
+ getNames(listData.remindId) !== ''
|
|
|
+ "
|
|
|
+ >
|
|
|
+ {{ getNames(listData.remindId) }}
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ width="800px"
|
|
|
+ class="rebuild"
|
|
|
+ :visible.sync="showRebuildDetailModal"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ :show-close="false"
|
|
|
+ >
|
|
|
+ <div class="rebuild__content">
|
|
|
+ <div class="rebuild__close" @click="showRebuildDetailModal = false">
|
|
|
+ X
|
|
|
+ </div>
|
|
|
+ <div class="rebuild__header">审核详情</div>
|
|
|
+ <div class="rebuild__body">
|
|
|
+ <div class="content">
|
|
|
+ <div class="content__header">
|
|
|
+ <div class="title">重要提示:</div>
|
|
|
+ <div class="desc">
|
|
|
+ 如对审核结果有异议,请勿点击确认重学。致电020-87085982咨询
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="content__body">
|
|
|
+ <div class="list">
|
|
|
+ <div
|
|
|
+ class="list__item"
|
|
|
+ v-for="(item, index) in rebuildItems"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <div class="title">
|
|
|
+ <span class="note" v-if="item.type == 0"> 测试 </span>
|
|
|
+ <span class="note note--yellow" v-if="item.type == 1"
|
|
|
+ >录播</span
|
|
|
+ >
|
|
|
+ <span class="note note--yellow" v-if="item.type == 2"
|
|
|
+ >直播</span
|
|
|
+ >
|
|
|
+ <span class="note note--yellow" v-if="item.type == 3"
|
|
|
+ >回放</span
|
|
|
+ >
|
|
|
+ {{ index + 1 }}、{{ item.name }}
|
|
|
+ </div>
|
|
|
+ <div class="desc">
|
|
|
+ <div class="imgs">
|
|
|
+ <div
|
|
|
+ class="img"
|
|
|
+ v-for="(items, indexs) in item.userStudyRecordPhoto"
|
|
|
+ :key="indexs"
|
|
|
+ >
|
|
|
+ <img :src="$tools.splitImgHost(items.photo)" />
|
|
|
+ <div class="note">
|
|
|
+ {{ $tools.timestampToTime(items.createTime, false) }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="desc">
|
|
|
+ 原因:
|
|
|
+ <span class="note">拍照异常/时间异常</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="rebuild__footer">
|
|
|
+ <el-button class="confirm" @click="rebuildSubmit" type="primary"
|
|
|
+ >确认重学</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
@@ -80,12 +238,429 @@ export default {
|
|
|
name: "MyMessage",
|
|
|
data() {
|
|
|
return {
|
|
|
+ showRebuildDetailModal: false,
|
|
|
showDetailModal: false,
|
|
|
- activeName: "1",
|
|
|
+ tabList: [
|
|
|
+ {
|
|
|
+ label: "系统消息",
|
|
|
+ systemStatus: "1",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "教务消息",
|
|
|
+ systemStatus: "2",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ formData: {
|
|
|
+ systemStatus: "1",
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ },
|
|
|
+ goodsData: {},
|
|
|
+ list: [],
|
|
|
+ listData: {},
|
|
|
+ messageId: 0,
|
|
|
+ sysTime: 0,
|
|
|
+ statusGO: true,
|
|
|
+ total: 0,
|
|
|
+ rebuildItems: {},
|
|
|
};
|
|
|
},
|
|
|
- mounted() {},
|
|
|
- methods: {},
|
|
|
+ mounted() {
|
|
|
+ this.getappinformUserlist();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ currentChange(e) {
|
|
|
+ this.formData.pageNum = e;
|
|
|
+ this.getappinformUserlist();
|
|
|
+ },
|
|
|
+ tabChange(e) {
|
|
|
+ if (this.activeName == e.name) return;
|
|
|
+ this.formData.systemStatus = e.name;
|
|
|
+ this.formData.pageNum = 1;
|
|
|
+ this.getappinformUserlist();
|
|
|
+ },
|
|
|
+ getappinformUserlist() {
|
|
|
+ this.$request.getappinformUserlist(this.formData).then((res) => {
|
|
|
+ this.list = res.rows;
|
|
|
+ this.total = res.total;
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ getNames(int) {
|
|
|
+ var arsty = "";
|
|
|
+ switch (int) {
|
|
|
+ case 1:
|
|
|
+ case 3:
|
|
|
+ case 5:
|
|
|
+ case 6:
|
|
|
+ case 7:
|
|
|
+ case 19:
|
|
|
+ case 21:
|
|
|
+ case 22:
|
|
|
+ case 23:
|
|
|
+ arsty = "立刻学习";
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ case 4:
|
|
|
+ case 24:
|
|
|
+ arsty = "马上填写";
|
|
|
+ break;
|
|
|
+ case 10:
|
|
|
+ case 12:
|
|
|
+ case 18:
|
|
|
+ arsty = "立即重学";
|
|
|
+ break;
|
|
|
+ case 11:
|
|
|
+ arsty = "立即预约";
|
|
|
+ break;
|
|
|
+ case 13:
|
|
|
+ arsty = "预约考试";
|
|
|
+ break;
|
|
|
+ case 20:
|
|
|
+ arsty = "重新购买";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return arsty;
|
|
|
+ },
|
|
|
+
|
|
|
+ //跳转页面
|
|
|
+ async jumpFuns(item, remindId) {
|
|
|
+ switch (remindId) {
|
|
|
+ case 1:
|
|
|
+ case 3:
|
|
|
+ case 5:
|
|
|
+ case 6:
|
|
|
+ case 7:
|
|
|
+ case 19:
|
|
|
+ case 21:
|
|
|
+ case 22:
|
|
|
+ case 23:
|
|
|
+ case 10:
|
|
|
+ case 12:
|
|
|
+ case 18:
|
|
|
+ //课程
|
|
|
+ if (item.goodsType == 1) {
|
|
|
+ let currentTime = this.$tools.timest();
|
|
|
+ console.log(currentTime);
|
|
|
+ console.log(item);
|
|
|
+ console.log(item.studyStartTime);
|
|
|
+ console.log(item.studyEndTime);
|
|
|
+ console.log(
|
|
|
+ currentTime < item.studyStartTime ||
|
|
|
+ currentTime > item.studyEndTime
|
|
|
+ );
|
|
|
+ if (
|
|
|
+ currentTime < item.studyStartTime ||
|
|
|
+ currentTime > item.studyEndTime
|
|
|
+ ) {
|
|
|
+ this.$message({
|
|
|
+ type: "warning",
|
|
|
+ message: "不在学习有效期,不可以学习了哦",
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ (item.classStartTime && currentTime <= item.classStartTime) ||
|
|
|
+ (item.classEndTime && currentTime >= item.classEndTime)
|
|
|
+ ) {
|
|
|
+ this.$message({
|
|
|
+ type: "warning",
|
|
|
+ message: "不在班级有效期,不能进入学习",
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (item.learningStatus == 2) {
|
|
|
+ this.$message({
|
|
|
+ type: "warning",
|
|
|
+ message: "开放学习时间待定,不能进入学习",
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (item.classStatus == 0) {
|
|
|
+ this.$message({
|
|
|
+ type: "warning",
|
|
|
+ message: "尚未开班,不能进入学习",
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ item.learningStatus == 3 &&
|
|
|
+ currentTime < item.learningTimeStart
|
|
|
+ ) {
|
|
|
+ this.$message({
|
|
|
+ type: "warning",
|
|
|
+ message: "不在开放学习时间,不能进入学习",
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ item.gradeStatus == 1 &&
|
|
|
+ item.status == 1 &&
|
|
|
+ item.studyEndTime > currentTime &&
|
|
|
+ item.classEndTime &&
|
|
|
+ item.classEndTime < currentTime &&
|
|
|
+ (item.periodStatus == 0 || item.periodStatus == -1) &&
|
|
|
+ item.studyCount > 0
|
|
|
+ ) {
|
|
|
+ this.$confirm("班级已过期,需要重新选班", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ closeOnClickModal: false,
|
|
|
+ closeOnPressEscape: false,
|
|
|
+ distinguishCancelAndClose: false,
|
|
|
+ showClose: false,
|
|
|
+ })
|
|
|
+ .then((_) => {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/person-center/my-course",
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch((_) => {});
|
|
|
+ }
|
|
|
+
|
|
|
+ let rebuildStatus = await this.courseGoodsRebuildStatus(
|
|
|
+ item.goodsId,
|
|
|
+ item.gradeId
|
|
|
+ );
|
|
|
+
|
|
|
+ if (rebuildStatus == 0) {
|
|
|
+ this.rebuildItem = item;
|
|
|
+ this.$request
|
|
|
+ .getcourseperiodcheat({
|
|
|
+ goodsId: item.goodsId,
|
|
|
+ gradeId: item.gradeId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.rebuildItems = res.rows;
|
|
|
+ });
|
|
|
+ this.showRebuildDetailModal = true;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (item.courseNum == 1) {
|
|
|
+ this.$request
|
|
|
+ .courseCourseList({
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 1,
|
|
|
+ goodsId: item.goodsId,
|
|
|
+ gradeId: item.gradeId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/my-course-detail/" + item.goodsId,
|
|
|
+ query: {
|
|
|
+ id: res.rows[0].courseId,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.$router.push({
|
|
|
+ path: "/person-center/my-course",
|
|
|
+ });
|
|
|
+ // arsty = '立刻学习';
|
|
|
+
|
|
|
+ //题库
|
|
|
+ } else if (item.goodsType == 2) {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/person-center/my-bank",
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ case 4:
|
|
|
+ this.$navTo.togo("/pages2/verify/input", {
|
|
|
+ id: item.goodsId,
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case 24:
|
|
|
+ this.$navTo.togo("/pages2/verify/input2", {
|
|
|
+ id: item.goodsId,
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case 11:
|
|
|
+ case 13:
|
|
|
+ var data = {
|
|
|
+ goodsId: item.goodsId,
|
|
|
+ gradeId: item.gradeId,
|
|
|
+ };
|
|
|
+ this.$request
|
|
|
+ .getApplysubscribe(data)
|
|
|
+ .then((res) => {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/person-center/my-classhour/appointment",
|
|
|
+ query: {
|
|
|
+ goodsId: item.goodsId,
|
|
|
+ gradeId: item.gradeId,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ this.$message({
|
|
|
+ type: "warning",
|
|
|
+ message: err.msg,
|
|
|
+ });
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case 20:
|
|
|
+ this.$router.push({
|
|
|
+ path: "/my-course-detail/" + item.goodsId,
|
|
|
+ query: {
|
|
|
+ gradeId: item.gradeId,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param {Object} goodsId 商品id
|
|
|
+ * 查询商品重修状态
|
|
|
+ */
|
|
|
+ courseGoodsRebuildStatus(goodsId, gradeId) {
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ this.$request
|
|
|
+ .courseGoodsRebuildStatus({
|
|
|
+ goodsId: goodsId,
|
|
|
+ gradeId: gradeId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ resolve(res.data);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ rebuildSubmit() {
|
|
|
+ this.$confirm(
|
|
|
+ "如对审核结果有异议,请勿点击确认重学。致电020-87085982咨询",
|
|
|
+ "注意",
|
|
|
+ {
|
|
|
+ confirmButtonText: "确认重学",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ closeOnClickModal: false,
|
|
|
+ closeOnPressEscape: false,
|
|
|
+ distinguishCancelAndClose: false,
|
|
|
+ showClose: false,
|
|
|
+ }
|
|
|
+ )
|
|
|
+ .then((_) => {
|
|
|
+ this.$request
|
|
|
+ .courseperiodrebuild({
|
|
|
+ goodsId: this.rebuildItem.goodsId,
|
|
|
+ gradeId: this.rebuildItem.gradeId,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.showRebuildDetailModal = false;
|
|
|
+ this.$router.push({
|
|
|
+ path: `/my-course-detail/${this.rebuildItem.goodsId}`,
|
|
|
+ query: {
|
|
|
+ gradeId: this.rebuildItem.gradeId,
|
|
|
+ orderGoodsId: this.rebuildItem.orderGoodsId,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch((_) => {});
|
|
|
+ },
|
|
|
+
|
|
|
+ showDetail(item) {
|
|
|
+ this.sysTime = this.$tools.timest();
|
|
|
+ this.messageId = item.id;
|
|
|
+ this.getMessage();
|
|
|
+ this.showDetailModal = true;
|
|
|
+ },
|
|
|
+ isOk() {
|
|
|
+ this.$request
|
|
|
+ .courseappinformUser({ id: this.listData.id, receiptStatus: 1 })
|
|
|
+ .then((res) => {
|
|
|
+ this.getappinformUserlist();
|
|
|
+ });
|
|
|
+
|
|
|
+ this.showDetailModal = false;
|
|
|
+ },
|
|
|
+ getMessage() {
|
|
|
+ this.$request.getappinformUserId(this.messageId).then((res) => {
|
|
|
+ if (
|
|
|
+ res.data.receiptStatus === 1 &&
|
|
|
+ (res.data.remindId === 2 ||
|
|
|
+ res.data.remindId === 4 ||
|
|
|
+ res.data.remindId === 24)
|
|
|
+ ) {
|
|
|
+ this.$request
|
|
|
+ .getbaseprofiletpgetInfo({ goodsId: res.data.goodsId })
|
|
|
+ .then((k) => {
|
|
|
+ if (
|
|
|
+ (k.data.status === 3 && k.data.changeStatus === 2) ||
|
|
|
+ k.data.status === 2 ||
|
|
|
+ k.data.status === 1
|
|
|
+ ) {
|
|
|
+ this.statusGO = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (!res.data.receiptStatus) {
|
|
|
+ this.$request
|
|
|
+ .courseappinformUser({ id: res.data.id, receiptStatus: 1 })
|
|
|
+ .then((res) => {});
|
|
|
+ }
|
|
|
+ if (res.data.informVo && res.data.informVo.affiche) {
|
|
|
+ res.data.informVo.affiche = res.data.informVo.affiche.replace(
|
|
|
+ /<img/gi,
|
|
|
+ '<img style="max-width:100%;"'
|
|
|
+ );
|
|
|
+ }
|
|
|
+ this.listData = res.data;
|
|
|
+ if (res.data.goodsId) {
|
|
|
+ if (res.data.gradeId) {
|
|
|
+ this.$request.goodsDetail(res.data.goodsId).then((rs) => {
|
|
|
+ this.goodsData = rs.data;
|
|
|
+ if (
|
|
|
+ rs.data.goodsType === 3 &&
|
|
|
+ (res.data.remindId === 1 ||
|
|
|
+ res.data.remindId === 3 ||
|
|
|
+ res.data.remindId === 5 ||
|
|
|
+ res.data.remindId === 6 ||
|
|
|
+ res.data.remindId === 7 ||
|
|
|
+ res.data.remindId === 19 ||
|
|
|
+ res.data.remindId === 21 ||
|
|
|
+ res.data.remindId === 22)
|
|
|
+ ) {
|
|
|
+ this.statusGO = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$request.commonGoodsDetail(res.data.goodsId).then((rs) => {
|
|
|
+ this.goodsData = rs.data;
|
|
|
+ if (
|
|
|
+ rs.data.goodsType === 3 &&
|
|
|
+ (res.data.remindId === 1 ||
|
|
|
+ res.data.remindId === 3 ||
|
|
|
+ res.data.remindId === 5 ||
|
|
|
+ res.data.remindId === 6 ||
|
|
|
+ res.data.remindId === 7 ||
|
|
|
+ res.data.remindId === 19 ||
|
|
|
+ res.data.remindId === 21 ||
|
|
|
+ res.data.remindId === 22)
|
|
|
+ ) {
|
|
|
+ this.statusGO = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|
|
@@ -153,6 +728,17 @@ export default {
|
|
|
height: 40px;
|
|
|
background: rgba(255, 209, 0, 1);
|
|
|
border-radius: 50%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ center &--blue {
|
|
|
+ background: rgba(0, 122, 255, 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ i {
|
|
|
+ font-size: 24px;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.text {
|
|
@@ -178,15 +764,164 @@ export default {
|
|
|
cursor: pointer;
|
|
|
width: 122px;
|
|
|
height: 32px;
|
|
|
- background: #3f8dfd;
|
|
|
+ padding: 0;
|
|
|
border-radius: 16px;
|
|
|
text-align: center;
|
|
|
line-height: 32px;
|
|
|
- color: #fff;
|
|
|
font-size: 16px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .no-data {
|
|
|
+ text-align: center;
|
|
|
+ padding: 50px 0;
|
|
|
+ color: #666;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .pagination {
|
|
|
+ padding: 30px 0;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .rebuild {
|
|
|
+ /deep/ .el-dialog__header {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ /deep/ .el-dialog__body {
|
|
|
+ padding: 0;
|
|
|
+ overflow: unset;
|
|
|
+ }
|
|
|
+
|
|
|
+ &__close {
|
|
|
+ cursor: pointer;
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ top: -28px;
|
|
|
+ width: 24px;
|
|
|
+ height: 24px;
|
|
|
+ line-height: 24px;
|
|
|
+ text-align: center;
|
|
|
+ color: #eee;
|
|
|
+ border: 1px solid #eee;
|
|
|
+ border-radius: 50%;
|
|
|
+ }
|
|
|
+
|
|
|
+ &__header {
|
|
|
+ height: 40px;
|
|
|
+ border-bottom: 1px solid #eee;
|
|
|
+ line-height: 40px;
|
|
|
+ font-size: 16px;
|
|
|
+ font-family: Microsoft YaHei;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333333;
|
|
|
+ padding-left: 24px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &__body {
|
|
|
+ height: 400px;
|
|
|
+ padding: 0 24px;
|
|
|
+
|
|
|
+ .content {
|
|
|
+ height: 100%;
|
|
|
+ overflow-y: auto;
|
|
|
+
|
|
|
+ &__header {
|
|
|
+ padding: 16px 0;
|
|
|
+ border-bottom: 1px solid #eee;
|
|
|
+
|
|
|
+ .title {
|
|
|
+ font-size: 16px;
|
|
|
+ font-family: Microsoft YaHei;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #ff3b30;
|
|
|
+ line-height: 24px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .desc {
|
|
|
+ margin-top: 10px;
|
|
|
+ font-size: 16px;
|
|
|
+ font-family: Microsoft YaHei;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #ff3b30;
|
|
|
+ line-height: 24px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &__body {
|
|
|
+ .list {
|
|
|
+ &__item {
|
|
|
+ padding: 16px 0;
|
|
|
+ border-bottom: 1px solid #eee;
|
|
|
+
|
|
|
+ .title {
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: Microsoft YaHei;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #333333;
|
|
|
+
|
|
|
+ .note {
|
|
|
+ width: 32px;
|
|
|
+ height: 20px;
|
|
|
+ border: 1px solid #3f8dfd;
|
|
|
+ border-radius: 4px;
|
|
|
+ color: #3f8dfd;
|
|
|
+ font-size: 12px;
|
|
|
+
|
|
|
+ &--yellow {
|
|
|
+ border: 1px solid #ff9500;
|
|
|
+ color: #ff9500;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .desc {
|
|
|
+ margin-top: 10px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: Microsoft YaHei;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #333333;
|
|
|
+
|
|
|
+ .note {
|
|
|
+ color: #ff3b30;
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .img {
|
|
|
+ width: 100px;
|
|
|
+ height: 100px;
|
|
|
+ display: inline-block;
|
|
|
+ text-align: center;
|
|
|
+
|
|
|
+ img {
|
|
|
+ max-width: 100%;
|
|
|
+ max-height: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &__footer {
|
|
|
+ height: 90px;
|
|
|
+ border-top: 1px solid #eee;
|
|
|
+ text-align: center;
|
|
|
+ .confirm {
|
|
|
+ width: 200px;
|
|
|
+ height: 40px;
|
|
|
+ padding: 0;
|
|
|
+ border-radius: 20px;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 40px;
|
|
|
+ color: #fff;
|
|
|
+ margin: 24px auto;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -226,8 +961,8 @@ export default {
|
|
|
}
|
|
|
|
|
|
&__body {
|
|
|
- height: 200px;
|
|
|
- padding: 0 24px;
|
|
|
+ height: auto;
|
|
|
+ padding: 0 24px 24px;
|
|
|
|
|
|
.content {
|
|
|
&__body {
|
|
@@ -269,15 +1004,14 @@ export default {
|
|
|
overflow: hidden;
|
|
|
border-top: 1px solid #eee;
|
|
|
.confirm {
|
|
|
+ display: block;
|
|
|
margin: 25px auto 0;
|
|
|
- cursor: pointer;
|
|
|
width: 200px;
|
|
|
height: 40px;
|
|
|
- background: #3f8dfd;
|
|
|
+ padding: 0;
|
|
|
border-radius: 20px;
|
|
|
text-align: center;
|
|
|
line-height: 40px;
|
|
|
- color: #fff;
|
|
|
}
|
|
|
}
|
|
|
}
|