Browse Source

Merge branch 'refs/heads/cg_live_dev'

chenguo 4 days ago
parent
commit
11a20833b8

+ 9 - 1
src/api/course/userTalent.js

@@ -66,4 +66,12 @@ export function listBySearch(query) {
     method: 'get',
     params: query
   })
-}
+}
+
+//查询所属销售公司
+export function getCompanies(keyword) {
+  return request({
+    url: '/course/userTalent/listCompanyByKeyword/'+keyword,
+    method: 'get'
+  })
+}

+ 9 - 1
src/api/live/liveVideo.js

@@ -17,6 +17,14 @@ export function getLiveVideo(videoId) {
   })
 }
 
+// 查询直播视频详细
+export function getLiveVideoByLiveId(liveId) {
+  return request({
+    url: '/live/liveVideo/liveVideoByLiveId/' + liveId,
+    method: 'get'
+  })
+}
+
 // 新增直播视频
 export function addLiveVideo(data) {
   return request({
@@ -50,4 +58,4 @@ export function exportLiveVideo(query) {
     method: 'get',
     params: query
   })
-}
+}

+ 13 - 0
src/router/index.js

@@ -228,6 +228,19 @@ export const constantRoutes = [
       }
     ]
   },
+  {
+    path: '/live',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: 'LiveConsole/:liveId', // 动态路由参数
+        component: () => import('@/views/live/liveConsole'), // 使用 import 动态加载
+        name: 'LiveConsole',
+        meta: { title: '直播中控台', activeMenu: '/live/liveConsole' }
+      }
+    ]
+  }
 ]
 
 export default new Router({

+ 101 - 10
src/views/course/userTalent/index.vue

@@ -19,6 +19,28 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="所属公司" prop="companyIds" >
+        <el-select
+          v-model="companyIds"
+          filterable
+          multiple
+          remote
+          reserve-keyword
+          placeholder="请输入关键字搜索"
+          :remote-method="fetchCompanies"
+          :loading="loadingCompanies"
+          size="small"
+          @change="formatCompanies"
+          style="width: 180px"
+        >
+          <el-option
+            v-for="company in companyOptions"
+            :key="company.companyId"
+            :label="company.companyName"
+            :value="company.companyId"
+          />
+        </el-select>
+      </el-form-item>
 
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -141,7 +163,7 @@
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -151,15 +173,15 @@
     />
 
     <!-- 添加或修改达人对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body @close="handleClose">>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-row>
-          <el-col :span="8">
+        <el-row :gutter="20">
+          <el-col :span="12">
             <el-form-item label="昵称" prop="nickName">
               <el-input v-model="form.nickName" placeholder="请输入昵称" />
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="12">
             <el-form-item label="性别" prop="sex">
               <el-select v-model="form.sex" placeholder="性别" clearable size="small">
                 <el-option
@@ -171,7 +193,9 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
             <el-form-item label="关联用户" prop="userId" >
               <el-select v-model="form.userId" remote filterable reserve-keyword placeholder="输入手机号搜索" @change="selectUser" :remote-method="userMethod" >
                 <el-option
@@ -186,6 +210,25 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="关联公司" prop="companyId" >
+              <el-select v-model="form.companyId"
+                         remote
+                         filterable
+                         reserve-keyword
+                         placeholder="输入公司名称搜索"
+                         :remote-method="fetchCompanies" >
+                <el-option
+                  v-for="item in companyOptions"
+                  :key="item.companyId"
+                  :label="item.companyId"
+                  :value="item.companyId">
+                  <span style="float: left">{{ item.companyId }}</span>
+                  <span style="margin-left: 30px ;">{{item.companyName}}</span>
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
         </el-row>
 
         <el-form-item label="头像" prop="avatar">
@@ -194,8 +237,8 @@
         <el-form-item label="标题" prop="title">
           <el-input v-model="form.title" type="textarea" placeholder="请输入内容" />
         </el-form-item>
-        
-        
+
+
         <el-row>
           <el-col :span="8">
             <el-form-item label="获赞数" prop="likes">
@@ -262,7 +305,16 @@
 </template>
 
 <script>
-import { listUserTalent, getUserTalent, delUserTalent, addUserTalent, updateUserTalent, exportUserTalent,auditUserTalent } from "@/api/course/userTalent";
+import {
+  listUserTalent,
+  getUserTalent,
+  delUserTalent,
+  addUserTalent,
+  updateUserTalent,
+  exportUserTalent,
+  auditUserTalent,
+  getCompanies
+} from '@/api/course/userTalent'
 import { listBySearch} from "@/api/his/user";
 import ImageUpload from '@/components/ImageUpload/index';
 import VideoUpload from '@/components/VideoUpload/index';
@@ -302,6 +354,8 @@ export default {
       },
       userList:[],
       tagsOptions:[],
+      companyOptions:[],
+      loadingCompanies: false, // 加载状态
       tags:[],
       sexOptions:[],
       // 遮罩层
@@ -339,8 +393,11 @@ export default {
         fans: null,
         likes: null,
         isDel: null,
-        isAudit:0
+        isAudit:0,
+        //销售公司
+        companyIdStr: null
       },
+      companyIds: [],
       // 表单参数
       form: {},
       // 表单校验
@@ -359,6 +416,9 @@ export default {
         ],
         title: [
           { required: true, message: "标题不能为空", trigger: "blur" }
+        ],
+        companyId: [
+          { required: true, message: "关联公司不能为空", trigger: "change" }
         ]
       }
     };
@@ -379,6 +439,27 @@ export default {
     handleVideoDuration(duration) {
       this.form.videoDuration = duration;
     },
+    async fetchCompanies(query) {
+      if (!query) {
+        this.companyOptions = [];
+        return;
+      }
+      this.loadingCompanies = true;
+      try {
+        getCompanies(query).then(response => {
+          this.companyOptions = response.data;
+        })
+      } catch (err) {
+        console.error('查询销售公司失败:', err);
+        this.companyOptions = [];
+      } finally {
+        this.loadingCompanies = false;
+      }
+    },
+    formatCompanies(){
+      if(this.companyIds)
+      this.queryParams.companyIdStr = this.companyIds.join(',');
+    },
     submitAuditForm(){
       this.$refs["auditForm"].validate(valid => {
         if(valid){
@@ -465,6 +546,12 @@ export default {
     resetQuery() {
       this.resetForm("queryForm");
       this.handleQuery();
+      this.resetCompany();
+    },
+    resetCompany() {
+      this.companyOptions =  [];
+      this.companyIds = [];
+      this.queryParams.companyIdStr=null;
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
@@ -494,6 +581,10 @@ export default {
         this.title = "修改达人";
       });
     },
+    /**修改页面关闭方法*/
+    handleClose(){
+        this.resetCompany();
+    },
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {

+ 10 - 1
src/views/live/live/index.vue

@@ -103,6 +103,13 @@
             @click="handleDelete(scope.row)"
             v-hasPermi="['live:live:remove']"
           >删除</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-monitor"
+            @click="handleManage(scope.row)"
+            v-hasPermi="['live:live:remove']"
+          >管理</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -181,7 +188,6 @@
 <script>
 import { listLive, getLive, delLive, addLive, updateLive, exportLive } from "@/api/live/live";
 import Editor from '@/components/Editor/wang';
-import articleDetails from "@/views/components/his/doctorArticleDetails.vue";
 
 export default {
   name: "Live",
@@ -420,6 +426,9 @@ export default {
           this.msgSuccess("删除成功");
         }).catch(() => {});
     },
+    handleManage(row) {
+      this.$router.push('/live/liveConsole/' + row.liveId)
+    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;

+ 76 - 68
src/views/live/liveAnchor/index.vue

@@ -1,69 +1,57 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="昵称" prop="nickName">
-        <el-input
-          v-model="queryParams.nickName"
-          placeholder="请输入昵称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="密码" prop="password">
-        <el-input
-          v-model="queryParams.password"
-          placeholder="请输入密码"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="手机号" prop="mobile">
-        <el-input
-          v-model="queryParams.mobile"
-          placeholder="请输入手机号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="微信OPENID" prop="openId">
-        <el-input
-          v-model="queryParams.openId"
-          placeholder="请输入微信OPENID"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="身份证反面" prop="idCardBackUrl">
-        <el-input
-          v-model="queryParams.idCardBackUrl"
-          placeholder="请输入身份证反面"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="身份证正面" prop="idCardFrontUrl">
-        <el-input
-          v-model="queryParams.idCardFrontUrl"
-          placeholder="请输入身份证正面"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="状态  1正常 0禁用" prop="status">
-        <el-select v-model="queryParams.status" placeholder="请选择状态  1正常 0禁用" clearable size="small">
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
+      <el-row :gutter="10">
+        <el-col :span="6">
+          <el-form-item label="昵称" prop="nickName">
+            <el-input
+              v-model="queryParams.nickName"
+              placeholder="请输入昵称"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="手机号" prop="mobile">
+            <el-input
+              v-model="queryParams.mobile"
+              placeholder="请输入手机号"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="微信OPENID" prop="openId">
+            <el-input
+              v-model="queryParams.openId"
+              placeholder="请输入微信OPENID"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="状态" prop="status">
+            <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+              <el-option
+                v-for="dict in statusOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+        <el-form-item>
+          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        </el-form-item>
     </el-form>
 
     <el-row :gutter="10" class="mb8">
@@ -122,7 +110,7 @@
       <el-table-column label="微信OPENID" align="center" prop="openId" />
       <el-table-column label="身份证反面" align="center" prop="idCardBackUrl" />
       <el-table-column label="身份证正面" align="center" prop="idCardFrontUrl" />
-      <el-table-column label="状态  1正常 0禁用" align="center" prop="status" />
+      <el-table-column label="状态" align="center" prop="status" :formatter="anchorStatusFormatter"/>
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -168,14 +156,17 @@
           <el-input v-model="form.openId" placeholder="请输入微信OPENID" />
         </el-form-item>
         <el-form-item label="身份证反面" prop="idCardBackUrl">
-          <el-input v-model="form.idCardBackUrl" placeholder="请输入身份证反面" />
+          <ImageUpload  v-model="form.idCardBackUrl" type="image" :limit=2 :width="150"
+                        :height="150"/>
         </el-form-item>
         <el-form-item label="身份证正面" prop="idCardFrontUrl">
-          <el-input v-model="form.idCardFrontUrl" placeholder="请输入身份证正面" />
+          <ImageUpload  v-model="form.idCardFrontUrl" type="image" :limit=1 :width="150"
+                       :height="150"/>
+<!--          示例图片-->
         </el-form-item>
-        <el-form-item label="状态  1正常 0禁用">
+        <el-form-item label="状态">
           <el-radio-group v-model="form.status">
-            <el-radio label="1">请选择字典生成</el-radio>
+            <el-radio :label="item.dictValue" v-for="item in statusOptions" >{{item.dictLabel}}</el-radio>
           </el-radio-group>
         </el-form-item>
         <el-form-item label="备注" prop="remark">
@@ -197,6 +188,8 @@ export default {
   name: "LiveAnchor",
   data() {
     return {
+      //字典
+      statusOptions: [],
       // 遮罩层
       loading: true,
       // 导出遮罩层
@@ -238,6 +231,9 @@ export default {
   },
   created() {
     this.getList();
+    this.getDicts("sys_live_anchor_status").then(response => {
+      this.statusOptions = response.data;
+    });
   },
   methods: {
     /** 查询主播列表 */
@@ -249,6 +245,9 @@ export default {
         this.loading = false;
       });
     },
+    anchorStatusFormatter(row, column) {
+      return this.selectDictLabel(this.statusOptions, row.status);
+    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -357,3 +356,12 @@ export default {
   }
 };
 </script>
+<style >
+.el-form-item__label {
+  width: 120px !important;
+}
+.el-input {
+  width: 80% !important;
+}
+
+</style>

+ 3 - 3
src/views/live/liveData/index.vue

@@ -148,7 +148,7 @@
         top10List: [
           {
             rank: 1,
-            name: "弘珍医药年末会员福利专场!",
+            name: "御君方年末会员福利专场!",
             cover:"https://cos.his.cdwjyyh.com/fs/20250304/710ea5b1896749b58438b76baf881d05.jpeg",
             pv: 88332,
             uv: 32674,
@@ -351,7 +351,7 @@
     methods: {
       changeDate(value) {
         if (this.selectedTimeRange === "week" && value) {
-          /*console.log("?? 监听到 selectedWeek 变化:", newVal);*/
+          /*console.log("🟢 监听到 selectedWeek 变化:", newVal);*/
           this.weekRange = this.getWeekRange(value);
         } else {
           this.weekRange = "";
@@ -359,7 +359,7 @@
         console.log("选择的时间:", value, "筛选方式:", this.selectedTimeRange);
       },
       getWeekRange(selectedWeek) {
-        console.log("?? selectedWeek 输入值:", selectedWeek); // 检查传入值
+        console.log("🔹 selectedWeek 输入值:", selectedWeek); // 检查传入值
         let date = new Date(selectedWeek);
 
         if (isNaN(date.getTime())) {

+ 19 - 8
src/views/live/liveGoods/index.vue

@@ -55,9 +55,10 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="状态 1上架 0下架" prop="status">
-        <el-select v-model="queryParams.status" placeholder="请选择状态 1上架 0下架" clearable size="small">
-          <el-option label="请选择字典生成" value="" />
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+<!--          <el-option label="请选择字典生成" value="" />-->
+          <el-option v-for="(item,index) in goodsStatusOptions" :key="item.dictValue+index" :label="item.dictLabel" :value="item.dictValue" />
         </el-select>
       </el-form-item>
       <el-form-item label="库存表" prop="stock">
@@ -141,7 +142,7 @@
       <el-table-column label="组图" align="center" prop="images" />
       <el-table-column label="单价" align="center" prop="price" />
       <el-table-column label="原价" align="center" prop="opPrice" />
-      <el-table-column label="状态 1上架 0下架" align="center" prop="status" />
+      <el-table-column label="状态" align="center" prop="status" :formatter="goodsStatusFormatter"/>
       <el-table-column label="库存表" align="center" prop="stock" />
       <el-table-column label="排序号" align="center" prop="sort" />
       <el-table-column label="备注" align="center" prop="remark" />
@@ -186,10 +187,12 @@
           <el-input v-model="form.goodsDesc" placeholder="请输入描述" />
         </el-form-item>
         <el-form-item label="封图" prop="imgUrl">
-          <el-input v-model="form.imgUrl" placeholder="请输入封图" />
+          <ImageUpload  v-model="form.imgUrl" type="image" :limit=1 :width="150"
+                        :height="150"/>
         </el-form-item>
         <el-form-item label="组图" prop="images">
-          <el-input v-model="form.images" type="textarea" placeholder="请输入内容" />
+          <ImageUpload  v-model="form.images" type="image" :limit=10 :width="150"
+                        :height="150"/>
         </el-form-item>
         <el-form-item label="单价" prop="price">
           <el-input v-model="form.price" placeholder="请输入单价" />
@@ -197,9 +200,9 @@
         <el-form-item label="原价" prop="opPrice">
           <el-input v-model="form.opPrice" placeholder="请输入原价" />
         </el-form-item>
-        <el-form-item label="状态 1上架 0下架">
+        <el-form-item label="状态">
           <el-radio-group v-model="form.status">
-            <el-radio label="1">请选择字典生成</el-radio>
+            <el-radio :label="item.dictValue" v-for="item in goodsStatusOptions" >{{item.dictLabel}}</el-radio>
           </el-radio-group>
         </el-form-item>
         <el-form-item label="库存表" prop="stock">
@@ -227,6 +230,8 @@ export default {
   name: "LiveGoods",
   data() {
     return {
+      //字典
+      goodsStatusOptions: [],
       // 遮罩层
       loading: true,
       // 导出遮罩层
@@ -271,6 +276,9 @@ export default {
   },
   created() {
     this.getList();
+    this.getDicts("sys_live_goods_show").then(response => {
+      this.goodsStatusOptions = response.data;
+    });
   },
   methods: {
     /** 查询直播商品列表 */
@@ -282,6 +290,9 @@ export default {
         this.loading = false;
       });
     },
+    goodsStatusFormatter(row, column) {
+        return this.selectDictLabel(this.statusOptions, row.status);
+    },
     // 取消按钮
     cancel() {
       this.open = false;

+ 15 - 7
src/views/live/liveOrder/index.vue

@@ -107,9 +107,9 @@
           placeholder="选择完成时间">
         </el-date-picker>
       </el-form-item>
-      <el-form-item label="状态 1待支付 2已支付 3已发货 4已完成 -1已取消 -2已退款" prop="status">
-        <el-select v-model="queryParams.status" placeholder="请选择状态 1待支付 2已支付 3已发货 4已完成 -1已取消 -2已退款" clearable size="small">
-          <el-option label="请选择字典生成" value="" />
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option v-for="(item,index) in orderStatusOptions" :key="item.dictValue+index" :label="item.dictLabel" :value="item.dictValue" />
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -167,7 +167,7 @@
 
     <el-table border v-loading="loading" :data="liveOrderList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="状态 1待支付 2已支付 3已发货 4已完成 -1已取消 -2已退款" align="center" prop="orderId" />
+      <el-table-column label="订单ID" align="center" prop="orderId"/>
       <el-table-column label="订单号" align="center" prop="orderSn" />
       <el-table-column label="用户ID" align="center" prop="userId" />
       <el-table-column label="收货人" align="center" prop="userName" />
@@ -188,7 +188,7 @@
           <span>{{ parseTime(scope.row.finishTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="状态 1待支付 2已支付 3已发货 4已完成 -1已取消 -2已退款" align="center" prop="status" />
+      <el-table-column label="状态" align="center" prop="status" :formatter="orderStatusFormatter"/>
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -267,9 +267,9 @@
             placeholder="选择完成时间">
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="状态 1待支付 2已支付 3已发货 4已完成 -1已取消 -2已退款">
+        <el-form-item label="状态">
           <el-radio-group v-model="form.status">
-            <el-radio label="1">请选择字典生成</el-radio>
+            <el-radio :label="item.dictValue" v-for="item in orderStatusOptions" >{{item.dictLabel}}</el-radio>
           </el-radio-group>
         </el-form-item>
         <el-form-item label="备注" prop="remark">
@@ -291,6 +291,8 @@ export default {
   name: "LiveOrder",
   data() {
     return {
+      //字典
+      orderStatusOptions: [],
       // 遮罩层
       loading: true,
       // 导出遮罩层
@@ -338,6 +340,9 @@ export default {
   },
   created() {
     this.getList();
+    this.getDicts("sys_live_order_status").then(response => {
+      this.orderStatusOptions = response.data;
+    });
   },
   methods: {
     /** 查询订单列表 */
@@ -349,6 +354,9 @@ export default {
         this.loading = false;
       });
     },
+    orderStatusFormatter(row, column) {
+      return this.selectDictLabel(this.orderStatusOptions, row.status);
+    },
     // 取消按钮
     cancel() {
       this.open = false;

+ 14 - 6
src/views/live/liveOrderitems/index.vue

@@ -46,9 +46,9 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="状态 1正常 2已退款" prop="status">
-        <el-select v-model="queryParams.status" placeholder="请选择状态 1正常 2已退款" clearable size="small">
-          <el-option label="请选择字典生成" value="" />
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option v-for="(item,index) in orderGoodsStatusOptions" :key="item.dictValue+index" :label="item.dictLabel" :value="item.dictValue" />
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -113,7 +113,7 @@
       <el-table-column label="商品名" align="center" prop="goodsName" />
       <el-table-column label="单价" align="center" prop="price" />
       <el-table-column label="数量" align="center" prop="num" />
-      <el-table-column label="状态 1正常 2已退款" align="center" prop="status" />
+      <el-table-column label="状态" align="center" prop="status" :formatter="orderGoodsStatusFormatter"/>
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -164,9 +164,9 @@
         <el-form-item label="数量" prop="num">
           <el-input v-model="form.num" placeholder="请输入数量" />
         </el-form-item>
-        <el-form-item label="状态 1正常 2已退款">
+        <el-form-item label="状态">
           <el-radio-group v-model="form.status">
-            <el-radio label="1">请选择字典生成</el-radio>
+            <el-radio :label="item.dictValue" v-for="item in orderGoodsStatusOptions" >{{item.dictLabel}}</el-radio>
           </el-radio-group>
         </el-form-item>
         <el-form-item label="备注" prop="remark">
@@ -188,6 +188,8 @@ export default {
   name: "LiveOrderitems",
   data() {
     return {
+      //字典
+      orderGoodsStatusOptions: [],
       // 遮罩层
       loading: true,
       // 导出遮罩层
@@ -229,6 +231,9 @@ export default {
   },
   created() {
     this.getList();
+    this.getDicts("sys_live_order_goods_status").then(response => {
+      this.orderGoodsStatusOptions = response.data;
+    });
   },
   methods: {
     /** 查询订单商品列表 */
@@ -240,6 +245,9 @@ export default {
         this.loading = false;
       });
     },
+    orderGoodsStatusFormatter(row, column) {
+      return this.selectDictLabel(this.orderGoodsStatusOptions, row.status);
+    },
     // 取消按钮
     cancel() {
       this.open = false;

+ 15 - 7
src/views/live/liveVideo/index.vue

@@ -19,9 +19,9 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="类型 1录播 2回放" prop="videoType">
-        <el-select v-model="queryParams.videoType" placeholder="请选择类型 1录播 2回放" clearable size="small">
-          <el-option label="请选择字典生成" value="" />
+      <el-form-item label="类型" prop="videoType">
+        <el-select v-model="queryParams.videoType" placeholder="请选择类型" clearable size="small">
+          <el-option v-for="(item,index) in videoTypeOptions" :key="item.dictValue+index" :label="item.dictLabel" :value="item.dictValue" />
         </el-select>
       </el-form-item>
       <el-form-item label="排序号" prop="sort">
@@ -91,7 +91,7 @@
       <el-table-column label="ID" align="center" prop="videoId" />
       <el-table-column label="直播ID" align="center" prop="liveId" />
       <el-table-column label="视频地址" align="center" prop="videoUrl" />
-      <el-table-column label="类型 1录播 2回放" align="center" prop="videoType" />
+      <el-table-column label="类型" align="center" prop="videoType" :formatter="videoTypeFormatter"/>
       <el-table-column label="排序号" align="center" prop="sort" />
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@@ -131,9 +131,9 @@
         <el-form-item label="视频地址" prop="videoUrl">
           <el-input v-model="form.videoUrl" placeholder="请输入视频地址" />
         </el-form-item>
-        <el-form-item label="类型 1录播 2回放" prop="videoType">
-          <el-select v-model="form.videoType" placeholder="请选择类型 1录播 2回放">
-            <el-option label="请选择字典生成" value="" />
+        <el-form-item label="类型" prop="videoType">
+          <el-select v-model="form.videoType" placeholder="请选择类型">
+            <el-option v-for="(item,index) in videoTypeOptions" :key="item.dictValue+index" :label="item.dictLabel" :value="item.dictValue" />
           </el-select>
         </el-form-item>
         <el-form-item label="排序号" prop="sort">
@@ -158,6 +158,8 @@ export default {
   name: "LiveVideo",
   data() {
     return {
+      //字典
+      videoTypeOptions: [],
       // 遮罩层
       loading: true,
       // 导出遮罩层
@@ -196,6 +198,9 @@ export default {
   },
   created() {
     this.getList();
+    this.getDicts("sys_live_video_type").then(response => {
+      this.videoTypeOptions = response.data;
+    });
   },
   methods: {
     /** 查询直播视频列表 */
@@ -207,6 +212,9 @@ export default {
         this.loading = false;
       });
     },
+    videoTypeFormatter(row, column) {
+      return this.selectDictLabel(this.videoTypeOptions, row.status);
+    },
     // 取消按钮
     cancel() {
       this.open = false;