Bladeren bron

feat: 增加渠道列表/应用列表归属用户操作校验

hidewnd 1 week geleden
bovenliggende
commit
f7d33428f8
4 gewijzigde bestanden met toevoegingen van 35 en 15 verwijderingen
  1. 2 1
      .env.development
  2. 1 0
      package.json
  3. 30 11
      src/views/main/outBagModule/appAdmin.vue
  4. 2 3
      src/views/main/outBagModule/channelTypeAdmin.vue

+ 2 - 1
.env.development

@@ -3,7 +3,8 @@ ENV = 'development'
 # 线上测试
 # VITE_BASE_URL = 'http://advise.ytmdm.com/gateway'
 # VITE_BASE_URL = 'https://test.book.ytpm.net/yt-gateway'
-VITE_BASE_URL = 'http://119.45.71.139:25001'
+# VITE_BASE_URL = 'http://119.45.71.139:25001'
+VITE_BASE_URL = 'http://192.168.1.252:25001'
 
 # 本地 
 # VITE_BASE_URL = 'http://192.168.1.9:25001'

+ 1 - 0
package.json

@@ -5,6 +5,7 @@
     "dev": "vite",
     "start": "vite",
     "build": "vite build --mode=production",
+    "build:dev": "vite build --mode=development",
     "build:stag": "vite build --mode=staging",
     "serve": "vite preview"
   },

+ 30 - 11
src/views/main/outBagModule/appAdmin.vue

@@ -52,7 +52,7 @@
         <el-table-column label="操作" width="130" v-permission="'permission'">
           <template #default="scope">
             <div class="button">
-              <div>
+              <div v-if="scope.row.userId == store.state.user.info.userId">
                 <el-link class="button-item" type="primary" style="margin-bottom: 5px" @click="edit(scope.row)">
                   编辑
                 </el-link>
@@ -62,6 +62,11 @@
                   </template>
                 </el-popconfirm>
               </div>
+              <div v-else>
+                <el-link class="button-item" type="primary" style="margin-bottom: 5px" @click="edit(scope.row, true)">
+                  查看
+                </el-link>
+              </div>
               <!-- <div>
                 <el-link class="button-item" type="primary" style="margin-bottom: 5px"
                   @click="assignPromoter(scope.row)">
@@ -85,13 +90,13 @@
         <el-row :gutter="5">
           <el-col :span="10">
             <el-form-item label="应用名称:" required prop="appName">
-              <el-input v-model="formEdit.appName" placeholder="请输入" clearable />
+              <el-input v-model="formEdit.appName" placeholder="请输入" clearable :readonly="layer.readonly"/>
             </el-form-item>
           </el-col>
           <el-col :span="2"></el-col>
           <el-col :span="10">
             <el-form-item label="应用类型:" prop="appType">
-              <el-select v-model="formEdit.appType">
+              <el-select v-model="formEdit.appType" :disabled="layer.readonly">
                 <el-option v-for="item in getOptions('app_type')" :key="item.label" :value="item.value" :label="item.label" />
               </el-select>
             </el-form-item>
@@ -100,7 +105,7 @@
         <el-row :gutter="5">
           <el-col :span="10">
             <el-form-item label="出包渠道:" required prop="ditchId">
-              <el-select v-model="formEdit.ditchId">
+              <el-select v-model="formEdit.ditchId" :disabled="layer.readonly">
                 <el-option v-for="item in ditchListData" :key="item.ditchId" :value="item.ditchId"
                   :label="item.ditchName" />
               </el-select>
@@ -109,7 +114,7 @@
           <el-col :span="2"></el-col>
           <el-col :span="10">
             <el-form-item label="所属应用:" required prop="superiorId">
-              <el-select v-model="formEdit.superiorId">
+              <el-select v-model="formEdit.superiorId" :disabled="layer.readonly">
                 <el-option v-for="item in issuedAppData" :key="item.appId" :value="item.appId" :label="item.appName" />
               </el-select>
             </el-form-item>
@@ -118,7 +123,7 @@
         <el-row :gutter="5">
           <el-col :span="10">
             <el-form-item label="版本号:" prop="versionCode">
-              <el-input v-model="formEdit.versionCode" placeholder="请输入" clearable />
+              <el-input v-model="formEdit.versionCode" placeholder="请输入" clearable :readonly="layer.readonly" />
             </el-form-item>
           </el-col>
           <!-- <el-col :span="2"></el-col>
@@ -130,7 +135,7 @@
           </el-col> -->
         </el-row>
         <el-form-item label="更新提示:" prop="updateTips">
-          <el-input v-model="formEdit.updateTips" type="textarea" placeholder="请输入" clearable />
+          <el-input v-model="formEdit.updateTips" type="textarea" placeholder="请输入" clearable :readonly="layer.readonly"/>
         </el-form-item>
       </el-form>
     </Layer>
@@ -166,6 +171,7 @@ import Table from "@/components/table/index.vue";
 import Layer from "@/components/layer/index.vue";
 import { usePermission } from '@/hooks/usePermission.js'
 import { promoterUserAssignment, promoterUserAssignmentDelete, promoterUserQueryList } from "@/api/outBagModule.js";
+import store from '@/store'
 
 const { checkPermission } = usePermission()
 const { loadDictData, getDictionaryName, getOptions } = useGetDictList();
@@ -189,6 +195,7 @@ const formSearch = ref({
 const dynamicFormItems = ref([]);
 
 onBeforeMount(() => {
+  console.log('store.state.user', store.state.user)
   settingData();
   getList();
   getDitchList();
@@ -291,6 +298,7 @@ const layer = ref({
   show: false,
   title: "新增App",
   showButton: true,
+  readonly: false,
   width: "60vw",
   edit: false,
 });
@@ -309,16 +317,27 @@ const formEdit = ref({
   revenueDisplayRate: '',//收益,显示比例
 });
 
-const edit = (row) => {
+const edit = (row, isView = false) => {
   ruleForm.value?.resetFields();
-  if (row) {
+  layer.value.showButton = true;
+  layer.value.readonly = false;
+  if(row && isView) {
+    layer.value.title = "查看APP";
+    layer.value.edit = false;
+    layer.value.showButton = false;
+    layer.value.readonly = true;
+    formEdit.value = row;
+    formEdit.value.ditchId = Number(row.ditchId)
+    formEdit.value.revenueDisplayRate = Number(row.revenueDisplayRate)
+  }
+  else if (row) {
     layer.value.title = "编辑APP";
     layer.value.edit = true;
     formEdit.value = row;
     formEdit.value.ditchId = Number(row.ditchId)
     formEdit.value.revenueDisplayRate = Number(row.revenueDisplayRate)
-
-  } else {
+  } 
+  else {
     layer.value.title = "新增APP";
     layer.value.edit = false;
     formEdit.value = {};

+ 2 - 3
src/views/main/outBagModule/channelTypeAdmin.vue

@@ -23,7 +23,7 @@
         </el-table-column>
         <el-table-column label="操作" width="100" v-permission="'permission'">
           <template #default="scope">
-            <div class="button">
+            <div class="button" v-if="scope.row.userId == store.state.user.info.userId">
               <el-link class="button-item" type="primary" style="margin-bottom: 5px;" @click="edit(scope.row)">
                 编辑
               </el-link>
@@ -65,12 +65,11 @@ import Layer from '@/components/layer/index.vue'
 import { ElMessage } from 'element-plus'
 import { convertUTCToBeijing } from '@/utils/index.js'
 import { useGetDictList } from '@/hooks/useGetDictList.js'
-import { useStore } from 'vuex'
 import { ditchList, ditchAddOne, ditchDeleteOne, ditchUpdateOne } from '@/api/outBagModule.js'
 import { usePermission } from '@/hooks/usePermission.js'
+import store from '@/store'
 
 const { checkPermission } = usePermission()
-const store = useStore()
 const { dictData, loadDictData, getOptions, getDictionaryName } = useGetDictList();
 const form = ref(null);
 const tableData = ref([]);