|
@@ -17,7 +17,7 @@
|
|
|
:bordered="false"
|
|
|
:tabList="tabListNoTitle"
|
|
|
:activeTabKey="noTitleKey"
|
|
|
- @tabChange="key => onTabChange(key, 'noTitleKey')"
|
|
|
+ @tabChange="(key) => onTabChange(key, 'noTitleKey')"
|
|
|
class="my-project"
|
|
|
>
|
|
|
<!-- 查询区域 -->
|
|
@@ -30,14 +30,9 @@
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="8">
|
|
|
- <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
|
|
+ <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
|
|
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
|
|
- <a-button
|
|
|
- type="primary"
|
|
|
- @click="searchReset"
|
|
|
- icon="reload"
|
|
|
- style="margin-left: 8px"
|
|
|
- >重置</a-button>
|
|
|
+ <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
|
|
</span>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -57,10 +52,9 @@
|
|
|
:loading="loading"
|
|
|
>
|
|
|
<span slot="maxBid" slot-scope="maxBid">{{ maxBid / 1000 }}</span>
|
|
|
- <span
|
|
|
- slot="mediaId"
|
|
|
- slot-scope="mediaId"
|
|
|
- >{{ mediaId == 1 ? '头条' :mediaId == 2? '快手':mediaId == 3?'头条内广':'快手内广' }}</span>
|
|
|
+ <span slot="mediaId" slot-scope="mediaId">{{
|
|
|
+ mediaId == 1 ? '头条' : mediaId == 2 ? '快手' : mediaId == 3 ? '头条内广' : '快手内广'
|
|
|
+ }}</span>
|
|
|
<span slot="action" slot-scope="text, record">
|
|
|
<a @click="handleEdit(record)">{{ noTitleKey == 'myProject' ? '查看成员' : '账号绑定' }}</a>
|
|
|
<a-divider type="vertical" />
|
|
@@ -70,8 +64,9 @@
|
|
|
<a
|
|
|
@click="projectLook(record)"
|
|
|
v-if="noTitleKey == 'myProject'"
|
|
|
- :disabled="record.needExamine == 0||record.needExamine == null"
|
|
|
- >待办事项</a>
|
|
|
+ :disabled="record.needExamine == 0 || record.needExamine == null"
|
|
|
+ >待办事项</a
|
|
|
+ >
|
|
|
</a-badge>
|
|
|
</span>
|
|
|
</a-table>
|
|
@@ -87,8 +82,8 @@
|
|
|
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">
|
|
|
+ <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 }}
|
|
|
<a-divider type="vertical" />
|
|
@@ -139,11 +134,12 @@
|
|
|
title="账号绑定"
|
|
|
v-model="visibleBind"
|
|
|
@ok="handleSubmit"
|
|
|
+ @cancel="handleCancel"
|
|
|
:width="800"
|
|
|
:okButtonProps="{ props: { disabled: false } }"
|
|
|
:cancelButtonProps="{ props: { disabled: false } }"
|
|
|
>
|
|
|
- <a-form :form="form">
|
|
|
+ <a-form :form="formEdit">
|
|
|
<a-form-item
|
|
|
label="选择方式"
|
|
|
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
|
|
@@ -154,7 +150,7 @@
|
|
|
<a-radio-button value="login">登录</a-radio-button>
|
|
|
</a-radio-group>
|
|
|
</a-form-item>
|
|
|
- <div v-if="mode=='authorization'">
|
|
|
+ <div v-if="mode == 'authorization'">
|
|
|
<a-form-item
|
|
|
label="媒体:"
|
|
|
:label-col="{ xs: { span: 24 }, sm: { span: 5 } }"
|
|
@@ -165,7 +161,9 @@
|
|
|
<a-radio-button value="bytedance">头条</a-radio-button>
|
|
|
</a-radio-group>
|
|
|
<br />
|
|
|
- <span style="color:red;" v-if="loginType == 'bytedance'">*重要:如存在一户多开情况,请勾选所有子账号进行授权!!!</span>
|
|
|
+ <span style="color: red" v-if="loginType == 'bytedance'"
|
|
|
+ >*重要:如存在一户多开情况,请勾选所有子账号进行授权!!!</span
|
|
|
+ >
|
|
|
</a-form-item>
|
|
|
<a-form-item
|
|
|
label="开户代理商:"
|
|
@@ -176,7 +174,9 @@
|
|
|
<a-radio-group buttonStyle="outline" v-model="id">
|
|
|
<!-- <a-radio-button value="0">否</a-radio-button>
|
|
|
<a-radio-button value="1">是</a-radio-button> -->
|
|
|
- <a-radio-button v-for="item in authConfigList" :key="item.id" :value='item.id'>{{item.agentName}}</a-radio-button>
|
|
|
+ <a-radio-button v-for="item in authConfigList" :key="item.id" :value="item.id">{{
|
|
|
+ item.agentName
|
|
|
+ }}</a-radio-button>
|
|
|
</a-radio-group>
|
|
|
</a-form-item>
|
|
|
<a-form-item
|
|
@@ -199,11 +199,11 @@
|
|
|
>
|
|
|
<!-- <a-input v-decorator="['warningAmount', { rules: [{ required: true, message: '请输入预警金额' }] }]" /> -->
|
|
|
<a-input-number
|
|
|
- style="width:50%"
|
|
|
+ style="width: 50%"
|
|
|
v-decorator="[
|
|
|
- 'warningAmount',
|
|
|
- { rules: [{ required: true, message: '请输入预警金额' }], initialValue: 5000 }
|
|
|
- ]"
|
|
|
+ 'warningAmount',
|
|
|
+ { rules: [{ required: true, message: '请输入预警金额' }], initialValue: 5000 },
|
|
|
+ ]"
|
|
|
/>
|
|
|
</a-form-item>
|
|
|
<a-form-item
|
|
@@ -213,11 +213,11 @@
|
|
|
>
|
|
|
<a-input-number
|
|
|
:step="0.1"
|
|
|
- style="width:50%"
|
|
|
+ style="width: 50%"
|
|
|
v-decorator="[
|
|
|
- 'warningProportion',
|
|
|
- { rules: [{ required: true, message: '请输入预警比例' }], initialValue: 1.5 }
|
|
|
- ]"
|
|
|
+ 'warningProportion',
|
|
|
+ { rules: [{ required: true, message: '请输入预警比例' }], initialValue: 1.5 },
|
|
|
+ ]"
|
|
|
/>
|
|
|
</a-form-item>
|
|
|
</div>
|
|
@@ -248,6 +248,47 @@
|
|
|
<a-input type="password" v-model="password" placeholder="请输入密码" />
|
|
|
</a-form-item>
|
|
|
</div>
|
|
|
+ <a-form-item
|
|
|
+ label="自动投放"
|
|
|
+ :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
|
|
|
+ :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
|
|
|
+ >
|
|
|
+ <a-radio-group
|
|
|
+ buttonStyle="outline"
|
|
|
+ v-decorator="[
|
|
|
+ 'autoDelivery',
|
|
|
+ { rules: [{ required: true, message: '请选择是否自动投放' }], initialValue: 1 },
|
|
|
+ ]"
|
|
|
+ >
|
|
|
+ <a-radio-button :value="1">开启</a-radio-button>
|
|
|
+ <a-radio-button :value="0">关闭</a-radio-button>
|
|
|
+ </a-radio-group>
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item
|
|
|
+ label="物料同步"
|
|
|
+ :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
|
|
|
+ :wrapperCol="{ xs: { span: 24 }, sm: { span: 16 } }"
|
|
|
+ >
|
|
|
+ <!-- <a-input v-decorator="['warningAmount', { rules: [{ required: true, message: '请输入预警金额' }] }]" /> -->
|
|
|
+ <!-- <a-radio-group
|
|
|
+ v-decorator="['materialType', { rules: [{ required: true, message: '请选择同步物料' }], initialValue: 0 }]"
|
|
|
+ >
|
|
|
+ <a-radio :value="0">不同步</a-radio>
|
|
|
+ <a-radio :value="1">应用包</a-radio>
|
|
|
+ <a-radio :value="2" disabled>人群包</a-radio>
|
|
|
+ <a-radio :value="3" disabled>定向包</a-radio>
|
|
|
+ </a-radio-group> -->
|
|
|
+ <checkBoxGroup
|
|
|
+ :options="[
|
|
|
+ { label: '不同步', value: 0 },
|
|
|
+ { label: '应用包', value: 1 },
|
|
|
+ { label: '人群包', value: 2, disabled:true},
|
|
|
+ { label: '定向包', value: 3, disabled:true },
|
|
|
+ ]"
|
|
|
+ v-decorator="['materialType', { rules: [{ required: true, message: '请选择同步物料' }], initialValue: [0] }]"
|
|
|
+ @change="changeData"
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
</a-form>
|
|
|
</a-modal>
|
|
|
|
|
@@ -312,7 +353,7 @@ import { mapGetters } from 'vuex'
|
|
|
import JSelectUserByDep from '@/components/jeecgbiz/JSelectUserByDep'
|
|
|
|
|
|
import { JeecgListMixin } from '@/mixins/ipagination'
|
|
|
-
|
|
|
+import checkBoxGroup from '@/components/formComponents/checkBoxGroup'
|
|
|
const myProjectColumns = [
|
|
|
{
|
|
|
title: '项目名称',
|
|
@@ -420,11 +461,12 @@ export default {
|
|
|
name: 'ProjectMemberList',
|
|
|
components: {
|
|
|
JSelectUserByDep,
|
|
|
+ checkBoxGroup
|
|
|
},
|
|
|
mixins: [JeecgListMixin],
|
|
|
data() {
|
|
|
return {
|
|
|
- authConfigList:[],
|
|
|
+ authConfigList: [],
|
|
|
title: '',
|
|
|
titleAccount: '',
|
|
|
description: '我的项目',
|
|
@@ -437,7 +479,7 @@ export default {
|
|
|
password: '',
|
|
|
loginType: 'kuaishou',
|
|
|
id: undefined,
|
|
|
- form: this.$form.createForm(this),
|
|
|
+ formEdit: this.$form.createForm(this),
|
|
|
record: '',
|
|
|
systemType: '不限',
|
|
|
systemTypeName: '',
|
|
@@ -605,6 +647,21 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
+ changeData(data) {
|
|
|
+ if (data.length > 1 && data.findIndex((item) => item == 1) == 0) {
|
|
|
+ data.splice(
|
|
|
+ data.findIndex((item) => item == 1),
|
|
|
+ 1
|
|
|
+ )
|
|
|
+ } else if (data.length > 1 && data.findIndex((item) => item == 1) == data.length - 1) {
|
|
|
+ data.splice(0, data.length - 1)
|
|
|
+ } else if (data.length == 0) {
|
|
|
+ data.push(1)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getFormFieldValue(field) {
|
|
|
+ return this.formEdit.getFieldValue(field)
|
|
|
+ },
|
|
|
// /ctop/userAllocation/getAccountsByProjectId projectId userId
|
|
|
projectLook(item) {
|
|
|
var params = {}
|
|
@@ -796,6 +853,10 @@ export default {
|
|
|
this.systemType = '不限'
|
|
|
}
|
|
|
},
|
|
|
+ handleCancel() {
|
|
|
+ this.visibleBind = false
|
|
|
+ this.formEdit.resetFields();
|
|
|
+ },
|
|
|
handleSubmit() {
|
|
|
let params = {}
|
|
|
params.advertiserId = this.record.advertiserId
|
|
@@ -805,10 +866,12 @@ export default {
|
|
|
params.projectId = this.record.projectId
|
|
|
params.projectName = this.record.projectName
|
|
|
params.systemType = this.systemType == '4' ? this.systemTypeName : this.systemType
|
|
|
-
|
|
|
+
|
|
|
// 触发表单验证
|
|
|
- this.form.validateFields((err, values) => {
|
|
|
+ this.formEdit.validateFields((err, values) => {
|
|
|
if (!err) {
|
|
|
+ params.materialType = values.materialType
|
|
|
+ params.autoDelivery = values.autoDelivery
|
|
|
if (this.mode == 'login') {
|
|
|
params.accountName = this.accountName
|
|
|
params.password = this.password
|
|
@@ -836,10 +899,12 @@ export default {
|
|
|
}
|
|
|
params.warningAmount = values.warningAmount
|
|
|
params.warningProportion = values.warningProportion
|
|
|
+
|
|
|
httpAction(this.bindAuthorizationUrl, params, 'post').then((res) => {
|
|
|
if (res.success) {
|
|
|
window.open(res.message, '_blank')
|
|
|
this.visibleBind = false
|
|
|
+ this.formEdit.resetFields();
|
|
|
} else {
|
|
|
alert('绑定失败')
|
|
|
}
|
|
@@ -859,7 +924,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
searchQuery() {
|
|
|
- this.ipagination.current=1
|
|
|
+ this.ipagination.current = 1
|
|
|
if (this.noTitleKey == 'participation') {
|
|
|
this.getParticipateList()
|
|
|
} else {
|
|
@@ -891,19 +956,18 @@ export default {
|
|
|
this.getAllUserList()
|
|
|
}
|
|
|
},
|
|
|
- getauthConfigList(){
|
|
|
- getAction('/auth/oauthConfig/list',{
|
|
|
- status:0,
|
|
|
- mediaId:2
|
|
|
- }).then(res=>{
|
|
|
+ getauthConfigList() {
|
|
|
+ getAction('/auth/oauthConfig/list', {
|
|
|
+ status: 0,
|
|
|
+ mediaId: 2,
|
|
|
+ }).then((res) => {
|
|
|
console.log(res)
|
|
|
- this.authConfigList=res.result;
|
|
|
- if(res.result.length>0){
|
|
|
- this.id=res.result[0].id
|
|
|
+ this.authConfigList = res.result
|
|
|
+ if (res.result.length > 0) {
|
|
|
+ this.id = res.result[0].id
|
|
|
}
|
|
|
-
|
|
|
})
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
mounted() {
|
|
|
this.$nextTick(() => {
|