Browse Source

测试页面

zhuxinbo 5 years ago
parent
commit
6a798f6d16

+ 1 - 1
src/defaultSettings.js

@@ -18,7 +18,7 @@ export default {
   navTheme: 'light', // theme for nav menu
   layout: 'sidemenu', // nav menu position: sidemenu or topmenu
   contentWidth: 'Fixed', // layout of content: Fluid or Fixed, only works when layout is topmenu
-  fixedHeader: false, // sticky header
+  fixedHeader: true, // sticky header
   fixSiderbar: false, // sticky siderbar
   autoHideHeader: false, //  auto hide header
   colorWeak: false,

+ 3 - 3
src/store/modules/app.js

@@ -57,7 +57,7 @@ const app = {
     },
     TOGGLE_FIXED_SIDERBAR: (state, fixed) => {
       Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed)
-      state.fixSiderbar = fixed
+      state.fixSiderbar = true
     },
     TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => {
       Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show)
@@ -98,12 +98,12 @@ const app = {
     },
     ToggleFixedHeader({commit}, fixedHeader) {
       if (!fixedHeader) {
-        commit('TOGGLE_FIXED_HEADER_HIDDEN', false)
+        commit('TOGGLE_FIXED_HEADER_HIDDEN', true)
       }
       commit('TOGGLE_FIXED_HEADER', fixedHeader)
     },
     ToggleFixSiderbar({commit}, fixSiderbar) {
-      commit('TOGGLE_FIXED_SIDERBAR', fixSiderbar)
+      commit('TOGGLE_FIXED_SIDERBAR', true)
     },
     ToggleFixedHeaderHidden({commit}, show) {
       commit('TOGGLE_FIXED_HEADER_HIDDEN', show)

+ 3 - 0
src/views/modules/Statistics/Statistics.vue

@@ -1470,6 +1470,9 @@ export default {
   },
   activated: function() {
     this.$nextTick(() => {
+        postAction('/v1/api/file/getFileListByPage',{page: 1,size: 10}).then(res=>{
+            console.log(res)
+        })
       var that = this
       that.drawLine(1)
       that.getKsDetail(1).then(res => {

+ 5 - 5
src/views/modules/advertiser/ProjectMemberList.vue

@@ -55,7 +55,7 @@
     <!-- table区域-end -->
 
     <!--  查看项目成员 -->
-    <a-modal :title="title" v-model="visible" @ok="handleOk" width="800px" class="close-account-my-project">
+    <a-modal :maskClosable="false" :title="title" v-model="visible" @ok="handleOk" width="800px" class="close-account-my-project">
       <div style="display:flex;line-height:50px;flex-wrap: wrap;">
         <div style="width:25%;text-align:center;" v-for="(item, index) of memberList" :key="index">
           <a-tag color="#2db7f5" @close="log(item.id)" closable>{{ item.userName }}
@@ -66,7 +66,7 @@
     </a-modal>
 
     <!--  添加项目成员 -->
-    <a-modal title="添加项目成员" v-model="visibleAdd" @ok="handleOkAdd" :confirmLoading="confirmLoading">
+    <a-modal :maskClosable="false" title="添加项目成员" v-model="visibleAdd" @ok="handleOkAdd" :confirmLoading="confirmLoading">
       <!-- /sys/user/getAllUserList -->
       <a-select v-model="appId" showSearch allowClear mode="multiple" placeholder="请选择成员" optionFilterProp="children"
         style="width: 100%" @focus="handleFocus" @blur="handleBlur" @change="handleChange" :filterOption="true"
@@ -79,7 +79,7 @@
     </a-modal>
 
     <!-- 账号绑定 -->
-    <a-modal title="账号绑定" v-model="visibleBind" @ok="handleSubmit" :width="800"
+    <a-modal :maskClosable="false" title="账号绑定" v-model="visibleBind" @ok="handleSubmit" :width="800"
       :okButtonProps="{ props: { disabled: false } }" :cancelButtonProps="{ props: { disabled: false } }">
       <a-form :form="form">
         <a-form-item label="选择方式" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
@@ -153,7 +153,7 @@
     </a-modal>
 
     <!--  查看项目下的账号 -->
-    <a-modal :title="titleAccount" v-model="visibleAccount" @ok="handleOk" width="800px"
+    <a-modal :maskClosable="false" :title="titleAccount" v-model="visibleAccount" @ok="handleOk" width="800px"
       class="close-account-my-project">
       <a-table ref="table" size="middle" bordered rowKey="id" :columns="columnsAccount" :dataSource="dataAccount"
         :pagination="ipaginationAccount" :loading="loadingAccount">
@@ -162,7 +162,7 @@
     </a-modal>
 
     <!-- 待办事件审核 -->
-    <a-modal title="待办事件审核" v-model="projectVisible" @ok="handleOkProject" width="800px"
+    <a-modal :maskClosable="false" title="待办事件审核" v-model="projectVisible" @ok="handleOkProject" width="800px"
       class="close-account-my-project" :footer="null">
       <a-table ref="table" size="middle" bordered rowKey="id" :columns="columnsProject" :dataSource="dataProject"
         :pagination="ipaginationAccount" :loading="loadingAccount">

+ 1 - 1
src/views/modules/kuaishouapp/account/advertisingGroup.vue

@@ -518,7 +518,7 @@
         }),
         ipagination: {
           current: 1,
-          pageSize: 10,
+          pageSize: 50,
           //   pageSizeOptions: ['10', '20', '30'],
           showTotal: (total, range) => {
             return range[0] + '-' + range[1] + ' 共' + total + '条'

+ 14 - 3
src/views/modules/kuaishouapp/account/copyGroup.vue

@@ -56,6 +56,13 @@
       <a-input placeholder="请填写链接"
         v-decorator="['url', { rules: [{ required: true, message: ' ' }, { validator: handleConfirmValue }] }]" />
     </a-form-item>
+      <a-form-item label=" " :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+        :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }" class="else-label" v-if="campaignType == '2'&&(getPlatForm(getData('appId'))=='1'||getPlatForm(getData('appId'))=='2')">
+
+        <a-checkbox  @change="onChange" :checked="allForm.useAppMarket">
+          优先从系统应用商店下载
+        </a-checkbox>
+      </a-form-item>
     <div style="text-align:center;font-size:16px;margin-bottom:10px">
       目标人群
     </div>
@@ -333,7 +340,8 @@
           },
           fail: [],
           success: [],
-          sceneId: [7]
+          sceneId: [7],
+          useAppMarket:false
         },
         dataList: [],
         unitId: '',
@@ -569,6 +577,7 @@
               dataJson.sceneId = JSON.parse( dataJson.sceneId )[0] == '1'? '1':'2'
               dataJson.dayBudget = dataJson.dayBudget / 1000
               this.allForm.dayBudget = dataJson.dayBudget == 0 ? '0' : '1'
+              this.allForm.useAppMarket= dataJson.useAppMarket?(dataJson.useAppMarket==0?false:true):false
               this.allForm.time = dataJson.endTime ? '2' : '1'
               this.timeRange = [moment(dataJson.beginTime), moment(dataJson.endTime)]
               this.allForm.scheduleTime = dataJson.scheduleTime.indexOf('1') != -1 ? '2' : '1'
@@ -677,7 +686,9 @@
               endTime: this.allForm.time == '2' ? moment(this.timeRange[1]).format('YYYY-MM-DD') : '',
               scheduleTime: this.allForm.scheduleTimeData
             }
-
+            if (this.allForm.useAppMarket == true || this.allForm.useAppMarket == false) {
+              params.useAppMarket = this.allForm.useAppMarket ? 1 : 0
+            }
             if (this.checkedTrue) {
               var data = this.populationData
               postAction('/kuaishou/batch/addDirectionalTemplate', {
@@ -704,7 +715,7 @@
         })
       },
       onChange(value) {
-        console.log(value)
+        this.allForm.useAppMarket =e.target.checked
       },
       handleChange(value) {
         //   this.$refs.population.getAppList(value)

+ 452 - 413
src/views/modules/kuaishouapp/account/originality.vue

@@ -1,18 +1,20 @@
 <style>
-.account-statistics .ant-card-body .count {
-  display: inline-block;
-  height: 32px;
-  line-height: 32px;
-}
-.creative-name .ant-table td {
-  white-space: nowrap;
-}
-.else-label .ant-form-item-label label::after {
-  content: '';
-  position: relative;
-  top: -0.5px;
-  margin: 0 8px 0 2px;
-}
+  .account-statistics .ant-card-body .count {
+    display: inline-block;
+    height: 32px;
+    line-height: 32px;
+  }
+
+  .creative-name .ant-table td {
+    white-space: nowrap;
+  }
+
+  .else-label .ant-form-item-label label::after {
+    content: '';
+    position: relative;
+    top: -0.5px;
+    margin: 0 8px 0 2px;
+  }
 </style>
 <template>
   <div class="creative-name">
@@ -27,20 +29,14 @@
               <a-select style="width: 120px" v-model="allType">
                 <a-select-option value="1">启动</a-select-option>
                 <a-select-option value="2">暂停</a-select-option>
+                <a-select-option value="4">修改监测链接</a-select-option>
                 <a-select-option value="3">删除</a-select-option>
               </a-select>
               <a-button @click="editStatus" style="margin:0 0 15px 15px" type="primary">确认</a-button>
             </div>
-            <a-table
-              :columns="columns"
-              :dataSource="dataList"
-              bordered
-              :scroll="{ x: true }"
-              :customRow="rowClick"
-              size="middle"
-              :pagination="ipagination"
-              :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
-            >
+            <a-table :columns="columns" :dataSource="dataList" bordered :scroll="{ x: true }" :customRow="rowClick"
+              size="middle" :pagination="ipagination"
+              :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
               <span slot="action" slot-scope="text, record">
                 <a-switch v-model="record.showSwich" @change="onChangeSwitch(record)" />
               </span>
@@ -55,92 +51,73 @@
         </a-tabs>
       </a-card>
     </a-row>
+    <a-modal v-model="visibleAll" title="批量修改第三方监测链接" @ok="handleOkAll" :width="800">
+      <a-form-item label="检测链接" :labelCol="{ lg: { span: 4 }, sm: { span: 2 } }"
+        :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }">
+        <a-input v-model="clickTrackUrl" placeholder="请输入第三方检测链接">
+        </a-input>
+      </a-form-item>
+    </a-modal>
+    <a-modal v-model="visibleFail" title="错误信息" :footer="null">
+      <div v-if="visibleData">
+        修改条数:{{ visibleData.totalCount }} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;失败条数:{{ visibleData.failCount }}
+        <div style="margin-top:20px">
+          <p v-for="(item, index) of visibleData.failInfo" :key="index">
+            <span>名称:{{ item.creativeName }}</span><br />
+            <span>错误信息:{{ item.message }}</span>
+          </p>
+        </div>
+      </div>
+    </a-modal>
     <a-modal v-model="visible" title="修改" @ok="handleOk" :width="800">
       <a-form @submit="handleSubmit" :form="form" style="margin-top:20px" :hideRequiredMark="true">
-        <a-form-item
-          label="素材类型"
-          :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
-          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
-        >
+        <a-form-item label="素材类型" :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
           <a-radio-group buttonStyle="solid" v-decorator="['creativeMaterialType', { initialValue: 1 }]">
             <a-radio-button :value="1">竖版视频</a-radio-button>
             <a-radio-button :value="2">横版视频</a-radio-button>
           </a-radio-group>
         </a-form-item>
-        <a-form-item
-          label=" "
-          :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
-          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
-          class="else-label"
-        >
+        <a-form-item label=" " :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" class="else-label">
           <a @click="getVideoList('video')">选择视频</a>
           <br />
           <video :src="video.url" controls="controls" style="width:25%" v-if="video.url"></video>
         </a-form-item>
-        <a-form-item
-          label=" "
-          :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
-          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
-          class="else-label"
-        >
+        <a-form-item label=" " :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" class="else-label">
           <a @click="getVideoList('image')">选择封面</a>
           <br />
           <img :src="image.coverUrl" style="width:25%;" v-if="image.coverUrl" />
         </a-form-item>
-        <a-form-item
-          label="创意标题"
-          :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
-          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
-        >
-          <a-input
-            class="rending"
-            v-decorator="['creativeName', { rules: [{ required: true, message: '请输入创意标题' }] }]"
-          ></a-input>
+        <a-form-item label="创意标题" :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
+          <a-input class="rending" v-decorator="['creativeName', { rules: [{ required: true, message: '请输入创意标题' }] }]">
+          </a-input>
         </a-form-item>
-        <a-form-item
-          label="广告语"
-          :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
-          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
-        >
-          <a-textarea
-            class="rending"
-            placeholder="请输入广告语"
+        <a-form-item label="广告语" :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
+          <a-textarea class="rending" placeholder="请输入广告语"
             v-decorator="['description', { rules: [{ required: true, message: '请输入广告语' }] }]"
-            :autosize="{ minRows: 2, maxRows: 6 }"
-          ></a-textarea>
+            :autosize="{ minRows: 2, maxRows: 6 }"></a-textarea>
         </a-form-item>
-        <a-form-item
-          label="行动号召"
-          :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
-          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
-        >
-          <a-select
-            v-decorator="['actionBarText', { rules: [{ required: true, message: '行动号召按钮文案' }] }]"
-            showSearch
-            allowClear
-            placeholder="选择行动号召按钮文案"
-            optionFilterProp="children"
-            :filterOption="filterOption"
-          >
+        <a-form-item label="行动号召" :labelCol="{ lg: { span: 4 }, sm: { span: 4 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
+          <a-select v-decorator="['actionBarText', { rules: [{ required: true, message: '行动号召按钮文案' }] }]" showSearch
+            allowClear placeholder="选择行动号召按钮文案" optionFilterProp="children" :filterOption="filterOption">
             <a-select-option v-for="appModel in appList" :key="appModel.id" :value="appModel.actionBarText">
               {{ appModel.actionBarText }}
             </a-select-option>
           </a-select>
         </a-form-item>
-        <a-form-item
-          label="检测链接"
-          :labelCol="{ lg: { span: 4 }, sm: { span: 2 } }"
-          :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }"
-        >
-          <a-input
-            v-decorator="[
+        <a-form-item label="检测链接" :labelCol="{ lg: { span: 4 }, sm: { span: 2 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }">
+          <a-input v-decorator="[
               'clickTrackUrl',
               {
                 rules: [{ required: true, message: '请输入第三方检测链接' }]
               }
-            ]"
-            placeholder="请输入第三方检测链接"
-          >
+            ]" placeholder="请输入第三方检测链接">
           </a-input>
         </a-form-item>
       </a-form>
@@ -150,362 +127,424 @@
 </template>
 
 <script>
-import ARow from 'ant-design-vue/es/grid/Row'
-import ACol from 'ant-design-vue/es/grid/Col'
-import moment from 'moment'
-import countTo from 'vue-count-to'
-import { mapGetters } from 'vuex'
-import { deleteAction, getAction, postAction } from '@/api/manage'
-import checkMatemal from './editMatemal'
-import pick from 'lodash.pick'
+  import ARow from 'ant-design-vue/es/grid/Row'
+  import ACol from 'ant-design-vue/es/grid/Col'
+  import moment from 'moment'
+  import countTo from 'vue-count-to'
+  import {
+    mapGetters
+  } from 'vuex'
+  import {
+    deleteAction,
+    getAction,
+    postAction
+  } from '@/api/manage'
+  import checkMatemal from './editMatemal'
+  import pick from 'lodash.pick'
 
-// import lifting from './components/lifting'
-const columns = [
-  {
-    title: '开关',
-    align: 'center',
-    dataIndex: 'action',
-    width: 100,
-    scopedSlots: { customRender: 'action' }
-  },
-  {
-    title: '创意名称',
-    dataIndex: 'creativeName',
-    align: 'center'
-  },
-  {
-    title: '操作',
-    align: 'center',
-    dataIndex: 'actionTwo',
-    width: 100,
-    scopedSlots: { customRender: 'actionTwo' }
-  },
-  {
-    title: '封面',
-    dataIndex: 'coverUrl',
-    scopedSlots: { customRender: 'coverUrl' },
-    align: 'center'
-  },
-  {
-    title: '广告创意状态',
-    dataIndex: 'status',
-    scopedSlots: { customRender: 'status' },
-    align: 'center'
-  },
-  {
-    title: '投放状态',
-    dataIndex: 'putStatus',
-    scopedSlots: { customRender: 'putStatus' },
-    align: 'center'
-  },
-  {
-    title: '广告语',
-    dataIndex: 'description',
-    scopedSlots: { customRender: 'description' },
-    align: 'center'
-  }
-]
+  // import lifting from './components/lifting'
+  const columns = [{
+      title: '开关',
+      align: 'center',
+      dataIndex: 'action',
+      width: 100,
+      scopedSlots: {
+        customRender: 'action'
+      }
+    },
+    {
+      title: '创意名称',
+      dataIndex: 'creativeName',
+      align: 'center'
+    },
+    {
+      title: '操作',
+      align: 'center',
+      dataIndex: 'actionTwo',
+      width: 100,
+      scopedSlots: {
+        customRender: 'actionTwo'
+      }
+    },
+    {
+      title: '封面',
+      dataIndex: 'coverUrl',
+      scopedSlots: {
+        customRender: 'coverUrl'
+      },
+      align: 'center'
+    },
+    {
+      title: '广告创意状态',
+      dataIndex: 'status',
+      scopedSlots: {
+        customRender: 'status'
+      },
+      align: 'center'
+    },
+    {
+      title: '投放状态',
+      dataIndex: 'putStatus',
+      scopedSlots: {
+        customRender: 'putStatus'
+      },
+      align: 'center'
+    },
+    {
+      title: '广告语',
+      dataIndex: 'description',
+      scopedSlots: {
+        customRender: 'description'
+      },
+      align: 'center'
+    }
+  ]
 
-export default {
-  name: 'account-statistics',
-  components: {
-    ACol,
-    ARow,
-    countTo,
-    checkMatemal
-  },
+  export default {
+    name: 'account-statistics',
+    components: {
+      ACol,
+      ARow,
+      countTo,
+      checkMatemal
+    },
 
-  data: function() {
-    return {
-      visible: false,
-      visibleTwo: false,
-      image: {},
-      video: {},
-      duration: 1000,
-      showEdit: false,
-      many: 1200,
-      manyTwo: null,
-      columns,
-      dataList: [],
+    data: function () {
+      return {
+        visible: false,
+        visibleAll: false,
+        visibleFail: false,
+        visibleData: null,
+        clickTrackUrl: '',
+        image: {},
+        video: {},
+        duration: 1000,
+        showEdit: false,
+        many: 1200,
+        manyTwo: null,
+        columns,
+        dataList: [],
 
-      rowClick: (record, index) => ({
-        // 事件
-        on: {
-          dblclick: () => {
-            // 点击改行时要做的事情
-            // alert(index)
+        rowClick: (record, index) => ({
+          // 事件
+          on: {
+            dblclick: () => {
+              // 点击改行时要做的事情
+              // alert(index)
+            }
+          }
+        }),
+        ipagination: {
+          current: 1,
+          pageSize: 15,
+          //   pageSizeOptions: ['10', '20', '30'],
+          showTotal: (total, range) => {
+            return range[0] + '-' + range[1] + ' 共' + total + '条'
+          },
+          showQuickJumper: true,
+          //   showSizeChanger: true,
+          total: 0,
+          onChange: current => {
+            // 切换分页时的回调,
+            // 当在页面定义change事件时,切记要把此处的事件清除,因为这两个事件重叠了,可能到时候会导致一些莫名的bug
+            this.ipagination.current = current
+            this.getDataList(this.titleKey)
           }
-        }
-      }),
-      ipagination: {
-        current: 1,
-        pageSize: 10,
-        //   pageSizeOptions: ['10', '20', '30'],
-        showTotal: (total, range) => {
-          return range[0] + '-' + range[1] + ' 共' + total + '条'
         },
-        showQuickJumper: true,
-        //   showSizeChanger: true,
-        total: 0,
-        onChange: current => {
-          // 切换分页时的回调,
-          // 当在页面定义change事件时,切记要把此处的事件清除,因为这两个事件重叠了,可能到时候会导致一些莫名的bug
-          this.ipagination.current = current
-          this.getDataList(this.titleKey)
+        name: null,
+        title: [],
+        titleKey: null,
+        selectedRowKeys: [],
+        selectedRowKeysValue: [],
+        allType: '1',
+        form: this.$form.createForm(this),
+        appList: [],
+        creativeId: ''
+      }
+    },
+    filters: {
+      status(sta) {
+        var data = {
+          '-1': '不限',
+          1: '已暂停',
+          3: '计划超预算',
+          6: '余额不足',
+          11: '组审核中',
+          12: '组审核未通过',
+          14: '已结束',
+          15: '组已暂停',
+          17: '组超预算',
+          19: '未达投放时间',
+          41: '审核中',
+          42: '审核未通过',
+          46: '已暂停',
+          52: '投放中',
+          53: '作品异常',
+          54: '视频审核通过'
         }
+        return data[sta]
       },
-      name: null,
-      title: [],
-      titleKey: null,
-      selectedRowKeys: [],
-      selectedRowKeysValue: [],
-      allType: '1',
-      form: this.$form.createForm(this),
-      appList: [],
-      creativeId: ''
-    }
-  },
-  filters: {
-    status(sta) {
-      var data = {
-        '-1': '不限',
-        1: '已暂停',
-        3: '计划超预算',
-        6: '余额不足',
-        11: '组审核中',
-        12: '组审核未通过',
-        14: '已结束',
-        15: '组已暂停',
-        17: '组超预算',
-        19: '未达投放时间',
-        41: '审核中',
-        42: '审核未通过',
-        46: '已暂停',
-        52: '投放中',
-        53: '作品异常',
-        54: '视频审核通过'
+      putStatus(sta) {
+        var data = {
+          1: '投放中',
+          2: '暂停'
+        }
+        return data[sta]
       }
-      return data[sta]
     },
-    putStatus(sta) {
-      var data = { 1: '投放中', 2: '暂停' }
-      return data[sta]
-    }
-  },
-  methods: {
-    editOriginality(item) {
-      this.creativeId = item.creativeId
+    methods: {
+      editOriginality(item) {
+        this.creativeId = item.creativeId
 
-      getAction('/kuaishou/batch/getActionBarText', { campaignId: localStorage.getItem('campaignId') }).then(res => {
-        if (res.success) {
-          this.appList = res.result
-        }
-      })
-      getAction('/kuaishou/batch/getVideoDetail', {
-        accountId: localStorage.getItem('accountId'),
-        photoId: item.photoId
-      }).then(res => {
-        if (res.success) {
-          console.log(res)
-          this.video.url = res.result.url
-          this.video.photoId = res.result.photoId
+        getAction('/kuaishou/batch/getActionBarText', {
+          campaignId: localStorage.getItem('campaignId')
+        }).then(res => {
+          if (res.success) {
+            this.appList = res.result
+          }
+        })
+        getAction('/kuaishou/batch/getVideoDetail', {
+          accountId: localStorage.getItem('accountId'),
+          photoId: item.photoId
+        }).then(res => {
+          if (res.success) {
+            console.log(res)
+            this.video.url = res.result.url
+            this.video.photoId = res.result.photoId
 
-          this.image.coverUrl = item.coverUrl
-          this.image.imageToken = item.imageToken
+            this.image.coverUrl = item.coverUrl
+            this.image.imageToken = item.imageToken
 
-          this.visible = true
-          this.$nextTick(() => {
-            this.form.setFieldsValue(
-              pick(item, ['clickTrackUrl', 'actionBarText', 'creativeName', 'description', 'creativeMaterialType'])
-            )
-          })
+            this.visible = true
+            this.$nextTick(() => {
+              this.form.setFieldsValue(
+                pick(item, ['clickTrackUrl', 'actionBarText', 'creativeName', 'description',
+                  'creativeMaterialType'
+                ])
+              )
+            })
+          }
+        })
+      },
+      handleOk() {
+        this.handleSubmit()
+      },
+      handleOkAll() {
+        var params = {}
+        params.accountId = localStorage.getItem('accountId')
+        params.creativeJson = {
+          clickTrackUrl: this.clickTrackUrl
         }
-      })
-    },
-    handleOk() {
-      this.handleSubmit()
-    },
-    handleSubmit() {
-      this.form.validateFields((err, values) => {
-        if (!err) {
-          var params = {
-            photoId: this.video.photoId,
-            imageToken: this.image.imageToken,
-            ...values,
-            creativeId: this.creativeId,
-            accountId: localStorage.getItem('accountId')
+        params.creativeIds = this.selectedRowKeysValue
+        postAction('/kuaishou/batch/batchUpdateCreative', params).then(res => {
+          console.log(res)
+          if (res.success) {
+            if (res.result.failCount > 0) {
+              this.visibleAll = false
+              this.visibleFail = true
+              this.visibleData = res.result
+            } else {
+              this.getDataList(localStorage.getItem('originalityKey'))
+              this.$message.success('批量修改成功')
+              this.allType = '1'
+              this.selectedRowKeysValue = []
+              this.selectedRowKeys = []
+              this.clickTrackUrl = ''
+            }
+          } else {
+            this.$message.error('修改失败')
+          }
+        })
+      },
+      handleSubmit() {
+        this.form.validateFields((err, values) => {
+          if (!err) {
+            var params = {
+              photoId: this.video.photoId,
+              imageToken: this.image.imageToken,
+              ...values,
+              creativeId: this.creativeId,
+              accountId: localStorage.getItem('accountId')
+            }
+            console.log(params)
+            postAction('/kuaishou/batch/updateCreative', params).then(res => {
+              console.log(res)
+              if (res.result.code == 0) {
+                this.visible = false
+                this.$message.success('修改成功')
+                this.getDataList(localStorage.getItem('originalityKey'))
+              } else {
+                this.$message.error(res.result.message)
+              }
+            })
           }
-          console.log(params)
-          postAction('/kuaishou/batch/updateCreative', params).then(res => {
+        })
+      },
+      getVideoList(type) {
+        if (type == 'video') {
+          this.$refs.check.showCheck(this.getData('creativeMaterialType'), '/kuaishou/batch/getVideoList', type)
+        } else {
+          this.$refs.check.showCheck(this.getData('creativeMaterialType'), '/kuaishou/batch/getImageList', type)
+        }
+      },
+      showData(item, type) {
+        if (type == 'video') {
+          this.video = {}
+          console.log(item, 'v')
+          this.video.url = item.url
+          this.video.photoId = item.photoId
+        } else {
+          console.log(item, 'i')
+          this.image = {}
+          this.image.coverUrl = item.url
+          this.image.imageToken = item.imageToken
+        }
+      },
+      getData(className) {
+        return this.form.getFieldValue(className)
+      },
+      filterOption(input, option) {
+        return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      },
+      ...mapGetters(['nickname', 'avatar', 'userInfo']),
+      onChangeSwitch(item) {
+        console.log(item)
+        var params = {}
+        params.accountId = localStorage.getItem('accountId')
+        params.putStatus = item.showSwich ? 1 : 2
+        params.userId = this.userInfo().id
+        params.creativeIds = [item.creativeId]
+        postAction('/kuaishou/batch/batchUpdateCreativeStatus', params).then(res => {
+          console.log(res)
+        })
+      },
+      editStatus() {
+        if (this.allType == '4') {
+          // /kuaishou/batch/batchUpdateCreative
+          this.visibleAll = true
+        } else {
+          var params = {}
+          params.accountId = localStorage.getItem('accountId')
+          params.putStatus = this.allType
+          params.userId = this.userInfo().id
+          params.creativeIds = this.selectedRowKeysValue
+          postAction('/kuaishou/batch/batchUpdateCreativeStatus', params).then(res => {
             console.log(res)
-            if (res.result.code == 0) {
-              this.visible = false
-              this.$message.success('修改成功')
+            if (res.success) {
               this.getDataList(localStorage.getItem('originalityKey'))
-            } else {
-              this.$message.error(res.result.message)
+              this.$message.success('批量修改成功')
+              this.allType = '1'
+              this.selectedRowKeysValue = []
+              this.selectedRowKeys = []
             }
           })
         }
-      })
-    },
-    getVideoList(type) {
-      if (type == 'video') {
-        this.$refs.check.showCheck(this.getData('creativeMaterialType'), '/kuaishou/batch/getVideoList', type)
-      } else {
-        this.$refs.check.showCheck(this.getData('creativeMaterialType'), '/kuaishou/batch/getImageList', type)
-      }
-    },
-    showData(item, type) {
-      if (type == 'video') {
-        this.video = {}
-        console.log(item, 'v')
-        this.video.url = item.url
-        this.video.photoId = item.photoId
-      } else {
-        console.log(item, 'i')
-        this.image = {}
-        this.image.coverUrl = item.url
-        this.image.imageToken = item.imageToken
-      }
-    },
-    getData(className) {
-      return this.form.getFieldValue(className)
-    },
-    filterOption(input, option) {
-      return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-    },
-    ...mapGetters(['nickname', 'avatar', 'userInfo']),
-    onChangeSwitch(item) {
-      console.log(item)
-      var params = {}
-      params.accountId = localStorage.getItem('accountId')
-      params.putStatus = item.showSwich ? 1 : 2
-      params.userId = this.userInfo().id
-      params.creativeIds = [item.creativeId]
-      postAction('/kuaishou/batch/batchUpdateCreativeStatus', params).then(res => {
-        console.log(res)
-      })
-    },
-    editStatus() {
-      var params = {}
-      params.accountId = localStorage.getItem('accountId')
-      params.putStatus = this.allType
-      params.userId = this.userInfo().id
-      params.creativeIds = this.selectedRowKeysValue
-      postAction('/kuaishou/batch/batchUpdateCreativeStatus', params).then(res => {
-        console.log(res)
-        if (res.success) {
-          this.getDataList(localStorage.getItem('originalityKey'))
-          this.$message.success('批量修改成功')
-          this.allType = '1'
-          this.selectedRowKeysValue = []
-          this.selectedRowKeys = []
+
+      },
+      onSelectChange(selectedRowKeys, selectionRows) {
+        this.selectedRowKeys = selectedRowKeys
+        this.selectedRowKeysValue = selectionRows.map(item => {
+          return item.creativeId
+        })
+        //    this.selectedRowKeysValue.length > 0 ? this.selectedRowKeysValue :
+      },
+      onTabChange(key) {
+        this.ipagination.current = 1
+        this.titleKey = key
+        localStorage.setItem('originalityKey', key)
+        this.getDataList(key)
+      },
+      show() {
+        if (!this.showEdit) {
+          this.many = this.manyTwo
+        } else {
+          this.manyTwo = this.many
         }
-      })
-    },
-    onSelectChange(selectedRowKeys, selectionRows) {
-      this.selectedRowKeys = selectedRowKeys
-      this.selectedRowKeysValue = selectionRows.map(item => {
-        return item.creativeId
-      })
-      //    this.selectedRowKeysValue.length > 0 ? this.selectedRowKeysValue :
-    },
-    onTabChange(key) {
-      this.ipagination.current = 1
-      this.titleKey = key
-      localStorage.setItem('originalityKey', key)
-      this.getDataList(key)
-    },
-    show() {
-      if (!this.showEdit) {
-        this.many = this.manyTwo
-      } else {
-        this.manyTwo = this.many
-      }
-    },
-    editShow(item) {
-      if (!item.edit) {
-        item.money = item.elseMoney
-      } else {
-        item.elseMoney = item.money
-      }
-    },
-    dianji() {
-      if (localStorage.getItem('step')) {
-        this.$message.error('请关闭创建页面后,重新进行创建')
-        return
-      } else {
-        localStorage.setItem('step', 2)
-        var dataJson = JSON.stringify(this.title)
-        console.log(this.title, this.titleKey)
-        localStorage.setItem('pans', dataJson)
-        this.$router.replace({ path: '/account/stepForm' })
-      }
-    },
-    getDataList(id) {
-      this.dataList = []
-      var params = {}
-      params.unitId = id
-      params.accountId = localStorage.getItem('accountId')
-      params.pageNo = this.ipagination.current
-      params.pageSize = this.ipagination.pageSize
-      getAction('/kuaishou/batch/getCreativeList', params).then(res => {
-        if (res.code == 0) {
-          this.dataList = res.result.records.map((v, index) => {
-            return {
-              ...v,
-              key: index,
-              edit: false,
-              showSwich: v.putStatus == 1 ? true : false
-            }
+      },
+      editShow(item) {
+        if (!item.edit) {
+          item.money = item.elseMoney
+        } else {
+          item.elseMoney = item.money
+        }
+      },
+      dianji() {
+        if (localStorage.getItem('step')) {
+          this.$message.error('请关闭创建页面后,重新进行创建')
+          return
+        } else {
+          localStorage.setItem('step', 2)
+          var dataJson = JSON.stringify(this.title)
+          console.log(this.title, this.titleKey)
+          localStorage.setItem('pans', dataJson)
+          this.$router.replace({
+            path: '/account/stepForm'
           })
-          this.ipagination.total = res.result.total
         }
-      })
-    },
-    remove(targetKey) {
-      let activeKey = this.titleKey
-      let lastIndex
-      this.title.forEach((pane, i) => {
-        if (pane.key === targetKey) {
-          lastIndex = i - 1
+      },
+      getDataList(id) {
+        this.dataList = []
+        var params = {}
+        params.unitId = id
+        params.accountId = localStorage.getItem('accountId')
+        params.pageNo = this.ipagination.current
+        params.pageSize = this.ipagination.pageSize
+        getAction('/kuaishou/batch/getCreativeList', params).then(res => {
+          if (res.code == 0) {
+            this.dataList = res.result.records.map((v, index) => {
+              return {
+                ...v,
+                key: index,
+                edit: false,
+                showSwich: v.putStatus == 1 ? true : false
+              }
+            })
+            this.ipagination.total = res.result.total
+          }
+        })
+      },
+      remove(targetKey) {
+        let activeKey = this.titleKey
+        let lastIndex
+        this.title.forEach((pane, i) => {
+          if (pane.key === targetKey) {
+            lastIndex = i - 1
+          }
+        })
+        const panes = this.title.filter(pane => pane.key !== targetKey)
+        if (panes.length && activeKey === targetKey) {
+          if (lastIndex >= 0) {
+            activeKey = panes[lastIndex].key
+          } else {
+            activeKey = panes[0].key
+          }
         }
-      })
-      const panes = this.title.filter(pane => pane.key !== targetKey)
-      if (panes.length && activeKey === targetKey) {
-        if (lastIndex >= 0) {
-          activeKey = panes[lastIndex].key
+        this.title = panes
+        this.titleKey = activeKey
+        if (this.title.length == 0) {
+          this.$bus.$emit('remove', '/account/originality')
         } else {
-          activeKey = panes[0].key
+          localStorage.setItem('originality', JSON.stringify(this.title))
+          localStorage.setItem('originalityKey', this.titleKey)
+          this.getDataList(activeKey)
         }
       }
-      this.title = panes
-      this.titleKey = activeKey
-      if (this.title.length == 0) {
-        this.$bus.$emit('remove', '/account/originality')
-      } else {
-        localStorage.setItem('originality', JSON.stringify(this.title))
-        localStorage.setItem('originalityKey', this.titleKey)
-        this.getDataList(activeKey)
-      }
+    },
+    watch: {},
+    computed: {},
+    activated() {
+      this.titleKey = localStorage.getItem('originalityKey')
+      console.log(this.$route.params)
+      this.title = JSON.parse(localStorage.getItem('originality')).map(item => {
+        return {
+          key: item.unitId ? item.unitId + '' : item.key + '',
+          tab: item.unitName ? '广告组:' + item.unitName : '广告组:' + item.tab,
+          sceneId: item.sceneId,
+          bid_type: item.ocpxActionType
+        }
+      })
+      this.getDataList(localStorage.getItem('originalityKey'))
+      this.data = JSON.parse(localStorage.getItem('originality'))
     }
-  },
-  watch: {},
-  computed: {},
-  activated() {
-    this.titleKey = localStorage.getItem('originalityKey')
-    console.log(this.$route.params)
-    this.title = JSON.parse(localStorage.getItem('originality')).map(item => {
-      return {
-        key: item.unitId ? item.unitId + '' : item.key + '',
-        tab: item.unitName ? '广告组:' + item.unitName : '广告组:' + item.tab,
-        sceneId: item.sceneId,
-        bid_type: item.ocpxActionType
-      }
-    })
-    this.getDataList(localStorage.getItem('originalityKey'))
-    this.data = JSON.parse(localStorage.getItem('originality'))
   }
-}
-</script>
+</script>

+ 83 - 21
src/views/modules/kuaishouapp/account/stepForm/Step3.vue

@@ -145,9 +145,11 @@
                         <a-form-item label="广告语">
                           <a-textarea class="rending" placeholder="请输入广告语" v-model="item.description"
                             :autosize="{ minRows: 2, maxRows: 6 }"></a-textarea>
+                          <a-tag v-for="(itemTag,indexTag) of tags" :key="indexTag"
+                            @click="getChange(item, itemTag, bestIndex)">{{itemTag.name}}</a-tag>
                         </a-form-item>
                         <a-form-item label="创意标题">
-                          <a-input class="rending" v-model="item.name"></a-input>
+                          <a-input v-model="item.name"></a-input>
                         </a-form-item>
                       </div>
                     </a-card>
@@ -169,16 +171,25 @@
             </a-select>
           </a-form-item>
           <a-form-item label="监测链接" :labelCol="labelCol" :wrapperCol="wrapperCol">
-            <a-input v-decorator="[
+            <a-input v-if="pane.bid_type == 6" v-decorator="[
                 'clickTrackUrl',
                 {
                   rules: [
-                    { required: pane.bidType == 6, message: '请输入第三方检测链接' },
+                    {  message: '请输入第三方检测链接' },
                     { validator: handleConfirmValue }
                   ]
                 }
               ]" placeholder="请输入第三方检测链接">
             </a-input>
+            <a-input v-else v-decorator="[
+                'clickTrackUrl',
+                {
+                  rules: [
+                    {  message: '请输入第三方检测链接' }
+                  ]
+                }
+              ]" placeholder="请输入第三方检测链接">
+            </a-input>
           </a-form-item>
         </a-form>
       </a-tab-pane>
@@ -187,7 +198,7 @@
       <a-button type="primary" @click="handleSubmit" :loading="loading">提交</a-button>
     </a-form-item>
     <checkMatemal ref="check" @showVideo="showData"></checkMatemal>
-    <a-modal v-model="visible" title="广告创意创建情况">
+    <a-modal :maskClosable="false" v-model="visible" title="广告创意创建情况">
       <div>
         创建成功:{{ allForm.success.length }}条
         <div style="margin-top:20px">
@@ -211,7 +222,7 @@
         </a-button>
       </template>
     </a-modal>
-    <a-modal title="封面上传" @cancel="closeImage" @afterClose="closeImage" v-model="addImageVisible">
+    <a-modal :maskClosable="false" title="封面上传" @cancel="closeImage" @afterClose="closeImage" v-model="addImageVisible">
       <template slot="footer">
         <a-button key="back" @click="closeImage">取消</a-button>
         <a-button key="submit" type="primary" @click="handleOkImage" :loading="loadingImage">
@@ -220,7 +231,7 @@
       </template>
       <a-form-item label="" class="add-image-material">
         <upload-to-ali style="width:100%" v-model="urlListImage.url" :customDomain="customDomain" :multiple="true"
-          preview :region="region" :bucket="bucket" :accept="acceptImage" :max="10" :size="1024000"
+          preview :region="region" :bucket="bucket" :accept="acceptImage" :max="15" :size="1024000"
           :accessKeyId="accessKeyId" :accessKeySecret="accessKeySecret" :before-upload="fileWater" :dir="dirImg"
           @delete='deleteImage' @loaded="overUploadImage"></upload-to-ali>
         <span v-if="material.filter(item => item == false).length > 0 && urlListImage.url.length > 0"
@@ -231,7 +242,7 @@
       </a-form-item>
     </a-modal>
 
-    <a-modal title="视频上传" @cancel="closeVideo" @afterClose="closeVideo" v-model="addVideoVisible">
+    <a-modal :maskClosable="false" title="视频上传" @cancel="closeVideo" @afterClose="closeVideo" v-model="addVideoVisible">
       <template slot="footer">
         <a-button key="back" @click="closeVideo">取消</a-button>
         <a-button key="submit" type="primary" @click="handleOkVideo" :loading="loadingVideo">
@@ -246,7 +257,7 @@
         <span v-if="messageTip" style="color:red">{{messageTip}}</span>
       </a-form-item>
     </a-modal>
-    <a-modal title="抽帧展示" v-model="chouzhen" width="60%">
+    <a-modal :maskClosable="false" title="抽帧展示" v-model="chouzhen" width="60%">
       <template slot="footer">
         <a-button key="back" @click="chouzhen=false">关闭</a-button>
         <a-button key="submit" type="primary" @click="handleOkChouzhen">
@@ -272,10 +283,10 @@
     </a-modal>
 
 
-    <a-modal title="选择素材" v-model="visibleMatemal" @ok="handleOkShow" :width="1000">
+    <a-modal :maskClosable="false" title="选择素材" v-model="visibleMatemal" @ok="handleOkShow" :width="1000">
       <a-tabs type="card" @change="callback" v-model="active" class="check-video">
         <a-tab-pane :tab="item.label" v-for="item of tab" :key="item.value">
-          <a-range-picker name="buildTime" style="width: 400px;margin:10px 0" v-model="time" v-if="active==0"/>
+          <a-range-picker name="buildTime" style="width: 400px;margin:10px 0" v-model="time" v-if="active==0" />
           <ul v-if="dataSource.length>0" style="overflow:auto;padding-left:0">
             <a-checkbox-group v-model="checkVideo" @change="onChangeVideo">
               <li v-for="(item,index) of dataSource" :key="index" class="chouzhen">
@@ -343,6 +354,7 @@
     },
     data() {
       return {
+        tags:[],
         visibleMatemal: false,
         time: [],
         channelType: 0,
@@ -588,13 +600,13 @@
           this.checkVideo = []
           this.active = 0
           this.time = []
-        //   var params = {}
-        //   params.accountId = localStorage.getItem('accountId')
-        //   params.materialType = this.getData('creativeMaterialType')
-        //   params.pageSize = this.ipagination.pageSize
-        //   params.pageNo = this.ipagination.current
-        //   params.channelType = 0
-        //   this.showVideoList('/kuaishou/batch/getVideoList', params)
+          //   var params = {}
+          //   params.accountId = localStorage.getItem('accountId')
+          //   params.materialType = this.getData('creativeMaterialType')
+          //   params.pageSize = this.ipagination.pageSize
+          //   params.pageNo = this.ipagination.current
+          //   params.channelType = 0
+          //   this.showVideoList('/kuaishou/batch/getVideoList', params)
         } else {
           this.$refs.check.showCheck(
             this.getData('creativeMaterialType'),
@@ -790,6 +802,7 @@
         nowIndex = index
         bestIndex = bestIndex
         this.addImageVisible = true
+        this.loadingImage = false
       },
       closeImage() {
         this.addImageVisible = false
@@ -800,7 +813,7 @@
         this.imageArrList = []
         nowIndex = 0
         bestIndex = 0
-
+        this.loadingImage = false
       },
       closeVideo() {
         this.addVideoVisible = false
@@ -821,8 +834,6 @@
         }
         postAction("/kusiShouUpload/image", params).then(res => {
           if (res.success) {
-
-
             if (res.result.length + this.contentAll > 15) {
               this.$message.error('当前上传封面' + res.result.length + '张,最多可上传' + (15 - this.contentAll) + '张')
               this.loadingImage = false
@@ -1088,7 +1099,51 @@
             }
           }
         })
-      }
+      },
+      judge(item) {
+        var re = /[(.*?)]/g
+        var array = []
+        var temp
+        while ((temp = re.exec(item.text))) {
+          array.push(temp[1])
+        }
+        console.log(array)
+        item.countTag = array.length
+      },
+      getChange(item, tag, index) {
+        console.log(item)
+        this.judge(item)
+        var node = document.getElementsByClassName('rending')[index]
+        var v = '[' + tag.name + ']'
+        if (document.selection) {
+          //IE
+          node.focus()
+          var sel = document.selection.createRange()
+          sel.text = v
+          sel.select()
+          item.description = v
+        } else if (node.selectionStart || node.selectionStart == '0') {
+          //MOZILLA/GOOGLE
+          var startPos = node.selectionStart
+          var endPos = node.selectionEnd
+          var restoreTop = node.scrollTop
+          node.value = node.value.substring(0, startPos) + v + node.value.substring(endPos, node.value.length)
+          if (restoreTop > 0) {
+            node.scrollTop = restoreTop
+          }
+          item.text = node.value
+          node.focus()
+          node.selectionStart = startPos + v.length
+          node.selectionEnd = startPos + v.length
+          item.description = node.value
+        } else {
+          //OTHER
+          node.value += v
+          item.text = node.value
+          node.focus()
+          item.description = node.value
+        }
+      },
     },
     computed: {
       dirImg() {
@@ -1188,6 +1243,13 @@
           }
         })
       }
+      getAction('/kuaishou/batch/creativeWord', {
+        accountId: localStorage.getItem('accountId')
+      }).then(res => {
+        if(res.success){
+          this.tags = res.result
+        }
+      })
     }
   }
 </script>

+ 7 - 1
src/views/modules/material/videoMaterial.vue

@@ -303,6 +303,12 @@ a {
             <!-- <a-form-item label="项目名称"> -->
             <selectTable :projectId.sync="queryParam.projectId"></selectTable>
           </a-col>
+           <a-col :md="8" :sm="8">
+            <a-form-item label="素材名称">
+              <a-input placeholder="请输入素材名称" v-model="queryParam.materialName"></a-input>
+            </a-form-item>
+          </a-col>
+          <!--  -->
           <a-col :md="8" :sm="8">
             <a-form-item label="时间选择">
               <a-date-picker v-model="queryParam.createTime" format="YYYY-MM-DD" style="width:100%" />
@@ -1591,7 +1597,7 @@ export default {
       item.showVideo = true
     },
     tongbu() {
-      this.$refs.check.getData('/ctop/userAllocation/getAccountList', {
+      this.$refs.check.getData('/ctop/userAllocation/getAccountsByProjectId', {
         userId: this.userInfo().id,
         projectId: this.queryParam.projectId
       })

+ 9 - 5
vue.config.js

@@ -64,18 +64,22 @@ module.exports = {
          }
        },*/
       '/jeecg-boot': {
-        // target: 'http://39.97.120.42:8080', //请求本地 需要jeecg-boot后台项目  生产环境
-        target: 'http://192.168.1.23:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
+        target: 'http://39.97.120.42:8080', //请求本地 需要jeecg-boot后台项目  生产环境
+        // target: 'http://192.168.1.23:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.1.22:8080', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.0.111:8080', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.1.103:8080', //请求本地 需要jeecg-boot后台项目
         // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云
         // target: 'http://192.168.1.54:8080', //请求本地 需要jeecg-boot后台项目  孙震
         // target: 'http://192.168.1.165:8088', //请求本地 需要jeecg-boot后台项目  毕洁泉
-        target: 'http://192.168.1.165:8848', //请求本地 需要jeecg-boot后台项目  毕洁泉
-        // target: 'http://192.168.1.251:80', //请求本地 需要jeecg-boot后台项目 
+        // target: 'http://192.168.1.165:8848', //请求本地 需要jeecg-boot后台项目  毕洁泉
+        // target: 'http://192.168.1.251:80', //请求本地 需要jeecg-boot后台项目 ,
+        // target:'https://trac.tjyourong.com.cn',
         ws: false,
-        changeOrigin: true
+        changeOrigin: true,
+        // pathRewrite: {
+        //     '/jeecg-boot': ''  //默认所有请求都加了jeecg-boot前缀,需要去掉
+        //   }
       },
     },
     // before(app) {