朱鑫波 hace 4 años
padre
commit
733d70167a

+ 9 - 8
src/views/modules/account-config/account-config.vue

@@ -16,6 +16,12 @@
                     >
                         <acount-search class="acount-search-class" :appId.sync="acountId" :multiple="false" request="1,3"></acount-search>
                     </a-form-item>
+                    <a-form-item label="状态">
+                        <a-select v-model="searchStatus" style="width: 100px">
+                            <a-select-option :value="0">开启</a-select-option>
+                            <a-select-option :value="1">关闭</a-select-option>
+                        </a-select>
+                    </a-form-item>
                     <a-form-item class="form-handle-btn">
                         <a-button type="default" class="reset-class" @click="handleResetList">重置</a-button>
                         <a-button type="primary" html-type="submit">查询</a-button>
@@ -264,6 +270,7 @@ export default {
             }
         };
         return {
+            searchStatus: 0,
             controlLoading: true,
             adBudgetShowTitle: false,
             budgetVisible: false,
@@ -485,12 +492,14 @@ export default {
         },
         handleResetList() {
             this.acountId = '';
+            this.searchStatus = 0;
             this.controlLoading = true;
             this.handleInitTable();
         },
         handleInitTable() {
             const paramsData = {
                 accountId: this.acountId,
+                status: this.searchStatus,
                 loginUserId: this.userInfo().id,
                 pageNo: this.tablePag.page,
                 pageSize: this.tablePag.size
@@ -498,8 +507,6 @@ export default {
             getAction(urlAcount + '/bytedance-api/advertiser/aiBytedanceAdvertiserStrategy/list', paramsData).then(result => {
                 if (result.code === 0) {
                     result.result.records.forEach(item => {
-                        item.show = false;
-                        item.visible = false;
                         if (item.accountBudgetMode === '1') {
                             item.accountBudget = '不限';
                         }
@@ -536,12 +543,6 @@ export default {
                 }
             });
         },
-        handleBudgetPopover(record) {
-            record.show = false;
-        },
-        handleModPopover(record) {
-            record.visible = false;
-        },
         handleQueryList(event) {
             event.preventDefault();
             this.controlLoading = true;

+ 0 - 12
src/views/modules/account-config/components/configuration-modal.less

@@ -81,24 +81,12 @@
                 margin-left: 40px !important;
             }
             .select-orientation-class {
-                // /deep/ .ant-select-selection--single .ant-select-selection__rendered {
-                //     display: flex;
-                //     justify-content: space-between;
-                // }
-                // /deep/ .ant-select-selection-selected-value {
-                //     clear: both;
-                //     width: 320px;
-                // }
                 .orient-list {
                     display: flex;
                     justify-content: space-between;
                     width: 240px;
                     .orient-option-left {
                         float: left;
-                        // width: 150px;
-                        // white-space: nowrap;
-                        // overflow: hidden;
-                        // text-overflow: ellipsis;
                     }
                     .orient-option-right {
                         float: right;

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1259 - 1002
src/views/modules/account-config/components/configuration-modal.vue


+ 1 - 1
src/views/modules/account-config/components/directional-logic/directional-logic.less

@@ -1,7 +1,7 @@
 .directional-logic-content {
     .input-search {
         width: 240px;
-        margin: 10px 0 10px 0;
+        margin: 0 0 10px 0;
     }
     .tree-select-class {
         display: flex;

+ 24 - 0
src/views/modules/account-config/components/tree-select/tree-select.vue

@@ -67,6 +67,30 @@ export default {
             changeCheckData: []
         };
     },
+    watch: {
+        editdata(newVal) {
+            if (newVal.length) {
+                this.checkedValue = [...newVal];
+                const rightSelectList = [];
+                this.updateTreeData.forEach(item => {
+                    if (newVal.includes(item.value)) {
+                        rightSelectList.push(item);
+                    }
+                });
+                this.applyTypeOption = rightSelectList;
+            }
+        },
+        defaultlist(newVal) {
+            if (newVal.length) {
+                this.changeCheckData = this.defaultlist;
+                this.updateTreeData = this.defaultlist;
+            }
+            else {
+                this.changeCheckData = [];
+                this.updateTreeData = [];
+            }
+        }
+    },
     mounted() {
         this.changeCheckData = this.defaultlist;
         this.updateTreeData = this.defaultlist;

+ 36 - 2
src/views/modules/advertiser/ProjectMemberList.vue

@@ -166,6 +166,20 @@
             >
           </a-form-item>
           <a-form-item
+            label="授权时间:"
+            :label-col="{ xs: { span: 24 }, sm: { span: 5 } }"
+            :wrapper-col="{ xs: { span: 24 }, sm: { span: 16 } }"
+          >
+            <a-date-picker 
+				v-model="dateValue"
+				style="width: 180px;"
+				:allowClear="false"
+				format="YYYY-MM-DD"
+				:disabled-date="disabledDate"
+				@change="handleCostTimeChange" 
+			/>
+          </a-form-item>
+          <a-form-item
             label="开户代理商:"
             :label-col="{ xs: { span: 24 }, sm: { span: 5 } }"
             :wrapper-col="{ xs: { span: 24 }, sm: { span: 16 } }"
@@ -346,6 +360,7 @@
 </template>
 
 <script>
+import moment from 'moment';
 import { httpAction, getAction, deleteAction, putAction } from '@/api/manage'
 
 import { mapGetters } from 'vuex'
@@ -466,7 +481,9 @@ export default {
   mixins: [JeecgListMixin],
   data() {
     return {
-      authConfigList: [],
+      moment,
+      dateValue: '',
+      authConfigList:[],
       title: '',
       titleAccount: '',
       description: '我的项目',
@@ -663,6 +680,22 @@ export default {
       return this.formEdit.getFieldValue(field)
     },
     //   /ctop/userAllocation/getAccountsByProjectId    projectId  userId
+	handleCostTimeChange(date, dateString) {
+		console.log(dateString, 'dateString');
+		this.dateValue = dateString;
+	},
+	disabledDate(current) {
+		if (this.loginType == 'kuaishou') {
+			return current && !(current > moment().subtract(7, 'days'));
+		}
+		else if (this.loginType == 'bytedance') {
+			return false;
+		}
+		// TODO 时间限制格式
+		// return current && !(current > moment().subtract(7, 'days'));
+		// return current && !(current > (moment().subtract(7, 'days')) && current < moment());
+		// return false;
+	},
     projectLook(item) {
       var params = {}
       params.projectId = item.id
@@ -866,7 +899,8 @@ export default {
       params.projectId = this.record.projectId
       params.projectName = this.record.projectName
       params.systemType = this.systemType == '4' ? this.systemTypeName : this.systemType
-
+	    params.authBeginTime = this.dateValue;
+      
       // 触发表单验证
       this.formEdit.validateFields((err, values) => {
         if (!err) {

+ 50 - 18
src/views/modules/copy-library/copy-library.vue

@@ -878,16 +878,24 @@ export default {
             this.$nextTick(() => {
                 const dynamicWordPackIds = [];
                 let finallyLenList = this.handleJudgeExec(this.examinForm.getFieldsValue()[field]);
-                let updateFinallyResult = this.adNameTags.filter(item => finallyLenList.includes(item.name)).map(val => val.name);
+                let newOptionList = [];
+                finallyLenList.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            newOptionList.push(val);
+                        }
+                    });
+                });
+                let updateFinallyResult = newOptionList.map(val => val.name);
                 const inputDefaultLen = this.handleExportRules(this.defaultFormList.filter(item => item.id === formId)[0].value);
                 let tagsLen = updateFinallyResult.length * 2;
                 let tagsSureLen = 0;
                 let resultSelectSize = 0;
-                this.adNameTags.forEach(item => {
-                    updateFinallyResult.forEach(val => {
-                        if (item.name === val) {
-                            tagsSureLen += item.maxWordLen;
-                            dynamicWordPackIds.push(item.creativeWordId);
+                updateFinallyResult.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            tagsSureLen += val.maxWordLen;
+                            dynamicWordPackIds.push(val.creativeWordId);
                         }
                     });
                 });
@@ -921,7 +929,15 @@ export default {
             let txt = node.value;
             this.$nextTick(() => {
                 let finallyLenList = this.handleJudgeExec(txt);
-                let updateFinallyResult = this.adNameTags.filter(item => finallyLenList.includes(item.name)).map(val => val.name);
+                let arr = [];
+                finallyLenList.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            arr.push(val);
+                        }
+                    });
+                });
+                let updateFinallyResult = arr.map(val => val.name);
                 if (updateFinallyResult.length >= 2) {
                     this.$message.error('最多选择两个词包');
                     return;
@@ -941,16 +957,24 @@ export default {
             this.$nextTick(() => {
                 const dynamicWordPackIds = [];
                 let changeData = this.handleJudgeExec(this.examinForm.getFieldsValue()[field]);
-                let updateChangeData = this.adNameTags.filter(item => changeData.includes(item.name)).map(val => val.name);
+                let newOptionList = [];
+                changeData.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            newOptionList.push(val);
+                        }
+                    });
+                });
+                let updateChangeData = newOptionList.map(val => val.name);
                 const inputDefaultLen = this.handleExportRules(this.examinForm.getFieldsValue()[field]);
                 let tagsLen = updateChangeData.length * 2;
                 let tagsSureLen = 0;
                 let resultSelectSize = 0;
-                this.adNameTags.forEach(item => {
-                    updateChangeData.forEach(val => {
-                        if (item.name === val) {
-                            tagsSureLen += item.maxWordLen;
-                            dynamicWordPackIds.push(item.creativeWordId);
+                updateChangeData.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            tagsSureLen += val.maxWordLen;
+                            dynamicWordPackIds.push(val.creativeWordId);
                         }
                     });
                 });
@@ -970,16 +994,24 @@ export default {
         validatePass(rule, value, callback) {
             this.$nextTick(() => {
                 let finallyLenList = this.handleJudgeExec(value);
-                let updateFinallyResult = this.adNameTags.filter(item => finallyLenList.includes(item.name)).map(val => val.name);
+                let newOptionList = [];
+                finallyLenList.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            newOptionList.push(val);
+                        }
+                    });
+                });
+                let updateFinallyResult = newOptionList.map(val => val.name);
                 let resultSelectSize = 0;
                 if (updateFinallyResult.length) {
                     const inputDefaultLen = this.handleExportRules(value);
                     let tagsLen = updateFinallyResult.length * 2;
                     let tagsSureLen = 0;
-                    this.adNameTags.forEach(item => {
-                        updateFinallyResult.forEach(val => {
-                            if (item.name === val) {
-                                tagsSureLen += item.maxWordLen;
+                    updateFinallyResult.forEach(item => {
+                        this.adNameTags.forEach(val => {
+                            if (item === val.name) {
+                                tagsSureLen += val.maxWordLen;
                             }
                         });
                     });

+ 4 - 2
src/views/modules/creative-copywrit/creative-copywrit.less

@@ -21,7 +21,11 @@
             width: 100px;
         }
         .only-title-mater {
+            width: 500px;
             height: 35px;
+            overflow: hidden;
+            white-space: nowrap;
+            text-overflow: ellipsis;
         }
         .examin-form-model {
             width: 500px;
@@ -76,8 +80,6 @@
 
 .solgan-whole-content {
     display: flex;
-    height: 300px;
-    overflow-y: auto;
     .solgan-title-header {
         padding-top: 10px;
         margin-right: 20px;

+ 128 - 63
src/views/modules/creative-copywrit/creative-copywrit.vue

@@ -592,11 +592,12 @@
                                 <div class="show-data">
                                     <span>抖音</span>
                                     <span>消耗:{{ items.bytedanceCost || 0 }}</span>
-                                    <!-- <span>广告语:{{ items.slogansCount || 0 }}</span> -->
+                                    <span>广告语:{{ items.slogansCount || 0 }}</span>
                                 </div>
                                 <div class="show-data">
                                     <span>快手</span>
                                     <span>消耗:{{ items.cost || 0 }}</span>
+                                    <span v-if="items.offlineFlag === 1" style="color: #f00;">状态:已下线</span>
                                 </div>
                             </div>
                             <div
@@ -1026,7 +1027,7 @@
                 </a-form-item>
             </a-form>
         </a-modal>
-        <a-modal title="素材详情" v-model="visibleDetail" @cancel="handleBudgetCancel" width="70%" :footer="null">
+        <a-modal style="overflow-y: auto;" title="素材详情" v-model="visibleDetail" @cancel="handleBudgetCancel" width="70%" :footer="null">
             <div style="width: 100%; height: 35px">
                 <a-button type="primary" @click="setSuccess" style="float: right">
                     {{ excellent == 0 ? '标记为优秀素材' : '取消标记' }}
@@ -1119,7 +1120,7 @@
                         />
                     </a-carousel>
                 </a-modal>
-                <div style="flex: 3; padding: 10px; box-sizing: border-box">
+                <div style="flex: 3; padding: 10px; box-sizing: border-box; overflow-y: auto;">
                     <a-form v-if="detail" class="detail ant-advanced-search-form" layout="inline">
                         <div v-if="detail.parameter" style="display: flex">
                             <a-form-item label="视频时长" v-if="detail.parameter.second" style="flex: 1">
@@ -1259,8 +1260,8 @@
                                             驳回原因:
                                             <a-textarea
                                                 placeholder="请输入原因"
-                                                v-model="refuseReasonImage" 
-                                                :autosize="{ minRows: 3, maxRows: 10 }"
+                                                v-model="refuseReasonImage"
+                                                :autosize="{minRows: 3, maxRows: 10}"
                                             />
                                         </div>
                                     </div>
@@ -2154,16 +2155,24 @@ export default {
         validatePass(rule, value, callback) {
             this.$nextTick(() => {
                 let finallyLenList = this.handleJudgeExec(value);
-                let updateFinallyResult = this.adNameTags.filter(item => finallyLenList.includes(item.name)).map(val => val.name);
+                let newOptionList = [];
+                finallyLenList.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            newOptionList.push(val);
+                        }
+                    });
+                });
+                let updateFinallyResult = newOptionList.map(val => val.name);
                 let resultSelectSize = 0;
                 if (updateFinallyResult.length) {
                     const inputDefaultLen = this.handleExportRules(value);
                     let tagsLen = updateFinallyResult.length * 2;
                     let tagsSureLen = 0;
-                    this.adNameTags.forEach(item => {
-                        updateFinallyResult.forEach(val => {
-                            if (item.name === val) {
-                                tagsSureLen += item.maxWordLen;
+                    updateFinallyResult.forEach(item => {
+                        this.adNameTags.forEach(val => {
+                            if (item === val.name) {
+                                tagsSureLen += val.maxWordLen;
                             }
                         });
                     });
@@ -2178,17 +2187,17 @@ export default {
                 if (resultSelectSize === 0) {
                     callback(new Error('请输入'));
                 }
-                else if (resultSelectSize > 30 || resultSelectSize < 5) {
-                    callback(new Error('创意标题5-30个字'));
-                }
+                else if (resultSelectSize > 30 || resultSelectSize < 5) {
+                    callback(new Error('创意标题5-30个字'));
+                }
                 else if (updateFinallyResult.length > 2) {
                     callback(new Error('最多选择两个词包'));
                 }
                 else {
-                    callback();
-                }
+                    callback();
+                }
             });
-        },
+        },
         handleJudgeExec(item) {
             let re = /\{(.+?)\}/g;
             let array = [];
@@ -2225,16 +2234,24 @@ export default {
             this.$nextTick(() => {
                 const dynamicWordPackIds = [];
                 let changeData = this.handleJudgeExec(this.solganForm.getFieldsValue()[field]);
-                let updateChangeData = this.adNameTags.filter(item => changeData.includes(item.name)).map(val => val.name);
+                let newOptionList = [];
+                changeData.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            newOptionList.push(val);
+                        }
+                    });
+                });
+                let updateChangeData = newOptionList.map(val => val.name);
                 const inputDefaultLen = this.handleExportRules(this.solganForm.getFieldsValue()[field]);
                 let tagsLen = updateChangeData.length * 2;
                 let tagsSureLen = 0;
                 let resultSelectSize = 0;
-                this.adNameTags.forEach(item => {
-                    updateChangeData.forEach(val => {
-                        if (item.name === val) {
-                            tagsSureLen += item.maxWordLen;
-                            dynamicWordPackIds.push(item.creativeWordId);
+                updateChangeData.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            tagsSureLen += val.maxWordLen;
+                            dynamicWordPackIds.push(val.creativeWordId);
                         }
                     });
                 });
@@ -2259,7 +2276,15 @@ export default {
             let txt = node.value;
             this.$nextTick(() => {
                 let finallyLenList = this.handleJudgeExec(txt);
-                let updateFinallyResult = this.adNameTags.filter(item => finallyLenList.includes(item.name)).map(val => val.name);
+                let arr = [];
+                finallyLenList.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            arr.push(val);
+                        }
+                    });
+                });
+                let updateFinallyResult = arr.map(val => val.name);
                 if (updateFinallyResult.length >= 2) {
                     this.$message.error('最多选择两个词包');
                     return;
@@ -2279,16 +2304,24 @@ export default {
             this.$nextTick(() => {
                 const dynamicWordPackIds = [];
                 let changeData = this.handleJudgeExec(this.examinForm.getFieldsValue()[field]);
-                let updateChangeData = this.adNameTags.filter(item => changeData.includes(item.name)).map(val => val.name);
+                let newOptionList = [];
+                changeData.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            newOptionList.push(val);
+                        }
+                    });
+                });
+                let updateChangeData = newOptionList.map(val => val.name);
                 const inputDefaultLen = this.handleExportRules(this.examinForm.getFieldsValue()[field]);
                 let tagsLen = updateChangeData.length * 2;
                 let tagsSureLen = 0;
                 let resultSelectSize = 0;
-                this.adNameTags.forEach(item => {
-                    updateChangeData.forEach(val => {
-                        if (item.name === val) {
-                            tagsSureLen += item.maxWordLen;
-                            dynamicWordPackIds.push(item.creativeWordId);
+                updateChangeData.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            tagsSureLen += val.maxWordLen;
+                            dynamicWordPackIds.push(val.creativeWordId);
                         }
                     });
                 });
@@ -2366,14 +2399,16 @@ export default {
             this.examinForm.validateFields(err => {
                 if (!err) {
                     fileEditUpdateBatch(params).then(res => {
-                        if (res.code === 200) {
+                        if (res.code === 0) {
                             this.refuseReason = '';
                             this.batchVisible = false;
                             this.defaultFormList = [];
                             this.$message.success('审核成功');
                             this.loadData();
                         }
-                        
+                        else {
+                            this.$message.error(res.message);
+                        }
                     });
                 }
             });
@@ -2447,10 +2482,10 @@ export default {
                             const inputDefaultLen = this.handleExportRules(item.slogan);
                             let tagsLen = finallyLenList.length * 2;
                             let tagsSureLen = 0;
-                            this.adNameTags.forEach(item => {
-                                finallyLenList.forEach(val => {
-                                    if (item.name === val) {
-                                        tagsSureLen += item.maxWordLen;
+                            finallyLenList.forEach(item => {
+                                this.adNameTags.forEach(val => {
+                                    if (item === val.name) {
+                                        tagsSureLen += val.maxWordLen;
                                     }
                                 });
                             });
@@ -2502,17 +2537,20 @@ export default {
             });
             this.solganForm.validateFields(err => {
                 if (!err) {
-                    this.defaultSolganStatus = 'input';
-                    this.defaultSolganTitle = 'test';
                     postAction('/ctop/bytedanceVideoSlogenInfo/edit', {
                         id: data.id,
                         slogan: changeSlogan.filter(item => item.id === data.id)[0].title,
                         creativeWordIds: JSON.stringify(changeSlogan.filter(item => item.id === data.id)[0].creative_word_ids)
                     }).then(res => {
-                        if (res.success) {
+                        if (res.code === 0) {
+                            this.defaultSolganStatus = 'input';
+                            this.defaultSolganTitle = 'test';
                             this.$message.success('修改成功');
                             this.handleGetQueryById();
                         }
+                        else {
+                            this.$message.error(res.message);
+                        }
                     });
                 }
             });
@@ -2532,16 +2570,24 @@ export default {
             this.$nextTick(() => {
                 const dynamicWordPackIds = [];
                 let finallyLenList = this.handleJudgeExec(e.target.value);
-                let updateFinallyResult = this.adNameTags.filter(item => finallyLenList.includes(item.name)).map(val => val.name);
+                let newOptionList = [];
+                finallyLenList.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            newOptionList.push(val);
+                        }
+                    });
+                });
+                let updateFinallyResult = newOptionList.map(val => val.name);
                 const inputDefaultLen = this.handleExportRules(e.target.value);
                 let tagsLen = updateFinallyResult.length * 2;
                 let tagsSureLen = 0;
                 let resultSelectSize = 0;
-                this.adNameTags.forEach(item => {
-                    updateFinallyResult.forEach(val => {
-                        if (item.name === val) {
-                            tagsSureLen += item.maxWordLen;
-                            dynamicWordPackIds.push(item.creativeWordId);
+                updateFinallyResult.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            tagsSureLen += val.maxWordLen;
+                            dynamicWordPackIds.push(val.creativeWordId);
                         }
                     });
                 });
@@ -2573,16 +2619,24 @@ export default {
             this.$nextTick(() => {
                 const dynamicWordPackIds = [];
                 let finallyLenList = this.handleJudgeExec(this.examinForm.getFieldsValue()[field]);
-                let updateFinallyResult = this.adNameTags.filter(item => finallyLenList.includes(item.name)).map(val => val.name);
+                let newOptionList = [];
+                finallyLenList.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            newOptionList.push(val);
+                        }
+                    });
+                });
+                let updateFinallyResult = newOptionList.map(val => val.name);
                 const inputDefaultLen = this.handleExportRules(this.defaultFormList.filter(item => item.id === formId)[0].value);
                 let tagsLen = updateFinallyResult.length * 2;
                 let tagsSureLen = 0;
                 let resultSelectSize = 0;
-                this.adNameTags.forEach(item => {
-                    updateFinallyResult.forEach(val => {
-                        if (item.name === val) {
-                            tagsSureLen += item.maxWordLen;
-                            dynamicWordPackIds.push(item.creativeWordId);
+                updateFinallyResult.forEach(item => {
+                    this.adNameTags.forEach(val => {
+                        if (item === val.name) {
+                            tagsSureLen += val.maxWordLen;
+                            dynamicWordPackIds.push(val.creativeWordId);
                         }
                     });
                 });
@@ -2701,22 +2755,30 @@ export default {
                     if (res.result.slogans.length) {
                         res.result.slogans.forEach(item => {
                             let finallyLenList = this.handleJudgeExec(item.slogan);
+                            let newOptionList = [];
+                            finallyLenList.forEach(item => {
+                                this.adNameTags.forEach(val => {
+                                    if (item === val.name) {
+                                        newOptionList.push(val);
+                                    }
+                                });
+                            });
                             let resultSelectSize = 0;
-                            if (finallyLenList.length) {
+                            if (newOptionList.length) {
                                 const inputDefaultLen = this.handleExportRules(item.slogan);
-                                let tagsLen = finallyLenList.length * 2;
+                                let tagsLen = newOptionList.length * 2;
                                 let tagsSureLen = 0;
-                                this.adNameTags.forEach(item => {
-                                    finallyLenList.forEach(val => {
-                                        if (item.name === val) {
-                                            tagsSureLen += item.maxWordLen;
+                                newOptionList.forEach(item => {
+                                    this.adNameTags.forEach(val => {
+                                        if (item.name === val.name) {
+                                            tagsSureLen += val.maxWordLen;
                                         }
                                     });
                                 });
                                 finallyLenList.forEach(item => {
                                     tagsLen += item.length;
                                 });
-                                resultSelectSize = inputDefaultLen - tagsLen + tagsSureLen + finallyLenList.length;
+                                resultSelectSize = inputDefaultLen - tagsLen + tagsSureLen + newOptionList.length;
                             }
                             else {
                                 resultSelectSize = item.slogan.length;
@@ -2727,6 +2789,7 @@ export default {
                             item.tabStatus = 'alone';
                             item.defaultTagsList = this.adNameTags;
                             item.updateTagsList = this.adNameTags.slice(0, 4);
+                            item.wordPackId = item.creativeWordIds && JSON.parse(item.creativeWordIds);
                         });
                         this.defaultFormList = res.result.slogans;
                     }
@@ -2779,14 +2842,16 @@ export default {
             this.examinForm.validateFields(err => {
                 if (!err) {
                     fileEditUpdate(params).then(res => {
-                        if (res.code === 200) {
+                        if (res.code === 0) {
                             this.refuseReason = '';
                             this.causeVisible = false;
                             this.defaultFormList = [];
                             this.$message.success('审核成功');
                             this.loadData();
                         }
-                        
+                        else {
+                            this.$message.error(res.message);
+                        }
                     });
                 }
             });
@@ -3205,10 +3270,10 @@ export default {
                             const inputDefaultLen = this.handleExportRules(item.slogan);
                             let tagsLen = finallyLenList.length * 2;
                             let tagsSureLen = 0;
-                            this.adNameTags.forEach(item => {
-                                finallyLenList.forEach(val => {
-                                    if (item.name === val) {
-                                        tagsSureLen += item.maxWordLen;
+                            finallyLenList.forEach(item => {
+                                this.adNameTags.forEach(val => {
+                                    if (item === val.name) {
+                                        tagsSureLen += val.maxWordLen;
                                     }
                                 });
                             });

+ 0 - 1
src/views/modules/headline-view/headline-view.vue

@@ -1150,7 +1150,6 @@ export default {
                         });
                         let option = isType + '<br/>';
                         for (let i = 0, length = params.length; i < length; i++) {
-                            console.log(params[i], 'params[i]--params[i]');
                             const showTime = specialIdentification === '时' ? params[i].seriesName : '';
                             option += `<span style="width:8px;height:8px;border-radius:50%;background:${params[i].color};display:inline-block;position:relative;top:-2px;margin-right:5px"></span>${showTime} ${params[i].axisValue}${specialIdentification} ${params[i].data}${showBai}<br />`;
                         }

+ 11 - 0
src/views/modules/user-manage-operation/user-manage-operation-server.js

@@ -0,0 +1,11 @@
+/**
+ * @file 账户配置API
+ * @author jiayufei
+ */
+
+ export const urlAcount = 'http://118.24.244.213:8080'; // 线上
+ // export const urlAcount = 'http://apipre.tjyourong.com.cn'; // 预生产
+ // export const urlAcount = 'http://192.168.1.43:8080'; // 子安
+//  export const urlAcount = 'http://139.186.165.84:8080'; // 测试
+//  export const urlAcount = 'http://192.168.1.8:8080'; // 学超
+ 

+ 290 - 0
src/views/modules/user-manage-operation/user-manage-operation.vue

@@ -0,0 +1,290 @@
+<template>
+  <a-card class="user-manage-operation" :bordered="false">
+    <div class="table-page-search-wrapper">
+		<a-form layout="inline">
+			<a-row :gutter="24">
+				<a-col :md="6" :sm="12">
+					<a-form-item label="账号">
+						<a-input placeholder="请输入账号查询" v-model="queryParam.username"></a-input>
+					</a-form-item>
+				</a-col>
+				<a-col :md="6" :sm="12">
+					<a-form-item label="姓名">
+						<a-input placeholder="请输入姓名查询" v-model="queryParam.realname"></a-input>
+					</a-form-item>
+				</a-col>
+				<a-col :md="6" :sm="12">
+					<a-form-item label="汇报上级">
+						<a-input placeholder="请输入姓名查询" v-model="queryParam.leaderName"></a-input>
+					</a-form-item>
+				</a-col>
+				<a-col :md="6" :sm="12">
+					<a-form-item label="用户角色">
+						<a-input placeholder="请输入用户角色" v-model="queryParam.roleName"></a-input>
+					</a-form-item>
+				</a-col>
+				<a-col :md="6" :sm="12">
+					<a-form-item label="部门分配">
+						<a-tree-select
+							style="width: 100%"
+							:dropdownStyle="{ maxHeight: '200px', overflow: 'auto' }"
+							:treeData="treeData"
+							v-model="queryParam.departId"
+							placeholder="无"
+						>
+						</a-tree-select>
+					</a-form-item>
+				</a-col>
+				<a-col :md="6" :sm="8">
+					<a-form-item label="邮箱">
+						<a-input placeholder="请输入邮箱查询" v-model="queryParam.email"></a-input>
+					</a-form-item>
+				</a-col>
+				<a-col :md="6" :sm="8">
+					<a-form-item label="状态">
+						<a-select v-model="queryParam.status" placeholder="请选择用户状态查询">
+							<a-select-option value="1">正常</a-select-option>
+							<a-select-option value="2">冻结</a-select-option>
+						</a-select>
+					</a-form-item>
+				</a-col>
+				<a-col :md="6" :sm="8">
+					<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
+						<a-button type="primary" @click="handleSearchQuery" icon="search">查询</a-button>
+						<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
+					</span>
+				</a-col>
+			</a-row>
+		</a-form>
+    </div>
+    <div>
+		<a-table
+			ref="table"
+			bordered
+			size="middle"
+			:columns="columns"
+			:dataSource="dataSource"
+			:pagination="false"
+			:loading="controlLoading"
+		>
+			<template slot="avatarslot" slot-scope="text, record">
+				<div class="anty-img-wrap">
+					<a-avatar shape="square" :src="getAvatarView(record.avatar)" icon="user"/>
+				</div>
+			</template>
+			<template slot="leaderName" slot-scope="text, record">
+				<span>{{ text ? text : '-' }}</span>
+			</template>
+			<template slot="sex" slot-scope="text, record">
+				<span>{{ text ? (text == 1 ? '男' : '女') : '未填写' }}</span>
+			</template>
+			<template slot="status" slot-scope="text, record">
+				<span>{{ text ? (text == 1 ? '正常' : '冻结') : '未填写' }}</span>
+			</template>
+			<template slot="departName" slot-scope="text, record">
+				<span>{{ text ? text : '-' }}</span>
+			</template>
+				<span slot="action" slot-scope="text, record">
+				<a @click="handleEdit(record)">编辑</a>
+			</span>
+		</a-table>
+		<a-pagination
+			class="pagin-table-class"
+			:total="totalAll"
+			:show-total="total => `共 ${totalAll} 条`"
+			size="small"
+			show-size-changer
+			show-quick-jumper
+			@change="onShowSizeChange"
+			@showSizeChange="onShowSizeChange"
+		/>
+    </div>
+    <user-modal ref="modalForm" @ok="handleModalFormOk"></user-modal>
+  </a-card>
+</template>
+<script>
+import UserModal from '@/views/system/modules/UserModal';
+
+import {mapGetters} from 'vuex';
+import {queryIdTree} from '@/api/api';
+import {getAction} from '@/api/manage';
+import {urlAcount} from './user-manage-operation-server.js';
+export default {
+    name: 'user-manage-operation',
+    components: {
+      	UserModal
+    },
+    data() {
+		return {
+			controlLoading: false,
+			dataSource: [],
+			totalAll: 0,
+			tablePag: {
+				page: 1, 
+				size: 10
+			},
+			description: '这是用户管理页面',
+			treeData: [],
+			queryParam: {},
+			columns: [
+				{
+					title: '用户账号',
+					align: 'center',
+					dataIndex: 'username',
+					width: 120
+				},
+				{
+					title: '真实姓名',
+					align: 'center',
+					width: 100,
+					dataIndex: 'realname'
+				},
+				{
+					title: '头像',
+					align: 'center',
+					width: 120,
+					dataIndex: 'avatar',
+					scopedSlots: { customRender: 'avatarslot' }
+				},
+				{
+					title: '性别',
+					align: 'center',
+					width: 80,
+					dataIndex: 'sex',
+					scopedSlots: { customRender: 'sex' },
+					sorter: true
+				},
+				{
+					title: '手机号码',
+					align: 'center',
+					width: 100,
+					dataIndex: 'phone'
+				},
+				{
+					title: '邮箱',
+					align: 'center',
+					dataIndex: 'email'
+				},
+				{
+					title: '汇报上级',
+					align: 'center',
+					dataIndex: 'leaderName',
+					scopedSlots: {customRender: 'leaderName'}
+				},
+				{
+					title: '所属部门',
+					align: 'center',
+					dataIndex: 'departName',
+					scopedSlots: {customRender: 'departName'}
+				},
+				{
+					title: '用户角色',
+					align: 'center',
+					dataIndex: 'roleName',
+					scopedSlots: {customRender: 'roleName'}
+				},
+				{
+					title: '状态',
+					align: 'center',
+					width: 80,
+					dataIndex: 'status',
+					scopedSlots: {customRender: 'status'}
+				},
+				{
+					title: '操作',
+					dataIndex: 'action',
+					scopedSlots: {customRender: 'action'},
+					align: 'center',
+					width: 170
+				}
+			]
+		}
+    },
+    created() {
+		this.$nextTick(() => {
+			this.loadTreeData();
+		});
+    },
+	mounted() {
+		this.handleGetDataInit();
+		console.log(this.userInfo(), '-------');
+	},
+    methods: {
+		...mapGetters(['userInfo']),
+		searchReset() {
+			this.queryParam = {};
+			this.handleGetDataInit();
+		},
+		handleEdit(record, sign) {
+			this.$refs.modalForm.edit(record, sign);
+			this.$refs.modalForm.title = "编辑";
+			this.$refs.modalForm.disableSubmit = false;
+		},
+		handleSearchQuery() {
+			this.tablePag = {
+                page: 1,
+                size: 10
+            };
+			this.handleGetDataInit();
+		},
+		handleModalFormOk() {
+			this.tablePag = {
+                page: 1,
+                size: 10
+            };
+			this.handleGetDataInit();
+		},
+		handleGetDataInit() {
+			this.controlLoading = true;
+			const paramsData = this.queryParam;
+			paramsData.id = this.userInfo().id;
+			paramsData.pageNo = this.tablePag.page;
+      		paramsData.pageSize = this.tablePag.size;
+            getAction(urlAcount + '/bytedance-api/sys/user/listV2', paramsData).then(result => {
+                if (result.code === 200) {
+					this.controlLoading = false;
+					this.dataSource = result.result.list;
+					this.totalAll =  result.result.total;
+                }
+                else {
+                    this.$message.error(result.message);
+                }
+            }).catch(error => {
+                console.log(error, 'eeee');
+            });
+        },
+		onShowSizeChange(current, pageSize) {
+			console.log(current, pageSize, 'current, pageSize');
+            this.tablePag = {
+                page: current,
+                size: pageSize
+            };
+            this.handleGetDataInit();
+        },
+		loadTreeData() {
+			queryIdTree().then(res => {
+				if (res.success) {
+					this.treeData = [];
+					for (let i = 0; i < res.result.length; i++) {
+						let temp = res.result[i];
+						this.treeData.push(temp);
+					}
+				}
+			});
+		},
+		getAvatarView(avatar) {
+			return window._CONFIG['domianURL'] + '/sys/common/view' + '/' + avatar;
+		}
+    }
+};
+</script>
+<style lang="less" scoped>
+	@import '~@assets/less/common.less';
+	.user-manage-operation {
+		.pagin-table-class {
+			display: flex;
+			justify-content: flex-end;
+			margin-top: 20px;
+		}
+	}
+</style>

+ 5 - 2
src/views/system/modules/UserModal.vue

@@ -113,7 +113,7 @@
         <a-form-item label="手机号码" :labelCol="labelCol" :wrapperCol="wrapperCol">
           <a-input
             placeholder="请输入手机号码"
-            :disabled="disableSubmit||isDisabledAuth('user:form:phone')"
+            :disabled="disableSubmit"
             v-decorator="['phone', validatorRules.phone]"
           />
         </a-form-item>
@@ -388,7 +388,8 @@ export default {
       // 触发表单验证
       this.form.validateFields((err, values) => {
         if (!err) {
-          
+          console.log(this.model, 'this.model-this.model');
+          console.log(values, 'values-values');
           let avatar = that.model.avatar
           if (!values.birthday) {
             values.birthday = ''
@@ -398,6 +399,8 @@ export default {
           let formData = Object.assign(this.model, values)
           formData.avatar = avatar
           formData.selectedroles = this.selectedRole ? this.selectedRole : ''
+          formData.roleName = this.selectedRole ? this.roleList.filter(item => item.id === this.selectedRole)[0].roleName : '';
+          formData.departName = this.checkedDepartNameString;
           formData.selecteddeparts =
             this.userDepartModel.departIdList.length > 0 ? this.userDepartModel.departIdList.join(',') : ''
           formData.leaderId = values.leader.key

+ 1 - 1
vue.config.js

@@ -88,7 +88,7 @@ module.exports = {
         // target:'http://118.24.244.213:8804',
         // target: 'http://192.168.1.43:8806', // 子安
         // target: 'http://192.168.1.8:8806', // 学超
-      //  target:'http://139.186.165.84:8806', //测试
+    //    target:'http://139.186.165.84:8806', //测试
         // target:'http://apipre.tjyourong.com.cn', //预生产
 
         ws: false,