Переглянути джерело

Merge branch 'master' of http://git.tjyourong.com.cn/ctop/adsp-vue

魏志佳 4 роки тому
батько
коміт
2f7f6d0748

+ 10 - 7
src/components/formComponents/checkBoxGroup.vue

@@ -134,7 +134,7 @@
         :value="item.value"
         :class="{
           item: true && userButton,
-          selection: selectedVal.indexOf(item.value) > -1 && userButton,
+          selection: selectedVal && selectedVal.indexOf(item.value) > -1 && userButton,
           bgcolor: item.disabled,
         }"
         >{{ item.label }}</a-checkbox
@@ -176,7 +176,7 @@ export default {
     },
     value: {
       // v-model绑定值
-      type: [Array, String],
+      type: [Number, Array, String],
       default() {
         return []
       },
@@ -211,7 +211,6 @@ export default {
       }
     },
     selectedVal(n, o) {
-      console.log(n, o)
       if (this.radioStyle && !this.allValue) {
         if (n.length == 0) {
           this.selectedVal = o
@@ -255,10 +254,14 @@ export default {
             }
           })
           if (this.allValue) {
-            data.unshift({ label: '不', value: 'unlimited' })
-            if (this.value == '' || this.value.length == 0 || this.value == null) {
+            data.unshift({ label: '不检查', value: 'unlimited' })
+            if (this.value == '' || this.value == '' || this.value == null || this.value.length == 0) {
               this.selectedVal = ['unlimited']
             }
+          } else {
+            if (this.value == '' || this.value == '' || this.value == null || this.value.length == 0) {
+              this.selectedVal = []
+            }
           }
           this.selectOption.push(...data)
         }
@@ -285,7 +288,7 @@ export default {
         this.$emit('input', retrunData)
         this.$emit('update:label', label)
         this.$emit('change', val)
-        this.consoleFun('VALUE: ', val, 'LABEL:', label)
+        // this.consoleFun('VALUE: ', val, 'LABEL:', label)
       } else {
         // 模拟单选radio效果
         let selectVal = []
@@ -308,7 +311,7 @@ export default {
         this.$emit('input', selectVal)
         this.$emit('update:label', label)
         this.$emit('change', selectVal)
-        this.consoleFun('VALUE: ', selectVal, 'LABEL:', label)
+        // this.consoleFun('VALUE: ', selectVal, 'LABEL:', label)
       }
     },
     emitChange(...args) {

+ 0 - 1
src/components/formComponents/toutiaoTime.vue

@@ -183,7 +183,6 @@
             return 0
           }
         })
-        console.log(this.dataString.join(''))
         this.$emit('update:scheduleTime', this.dataString.join(''))
         this.selectFlag = false
         this.max = {

+ 1 - 0
src/views/modules/advertiser/modules/projectListModal.vue

@@ -106,6 +106,7 @@
                 <a-select-option :value="190">付费出价</a-select-option>
                 <a-select-option :value="191">首日ROI</a-select-option>
                 <a-select-option :value="396">注册优化目标</a-select-option>
+                <a-select-option :value="717">广告观看事件</a-select-option>
               </a-select>
             </a-form-item>
           </div>

+ 2 - 2
src/views/modules/earlyWarningRules/configRules.vue

@@ -593,7 +593,7 @@ export default {
                                     if(res.success){
                                         
                                         this.$router.push('/earlyWarningRules/index')
-                                        this.$bus.$emit('remove', '/earlyWarningRules/configRules')
+                                        this.$bus.$emit('remove', `/earlyWarningRules/configRules?id=${this.currentRuleId}`)
                                     }else{
                                         this.$message.error(res.message)
                                     }
@@ -601,7 +601,7 @@ export default {
                                 })
                             }else{
                                 this.$router.push('/earlyWarningRules/index')
-                                this.$bus.$emit('remove', '/earlyWarningRules/configRules')
+                                this.$bus.$emit('remove', `/earlyWarningRules/configRules?id=${this.currentRuleId}`)
                             }
                             
                         }else{

+ 1 - 1
src/views/modules/earlyWarningRules/index.vue

@@ -240,7 +240,7 @@ export default {
         },
         editRule(record){
             console.log(record);
-            this.$router.push(`/earlyWarningRules/configRules?id=${record.id}&edit=true`)
+            this.$router.push(`/earlyWarningRules/configRules?id=${record.id}`)
         },
         // recordsRule(record){
         //     console.log(record);

+ 459 - 335
src/views/modules/earlyWarningRules/ruleModule.vue

@@ -7,10 +7,10 @@
 <template>
   <div class="ruleModule">
     <div class="toolbox-automate-rules-create-body">
-      <a-steps :current="current" size="default" style="width: 50%; margin: 0 auto" v-if="editShow">
+      <!-- <a-steps :current="current" size="default" style="width: 50%; margin: 0 auto" v-if="editShow">
         <a-step title="预警值填写" />
         <a-step title="开关设置" />
-      </a-steps>
+      </a-steps> -->
 
       <!-- {{ ceshi }}{{ time }}
       <br />
@@ -26,342 +26,415 @@
         :radioStyle="true"
       />
       {{ form }} -->
-      <div v-if="current == 0">
-        <div class="toolbox-automate-rules-create-content_title"><h3>预警值填写</h3></div>
-        <a-spin :spinning="spinLoading">
-          <div class="toolbox-automate-rules-create-content">
-            <a-form-model ref="ruleForm" :model="form" layout="horizontal" v-bind="allCol">
-              <div class="moduler">
-                <template v-for="(item, index) of form.ruleList">
-                  <div class="row-item" v-if="item.ruleType == 'base' && item.isCopy == 0">
-                    <div class="hint-item">
-                      <a-tooltip>
-                        <template slot="title">
-                          {{ item.remark }}
-                        </template>
-                        <a-icon type="question-circle" />
-                      </a-tooltip>
-                    </div>
-                    <div class="label-item">
-                      <div class="text-item">{{ item.groupName }}</div>
-                      <div class="required-item"></div>
-                    </div>
-                    <div class="input-item">
-                      <a-form-model-item
-                        v-for="(value, valueIndex) of item.ruleDetail"
-                        :key="valueIndex"
-                        :ref="value.indicatorCode + valueIndex"
-                        :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
-                        :rules="{
-                          required: true,
-                          message: `${item.groupName}必填`,
-                          trigger: value.dataType == 'array' ? 'change' : 'blur',
-                        }"
-                      >
-                        <a-input-number
-                          v-model="value.threshold"
-                          :min="0"
-                          style="width: 300px;margin-right:5px"
-                          v-if="value.modelType == 'numberText'"
-                        />
-                        <a-input v-model="value.threshold" style="width: 300px;margin-right:5px" v-else-if="value.modelType == 'text'" />
-                        <selectGroup
-                          v-model="value.threshold"
-                          style="width: 300px;margin-right:5px"
-                          :code="value.dictId"
-                          :multiple="value.dataType == 'string' ? false : true"
-                          v-else-if="value.modelType == 'select'"
-                        />
-                        <!-- <selectGroup
+
+      <div class="toolbox-automate-rules-create-content_title">
+        <h3>预警值{{ editShow ? '填写' : '表单预览' }}</h3>
+      </div>
+      <a-spin :spinning="spinLoading">
+        <div class="toolbox-automate-rules-create-content">
+          <a-form-model ref="ruleForm" :model="form" layout="horizontal">
+            <div class="moduler">
+              <template v-for="(item, index) of form.ruleList">
+                <div class="row-item" v-if="item.ruleType == 'base' && item.isCopy == 0">
+                  <div class="hint-item">
+                    <a-tooltip>
+                      <template slot="title">
+                        {{ item.remark }}
+                      </template>
+                      <a-icon type="question-circle" />
+                    </a-tooltip>
+                  </div>
+                  <div class="label-item">
+                    <div class="text-item">{{ item.groupName }}</div>
+                    <div class="required-item" v-if="item.isRequired == 1"></div>
+                  </div>
+                  <div class="input-item">
+                    <a-form-model-item
+                      v-for="(value, valueIndex) of item.ruleDetail"
+                      :key="valueIndex"
+                      :ref="value.indicatorCode + valueIndex"
+                      :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
+                      :rules="{
+                        required: item.isRequired == 1 ? true : false,
+                        message: `${item.groupName}必填`,
+                        trigger: value.dataType == 'array' ? 'change' : 'blur',
+                      }"
+                    >
+                      <a-input-number
+                        :disabled="!editShow"
+                        v-model="value.threshold"
+                        :min="0"
+                        style="width: 100px; margin-right: 5px"
+                        v-if="value.modelType == 'numberText'"
+                      />
+                      <a-input
+                        :disabled="!editShow"
+                        v-model="value.threshold"
+                        style="width: 300px; margin-right: 5px"
+                        v-else-if="value.modelType == 'text'"
+                      />
+                      <selectGroup
+                        :disabled="!editShow"
+                        v-model="value.threshold"
+                        style="width: 300px; margin-right: 5px"
+                        :code="value.dictId"
+                        :multiple="
+                          value.dataType == 'string' ||
+                          value.dataType == 'number' ||
+                          value.indicatorCode == 'presentedVideo' ||
+                          value.indicatorCode == 'hideIfExists'
+                            ? false
+                            : true
+                        "
+                        v-else-if="value.modelType == 'select'"
+                      />
+                      <!-- <selectGroup
                       v-model="value.threshold"
                       style="width: 300px;margin-right:5px"
                       :code="value.dictId"
                       :multiple="value.dataType == 'string' ? false : true"
                     /> -->
-                        <checkBoxGroup
-                          v-model="value.threshold"
-                          style="width: 300px;margin-right:5px"
-                          :code="value.dictId"
-                          :allValue="value.dataType == 'string' ? true : false"
-                          :radioStyle="value.dataType == 'string' ? true : false"
-                          v-else-if="value.modelType == 'checkBox'"
-                        />
-                        <a-select
-                          mode="tags"
-                          style="width: 100%"
-                          placeholder="按回车生成标签"
-                          v-model="value.threshold"
-                          dropdownClassName="display-none-selset"
-                          :token-separators="[',', ' ', ',']"
-                          v-else-if="value.modelType == 'tagBox'"
-                        >
-                        </a-select>
-                        {{ value.dataUnit }}
-                      </a-form-model-item>
-                    </div>
+                      <checkBoxGroup
+                        :disabled="!editShow"
+                        v-model="value.threshold"
+                        style="width: 100%; margin-right: 5px"
+                        :code="value.dictId"
+                        :allValue="true"
+                        :radioStyle="
+                          value.dataType == 'string' ||
+                          value.dataType == 'number' ||
+                          value.indicatorCode == 'presentedVideo' ||
+                          value.indicatorCode == 'hideIfExists'
+                            ? true
+                            : false
+                        "
+                        v-else-if="value.modelType == 'checkBox'"
+                      />
+                      <a-select
+                        :disabled="!editShow"
+                        mode="tags"
+                        style="width: 100%"
+                        placeholder="按回车生成"
+                        v-model="value.threshold"
+                        dropdownClassName="display-none-selset"
+                        :token-separators="[',', ' ', ',']"
+                        v-else-if="value.modelType == 'tagBox'"
+                      >
+                      </a-select>
+                      {{ value.dataUnit }}
+                    </a-form-model-item>
                   </div>
+                </div>
 
-                  <div class="row-item" v-else-if="item.ruleType == 'group' && item.isCopy == 0">
-                    <div class="hint-item">
-                      <a-tooltip>
-                        <template slot="title">
-                          {{ item.remark }}
-                        </template>
-                        <a-icon type="question-circle" />
-                      </a-tooltip>
-                    </div>
-                    <div class="label-item">
-                      <div class="text-item">{{ item.groupName }}</div>
-                      <div class="required-item"></div>
-                    </div>
-                    <div class="input-item">
-                      <div class="toolbox-automate-rules-create-content_rules-and-condition_rules">
-                        <div class="content">
-                          <div class="rules-list">
-                            <div class="rules-list-item">
-                              <template v-for="(value, valueIndex) of item.ruleDetail">
-                                <div class="row-item row-group" v-if="value.variableType == 1">
-                                  <!-- <div class="hint-item"></div>
+                <div class="row-item" v-else-if="item.ruleType == 'group' && item.isCopy == 0">
+                  <div class="hint-item">
+                    <a-tooltip>
+                      <template slot="title">
+                        {{ item.remark }}
+                      </template>
+                      <a-icon type="question-circle" />
+                    </a-tooltip>
+                  </div>
+                  <div class="label-item">
+                    <div class="text-item">{{ item.groupName }}</div>
+                    <div class="required-item" v-if="item.isRequired == 1"></div>
+                  </div>
+                  <div class="input-item">
+                    <div class="toolbox-automate-rules-create-content_rules-and-condition_rules">
+                      <div class="content">
+                        <div class="rules-list">
+                          <div class="rules-list-item">
+                            <template v-for="(value, valueIndex) of item.ruleDetail">
+                              <div class="row-item row-group" v-if="value.variableType == 1">
+                                <!-- <div class="hint-item"></div>
                               <div class="label-item">
                                 <div class="text-item"></div>
                                 <div class="required-item"></div>
                               </div> -->
-                                  <div class="input-item">
-                                    <a-form-model-item
-                                      :label="value.name"
-                                      :ref="value.indicatorCode + valueIndex"
-                                      :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
-                                      :rules="{
-                                        required: true,
-                                        message: `${value.name}必填`,
-                                        trigger: 'blur',
-                                      }"
-                                      v-if="value.modelType == 'numberText'"
-                                    >
-                                      <a-input-number style="width: 95%;" v-model="value.threshold" :min="0" />{{
-                                        value.dataUnit
-                                      }}
-                                    </a-form-model-item>
-                                    <a-form-model-item
-                                      :label="value.name"
-                                      :ref="value.indicatorCode + valueIndex"
-                                      :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
-                                      :rules="{
-                                        required: true,
-                                        message: `${value.name}必填`,
-                                        trigger: 'blur',
-                                      }"
-                                      v-else-if="value.modelType == 'text'"
-                                    >
-                                      <a-input v-model="value.threshold" style="width: 95%;" />
-                                    </a-form-model-item>
-                                    <a-form-model-item
-                                      :label="value.name"
-                                      :ref="value.indicatorCode + valueIndex"
-                                      :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
-                                      :rules="{
-                                        required: true,
-                                        message: `${value.name}必选`,
-                                        trigger: 'change',
-                                      }"
-                                      v-else-if="value.modelType == 'select' || value.modelType == 'checkBox'"
-                                    >
-                                      <selectGroup
-                                        v-model="value.threshold"
-                                        :code="value.dictId"
-                                        :multiple="value.dataType == 'string' ? false : true"
-                                        style="width: 95%"
-                                        @clearValidate="clearAll"
-                                      />
-                                    </a-form-model-item>
-                                    <a-form-model-item
-                                      :label="value.name"
-                                      :ref="value.indicatorCode + valueIndex"
-                                      :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
-                                      :rules="{
-                                        required: true,
-                                        message: `${value.name}必选`,
-                                        trigger: 'change',
-                                      }"
-                                      v-else-if="value.modelType == 'tagBox'"
+                                <div class="input-item">
+                                  <a-form-model-item
+                                    :label-col="{ span: 6 }"
+                                    :wrapper-col="{ span: 18 }"
+                                    :label="value.name"
+                                    :ref="value.indicatorCode + valueIndex"
+                                    :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
+                                    :rules="{
+                                      required: item.isRequired == 1 ? true : false,
+                                      message: `${value.name}必填`,
+                                      trigger: 'blur',
+                                    }"
+                                    v-if="value.modelType == 'numberText'"
+                                  >
+                                    <a-input-number
+                                      :disabled="!editShow"
+                                      style="width: 100px; margin-right: 5px"
+                                      v-model="value.threshold"
+                                      :min="0"
+                                    />{{ value.dataUnit }}
+                                  </a-form-model-item>
+                                  <a-form-model-item
+                                    :label-col="{ span: 6 }"
+                                    :wrapper-col="{ span: 18 }"
+                                    :label="value.name"
+                                    :ref="value.indicatorCode + valueIndex"
+                                    :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
+                                    :rules="{
+                                      required: item.isRequired == 1 ? true : false,
+                                      message: `${value.name}必填`,
+                                      trigger: 'blur',
+                                    }"
+                                    v-else-if="value.modelType == 'text'"
+                                  >
+                                    <a-input v-model="value.threshold" style="width: 95%" :disabled="!editShow" />
+                                  </a-form-model-item>
+                                  <a-form-model-item
+                                    :label-col="{ span: 6 }"
+                                    :wrapper-col="{ span: 18 }"
+                                    :label="value.name"
+                                    :ref="value.indicatorCode + valueIndex"
+                                    :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
+                                    :rules="{
+                                      required: item.isRequired == 1 ? true : false,
+                                      message: `${value.name}必选`,
+                                      trigger: 'change',
+                                    }"
+                                    v-else-if="value.modelType == 'select' || value.modelType == 'checkBox'"
+                                  >
+                                    <selectGroup
+                                      :disabled="!editShow"
+                                      v-model="value.threshold"
+                                      :code="value.dictId"
+                                      :multiple="
+                                        value.dataType == 'string' ||
+                                        value.dataType == 'number' ||
+                                        value.indicatorCode == 'presentedVideo' ||
+                                        value.indicatorCode == 'hideIfExists'
+                                          ? false
+                                          : true
+                                      "
+                                      style="width: 95%"
+                                      @clearValidate="clearAll"
+                                    />
+                                  </a-form-model-item>
+                                  <a-form-model-item
+                                    :label-col="{ span: 6 }"
+                                    :wrapper-col="{ span: 18 }"
+                                    :label="value.name"
+                                    :ref="value.indicatorCode + valueIndex"
+                                    :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
+                                    :rules="{
+                                      required: item.isRequired == 1 ? true : false,
+                                      message: `${value.name}必选`,
+                                      trigger: 'change',
+                                    }"
+                                    v-else-if="value.modelType == 'tagBox'"
+                                  >
+                                    <a-select
+                                      :disabled="!editShow"
+                                      mode="tags"
+                                      style="width: 95%"
+                                      placeholder="按回车生成"
+                                      v-model="value.threshold"
+                                      dropdownClassName="display-none-selset"
+                                      :token-separators="[',', ' ', ',']"
+                                      :maxTagCount="3"
                                     >
-                                      <a-select
-                                        mode="tags"
-                                        style="width: 100%"
-                                        placeholder="按回车生成标签"
-                                        v-model="value.threshold"
-                                        dropdownClassName="display-none-selset"
-                                        :token-separators="[',', ' ', ',']"
-                                      >
-                                      </a-select>
-                                    </a-form-model-item>
-                                  </div>
+                                    </a-select>
+                                  </a-form-model-item>
                                 </div>
-                              </template>
-                            </div>
+                              </div>
+                            </template>
                           </div>
                         </div>
                       </div>
                     </div>
                   </div>
-                  <div class="row-item" v-else-if="item.ruleType == 'group' && item.isCopy == 1">
-                    <div class="hint-item">
-                      <a-tooltip>
-                        <template slot="title">
-                          {{ item.remark }}
-                        </template>
-                        <a-icon type="question-circle" />
-                      </a-tooltip>
-                    </div>
-                    <div class="label-item">
-                      <div class="text-item">{{ item.groupName }}</div>
-                      <div class="required-item"></div>
-                    </div>
-                    <div class="input-item">
-                      <div class="toolbox-automate-rules-create-content_rules-and-condition_rules">
-                        <div class="content">
-                          <div class="rules-list" v-for="(valueElse, valueIndex) of item.ruleDetail">
-                            <div class="rules-list-item">
-                              <template v-for="(value, valueElseIndex) of valueElse">
-                                <div class="row-item row-group" v-if="value.variableType == 1">
-                                  <!-- <div class="hint-item"></div>
+                </div>
+                <div class="row-item" v-else-if="item.ruleType == 'group' && item.isCopy == 1">
+                  <div class="hint-item">
+                    <a-tooltip>
+                      <template slot="title">
+                        {{ item.remark }}
+                      </template>
+                      <a-icon type="question-circle" />
+                    </a-tooltip>
+                  </div>
+                  <div class="label-item">
+                    <div class="text-item">{{ item.groupName }}</div>
+                    <div class="required-item" v-if="item.isRequired == 1"></div>
+                  </div>
+                  <div class="input-item">
+                    <div class="toolbox-automate-rules-create-content_rules-and-condition_rules">
+                      <div class="content">
+                        <div class="rules-list" v-for="(valueElse, valueIndex) of item.ruleDetail">
+                          <div class="rules-list-item">
+                            <template v-for="(value, valueElseIndex) of valueElse">
+                              <div class="row-item row-group" v-if="value.variableType == 1">
+                                <!-- <div class="hint-item"></div>
                               <div class="label-item">
                                 <div class="text-item"></div>
                                 <div class="required-item"></div>
                               </div> -->
-                                  <div class="input-item">
-                                    <a-form-model-item
-                                      :label="value.name"
-                                      :ref="value.indicatorCode + valueIndex"
-                                      :prop="
-                                        'ruleList.' +
-                                        index +
-                                        '.ruleDetail.' +
-                                        valueIndex +
-                                        '.' +
-                                        valueElseIndex +
-                                        '.threshold'
-                                      "
-                                      :rules="{
-                                        required: true,
-                                        message: `${value.name}必填`,
-                                        trigger: 'blur',
-                                      }"
-                                      v-if="value.modelType == 'numberText'"
-                                    >
-                                      <a-input-number style="width: 95%;" v-model="value.threshold" :min="0" />{{
-                                        value.dataUnit
-                                      }}
-                                    </a-form-model-item>
-                                    <a-form-model-item
-                                      :label="value.name"
-                                      :ref="value.indicatorCode + valueIndex"
-                                      :prop="
-                                        'ruleList.' +
-                                        index +
-                                        '.ruleDetail.' +
-                                        valueIndex +
-                                        '.' +
-                                        valueElseIndex +
-                                        '.threshold'
+                                <div class="input-item">
+                                  <a-form-model-item
+                                    :label-col="{ span: 6 }"
+                                    :wrapper-col="{ span: 18 }"
+                                    :label="value.name"
+                                    :ref="value.indicatorCode + valueIndex"
+                                    :prop="
+                                      'ruleList.' +
+                                      index +
+                                      '.ruleDetail.' +
+                                      valueIndex +
+                                      '.' +
+                                      valueElseIndex +
+                                      '.threshold'
+                                    "
+                                    :rules="{
+                                      required: item.isRequired == 1 ? true : false,
+                                      message: `${value.name}必填`,
+                                      trigger: 'blur',
+                                    }"
+                                    v-if="value.modelType == 'numberText'"
+                                  >
+                                    <a-input-number
+                                      :disabled="!editShow"
+                                      style="width: 100px; margin-right: 5px"
+                                      v-model="value.threshold"
+                                      :min="0"
+                                    />{{ value.dataUnit }}
+                                  </a-form-model-item>
+                                  <a-form-model-item
+                                    :label-col="{ span: 6 }"
+                                    :wrapper-col="{ span: 18 }"
+                                    :label="value.name"
+                                    :ref="value.indicatorCode + valueIndex"
+                                    :prop="
+                                      'ruleList.' +
+                                      index +
+                                      '.ruleDetail.' +
+                                      valueIndex +
+                                      '.' +
+                                      valueElseIndex +
+                                      '.threshold'
+                                    "
+                                    :rules="{
+                                      required: item.isRequired == 1 ? true : false,
+                                      message: `${value.name}必填`,
+                                      trigger: 'blur',
+                                    }"
+                                    v-else-if="value.modelType == 'text'"
+                                  >
+                                    <a-input :disabled="!editShow" v-model="value.threshold" style="width: 95%" />
+                                  </a-form-model-item>
+                                  <a-form-model-item
+                                    :label-col="{ span: 6 }"
+                                    :wrapper-col="{ span: 18 }"
+                                    :label="value.name"
+                                    :ref="value.indicatorCode + valueIndex"
+                                    :prop="
+                                      'ruleList.' +
+                                      index +
+                                      '.ruleDetail.' +
+                                      valueIndex +
+                                      '.' +
+                                      valueElseIndex +
+                                      '.threshold'
+                                    "
+                                    :rules="{
+                                      required: item.isRequired == 1 ? true : false,
+                                      message: `${value.name}必选`,
+                                      trigger: 'change',
+                                    }"
+                                    v-else-if="value.modelType == 'select' || value.modelType == 'checkBox'"
+                                  >
+                                    <selectGroup
+                                      :disabled="!editShow"
+                                      v-model="value.threshold"
+                                      :code="value.dictId"
+                                      :multiple="
+                                        value.dataType == 'string' ||
+                                        value.dataType == 'number' ||
+                                        value.indicatorCode == 'presentedVideo' ||
+                                        value.indicatorCode == 'hideIfExists'
+                                          ? false
+                                          : true
                                       "
-                                      :rules="{
-                                        required: true,
-                                        message: `${value.name}必填`,
-                                        trigger: 'blur',
-                                      }"
-                                      v-else-if="value.modelType == 'text'"
+                                      style="width: 95%"
+                                      @clearValidate="clearAll"
+                                    />
+                                  </a-form-model-item>
+                                  <a-form-model-item
+                                    :label-col="{ span: 6 }"
+                                    :wrapper-col="{ span: 18 }"
+                                    :label="value.name"
+                                    :ref="value.indicatorCode + valueIndex"
+                                    :prop="
+                                      'ruleList.' +
+                                      index +
+                                      '.ruleDetail.' +
+                                      valueIndex +
+                                      '.' +
+                                      valueElseIndex +
+                                      '.threshold'
+                                    "
+                                    :rules="{
+                                      required: item.isRequired == 1 ? true : false,
+                                      message: `${value.name}必选`,
+                                      trigger: 'change',
+                                    }"
+                                    v-else-if="value.modelType == 'tagBox'"
+                                  >
+                                    <a-select
+                                      :disabled="!editShow"
+                                      mode="tags"
+                                      style="width: 95%"
+                                      placeholder="按回车生成"
+                                      v-model="value.threshold"
+                                      dropdownClassName="display-none-selset"
+                                      :token-separators="[',', ' ', ',']"
+                                      :maxTagCount="3"
                                     >
-                                      <a-input v-model="value.threshold" style="width: 95%" />
-                                    </a-form-model-item>
-                                    <a-form-model-item
-                                      :label="value.name"
-                                      :ref="value.indicatorCode + valueIndex"
-                                      :prop="
-                                        'ruleList.' +
-                                        index +
-                                        '.ruleDetail.' +
-                                        valueIndex +
-                                        '.' +
-                                        valueElseIndex +
-                                        '.threshold'
-                                      "
-                                      :rules="{
-                                        required: true,
-                                        message: `${value.name}必选`,
-                                        trigger: 'change',
-                                      }"
-                                      v-else-if="value.modelType == 'select' || value.modelType == 'checkBox'"
-                                    >
-                                      <selectGroup
-                                        v-model="value.threshold"
-                                        :code="value.dictId"
-                                        :multiple="value.dataType == 'string' ? false : true"
-                                        style="width: 95%"
-                                        @clearValidate="clearAll"
-                                      />
-                                    </a-form-model-item>
-                                    <a-form-model-item
-                                      :label="value.name"
-                                      :ref="value.indicatorCode + valueIndex"
-                                      :prop="
-                                        'ruleList.' +
-                                        index +
-                                        '.ruleDetail.' +
-                                        valueIndex +
-                                        '.' +
-                                        valueElseIndex +
-                                        '.threshold'
-                                      "
-                                      :rules="{
-                                        required: true,
-                                        message: `${value.name}必选`,
-                                        trigger: 'change',
-                                      }"
-                                      v-else-if="value.modelType == 'tagBox'"
-                                    >
-                                      <a-select
-                                        mode="tags"
-                                        style="width: 100%"
-                                        placeholder="按回车生成标签"
-                                        v-model="value.threshold"
-                                        dropdownClassName="display-none-selset"
-                                        :token-separators="[',', ' ', ',']"
-                                      >
-                                      </a-select>
-                                    </a-form-model-item>
-                                  </div>
-                                </div>
-                                <div
-                                  class="rules-list-item-delete"
-                                  v-if="item.isCopy == 1"
-                                  @click="addData(item, valueElse, valueIndex)"
-                                >
-                                  {{ valueIndex == 0 ? '复制' : '删除' }}
+                                    </a-select>
+                                  </a-form-model-item>
                                 </div>
-                              </template>
-                            </div>
+                              </div>
+                              <div
+                                class="rules-list-item-delete"
+                                v-if="item.isCopy == 1"
+                                @click="addData(item, valueElse, valueIndex)"
+                              >
+                                {{ valueIndex == 0 ? '复建' : '删除' }}
+                              </div>
+                            </template>
                           </div>
                         </div>
                       </div>
                     </div>
                   </div>
-                </template>
-              </div>
-              <div class="moduler">
-                <div class="opt">
-                  <a-button type="default" style="margin-right: 15px" @click="goBack">{{editShow?'取消':'返回'}}</a-button>
-                  <a-button type="primary" style="margin-right: 15px" @click="saveHandler" :loading="saveLoading" v-if="editShow"
-                    >下一步</a-button
-                  >
                 </div>
-              </div>
-            </a-form-model>
-          </div>
-        </a-spin>
-      </div>
-      <div v-else-if="current == 1">
-        <switchConfig />
+              </template>
+            </div>
+          </a-form-model>
+        </div>
+      </a-spin>
+    </div>
+    <switchConfig :disabled="!editShow"/>
+    <div class="toolbox-automate-rules-create-body" v-if="editShow">
+      <div class="moduler">
+        <div class="opt">
+          <a-button type="default" style="margin-right: 15px" @click="goBack">{{
+            editShow ? '取消' : '返回'
+          }}</a-button>
+          <a-button
+            type="primary"
+            style="margin-right: 15px"
+            @click="saveHandler"
+            :loading="saveLoading"
+            v-if="editShow"
+            >确定</a-button
+          >
+        </div>
       </div>
     </div>
   </div>
@@ -473,13 +546,13 @@ export default {
   },
   data() {
     return {
-      editShow:false,
+      editShow: false,
       current: 0,
       spinLoading: false,
-      allCol: {
-        labelCol: { span: 6 },
-        wrapperCol: { span: 18 },
-      },
+      // allCol: {
+      //   labelCol: { span: 6 },
+      //   wrapperCol: { span: 18 },
+      // },
       wrapperCol: { span: 14 },
       ceshi: [],
       ceshi2: [],
@@ -672,10 +745,15 @@ export default {
   },
   methods: {
     addData(valueElse, value, index) {
-      console.log(valueElse, value)
       // alert(1)
       if (index == 0) {
         var data = JSON.parse(JSON.stringify(value))
+        data = data.map((item) => {
+          return {
+            ...item,
+            threshold: undefined,
+          }
+        })
         valueElse.ruleDetail.push(data)
       } else {
         valueElse.ruleDetail.splice(index, 1)
@@ -686,7 +764,6 @@ export default {
     },
     // 应用方式改变
     applyRangeChange(e) {
-      console.log(e.target.value)
       this.checkedList = []
       this.checkAll = false
       this.indeterminate = false
@@ -704,7 +781,6 @@ export default {
         pageNo: 1,
         pageSize: 100000,
       }).then((res) => {
-        console.log(res)
         this.plainOptions = []
         this.spinning = false
         if (res.success) {
@@ -730,7 +806,6 @@ export default {
         pageNo: 1,
         pageSize: 100000,
       }).then((res) => {
-        console.log(res)
         this.plainOptions = []
         this.spinning = false
         if (res.success) {
@@ -746,7 +821,7 @@ export default {
     },
 
     inputCheck(val) {
-      console.log(val)
+      // console.log(val)
     },
 
     isCost(val) {
@@ -760,12 +835,10 @@ export default {
     },
 
     handleChange(value) {
-      console.log(value, this.metricValueCode)
       let rulesList = {}
       rulesList = this.rulesFieldList.filter((item) => {
         return item.metricValueCode == value
       })[0]
-      console.log(rulesList)
       this.rulesList = []
       rulesList.childs.forEach((ele, index) => {
         this.rulesList.push({
@@ -878,8 +951,13 @@ export default {
               ...item,
               ruleDetail: item.ruleDetail.map((end) => {
                 if (isArray(end)) {
-                  end.threshold = isArray(end.threshold) ? JSON.stringify(end.threshold) : end.threshold
-                  return [...end]
+                  var data = end.map((c) => {
+                    return {
+                      ...c,
+                      threshold: isArray(c.threshold) ? JSON.stringify(c.threshold) : end.threshold,
+                    }
+                  })
+                  return [...data]
                 } else {
                   return {
                     ...end,
@@ -896,16 +974,18 @@ export default {
             accountId: JSON.parse(localStorage.getItem('getRuleDetail')).accountId,
           }
           this.saveLoading = true
+
+          console.log(params)
           postAction('/ruleAccountThreshold/fillThreshold', params).then((res) => {
             if (res.success) {
               this.saveLoading = false
               // this.goBack()
-              this.current = 1
+              this.$router.replace('/earlyWarningRules/useRuleList')
+              this.$bus.$emit('remove', '/earlyWarningRules/ruleModule')
             }
           })
         } else {
-          console.log('error submit!!')
-          this.$message.error('请按提示填写必填项目!')
+          this.$message.error('请按提示填写必填项!')
           return false
         }
       })
@@ -1013,6 +1093,31 @@ export default {
       }).then((res) => {
         if (res.success) {
           this.form = res.result
+
+          var data = this.form.ruleList.map((item) => {
+            return {
+              ...item,
+              ruleDetail: item.ruleDetail.map((end) => {
+                if (isArray(end)) {
+                  var data = end.map((c) => {
+                    return {
+                      ...c,
+                      threshold:
+                        c.modelType == 'tagBox' ? (c.threshold == null ? undefined : c.threshold) : c.threshold,
+                    }
+                  })
+                  return [...data]
+                } else {
+                  return {
+                    ...end,
+                    threshold:
+                      end.modelType == 'tagBox' ? (end.threshold == null ? undefined : end.threshold) : end.threshold,
+                  }
+                }
+              }),
+            }
+          })
+          this.form.ruleList = data
           this.spinLoading = false
         } else {
           this.spinLoading = false
@@ -1023,6 +1128,28 @@ export default {
       getAction('/ruleTemplate/previewTemplate', { id: data.id }).then((res) => {
         if (res.success) {
           this.form = res.result
+          var data = this.form.ruleList.map((item) => {
+            return {
+              ...item,
+              ruleDetail: item.ruleDetail.map((end) => {
+                if (isArray(end)) {
+                  var data = end.map((c) => {
+                    return {
+                      ...c,
+                      threshold: c.modelType == 'tagBox' ? undefined : end.threshold,
+                    }
+                  })
+                  return [...data]
+                } else {
+                  return {
+                    ...end,
+                    threshold: end.modelType == 'tagBox' ? undefined : end.threshold,
+                  }
+                }
+              }),
+            }
+          })
+          this.form.ruleList = data
           this.spinLoading = false
         } else {
           this.spinLoading = false
@@ -1083,7 +1210,7 @@ export default {
       display: flex;
       justify-content: flex-start;
       align-items: center;
-      margin-bottom: 32px;
+      margin-bottom: 20px;
     }
     .row-item:last-of-type {
       margin-bottom: 0;
@@ -1103,11 +1230,11 @@ export default {
       line-height: 20px;
       height: 20px;
       margin-top: 10px;
-      width: 105px;
-      min-width: 105px;
+      width: 140px;
+      min-width: 140px;
       .text-item {
         font-size: 14px;
-        width: 100px;
+        width: 120px;
       }
     }
     .row-item .required-item {
@@ -1143,9 +1270,9 @@ export default {
     }
   }
 
-  .toolbox-automate-rules-create-content_rules-and-condition_rules {
-    margin-bottom: 24px;
-  }
+  // .toolbox-automate-rules-create-content_rules-and-condition_rules {
+  //   // margin-bottom: 24px;
+  // }
   .toolbox-automate-rules-create-content_rules-and-condition_rules,
   .toolbox-automate-rules-create-content_rules-and-condition_condition {
     width: 1138px;
@@ -1171,8 +1298,6 @@ export default {
       }
     }
     .content {
-      padding: 24px;
-
       .add-rule {
         cursor: pointer;
 
@@ -1196,10 +1321,9 @@ export default {
       .rules-list-item {
         box-sizing: border-box;
         width: 100%;
-        padding: 24px;
+        padding: 10px;
         background: #f8f9fa;
         border-radius: 4px;
-        margin-bottom: 16px;
         display: flex;
         align-items: center;
         position: relative;

Різницю між файлами не показано, бо вона завелика
+ 521 - 548
src/views/modules/earlyWarningRules/switchConfig.vue


+ 10 - 9
src/views/modules/earlyWarningRules/useRuleList.vue

@@ -56,16 +56,12 @@
             <a href="javascript:;" @click="editRule(record)">预览模板</a>
             <a-divider type="vertical" />
             <a href="javascript:;" @click="pushRule(record)">推送模板</a>
-            <a-divider type="vertical" />
-            <a-popconfirm :title="`当前模板关联账户个数为${relationCount},确定删除吗?`" @confirm="deleteRule(record)">
-              <a href="javascript:;" @click.stop="showRelativeCount(record)">删除模板</a>
-            </a-popconfirm>
           </span>
           <span slot="optionsTwo" slot-scope="text, record">
             <a href="javascript:;" @click="editRule(record)">编辑模板</a>
             <a-divider type="vertical" />
-            <a-popconfirm :title="`当前模板关联账户个数为${relationCount},确定删除吗?`" @confirm="deleteRule(record)">
-              <a href="javascript:;" @click.stop="showRelativeCount(record)">删除模板</a>
+            <a-popconfirm :title="`当前删除会解除此账户绑定模板,确定删除吗?`" @confirm="deleteRule(record)">
+              <a href="javascript:;">删除模板</a>
             </a-popconfirm>
           </span>
         </a-table>
@@ -88,7 +84,7 @@
 
 <script>
 import moment from 'moment'
-import { getAction, postAction, downFile, downFilePost } from '@/api/manage'
+import { getAction, postAction, downFile, downFilePost, deleteAction } from '@/api/manage'
 let existColumns = [
   // {
   //     title: '运行/暂停',
@@ -285,6 +281,10 @@ export default {
               this.$router.push('/earlyWarningRules/ruleModule')
               this.confirmLoading = false
             })
+          } else {
+            this.accountId = ''
+            this.$message.error(`此账户下已绑定模板${res.result.templateName},请重新选择账户`)
+            this.confirmLoading = false
           }
         } else {
           this.accountId = ''
@@ -304,6 +304,7 @@ export default {
         console.log(res)
         if (res.success) {
           this.relationCount = res.result.relationCount
+
           // getAction(this.url.delete,{
           //     id:record.id
           // }).then(res=>{
@@ -319,11 +320,11 @@ export default {
     },
     deleteRule(record) {
       console.log(record)
-      getAction(this.url.getRelationAccountById, {
+      deleteAction('/ruleAccountTemplate/delete', {
         id: record.id,
       }).then((res) => {
-        console.log(res)
         if (res.success) {
+          this.getTableListHttp('/ruleAccountTemplate/getTemplateApplied')
           // getAction(this.url.delete,{
           //     id:record.id
           // }).then(res=>{

+ 2 - 1
src/views/modules/kuaishouapp/account/copyGroup.vue

@@ -649,7 +649,8 @@
               console.log(this.populationData.allForm, dataJson.agesRange)
               this.$nextTick(() => {
                 this.form.setFieldsValue(pick(dataJson, ['appId', 'urlType', 'url', 'dayBudget', 'speed',
-                  'showMode'
+                  'showMode',
+                'filterConvertedLevel'
                 ]))
               })
             }

+ 2 - 1
src/views/modules/kuaishouapp/account/editGroup.vue

@@ -726,7 +726,8 @@
             this.$nextTick(() => {
               console.log(dataJson)
               this.form.setFieldsValue(pick(dataJson, ['appId', 'urlType', 'url', 'dayBudget', 'speed',
-                'showMode'
+                'showMode',
+                'filterConvertedLevel'
               ]))
               //   this.form.setFieldsValue({
               //     appId: dataJson.appId

+ 2 - 1
src/views/modules/kuaishouapp/account/editGroupNew.vue

@@ -737,7 +737,8 @@
               .appIds) : []
             this.$nextTick(() => {
               this.form.setFieldsValue(pick(dataJson, ['appId', 'urlType', 'url', 'dayBudget', 'speed',
-                'showMode'
+                'showMode',
+                'filterConvertedLevel'
               ]))
             })
           }

+ 1 - 2
src/views/modules/kuaishouapp/account/stepForm/Step3.vue

@@ -108,7 +108,6 @@ li.chouzhen.first:before {
     height: 250px;
     border: 1px solid #f2f2f2;
     list-style: none;
-
     img,
     video {
       width: 100%;
@@ -197,7 +196,7 @@ li.chouzhen.first:before {
                           >
                             <a-checkbox-group
                               v-model="item.checkArrImage"
-                              style="width: 100%; display: flxex; padding-left: 0"
+                              style="width: 100%; display: flex; padding-left: 0"
                               @change="onChangeCheckImage"
                             >
                               <li v-for="(item, index) of item.imageUrlList" :key="index">

+ 21 - 1
src/views/modules/kuaishouapp/account/stepForm/stepModule/newModulePop.vue

@@ -544,7 +544,26 @@ li:hover {
         </a-select-option>
       </a-select>
     </a-form-item>
-
+<a-form-item
+      label="过滤已转化用户"
+      :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+      :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
+    >
+      <!-- v-decorator="[
+          'isOpen',
+          {
+            initialValue: '0'
+          }
+        ]" -->
+     <a-radio-group buttonStyle="solid" v-decorator="['filterConvertedLevel',{initialValue: 0}]">
+        <a-radio-button :value="0">不限</a-radio-button>
+        <a-radio-button :value="1">广告组</a-radio-button>
+        <a-radio-button :value="2">广告计划</a-radio-button>
+        <a-radio-button :value="3">本账户</a-radio-button>
+        <a-radio-button :value="4">公司主体</a-radio-button>
+        <a-radio-button :value="5">APP</a-radio-button>
+      </a-radio-group>
+    </a-form-item>
     <a-form-item
       label="智能扩量"
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
@@ -797,6 +816,7 @@ export default {
                 'deviceBrand',
                 'devicePrice',
                 'businessInterest',
+                'filterConvertedLevel'
               ])
             )
           })

+ 22 - 2
src/views/modules/kuaishouapp/account/stepForm/stepModule/targetedPopulation.vue

@@ -522,7 +522,26 @@ li:hover {
         }}</a-select-option>
       </a-select>
     </a-form-item>
-
+    <a-form-item
+      label="过滤已转化用户"
+      :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
+      :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
+    >
+      <!-- v-decorator="[
+          'isOpen',
+          {
+            initialValue: '0'
+          }
+        ]" -->
+     <a-radio-group buttonStyle="solid" v-decorator="['filterConvertedLevel',{initialValue: 0}]">
+        <a-radio-button :value="0">不限</a-radio-button>
+        <a-radio-button :value="1">广告组</a-radio-button>
+        <a-radio-button :value="2">广告计划</a-radio-button>
+        <a-radio-button :value="3">本账户</a-radio-button>
+        <a-radio-button :value="4">公司主体</a-radio-button>
+        <a-radio-button :value="5">APP</a-radio-button>
+      </a-radio-group>
+    </a-form-item>
     <a-form-item
       label="智能扩量"
       :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
@@ -780,7 +799,8 @@ export default {
                 'iosOsv',
                 'deviceBrand',
                 'devicePrice',
-                'businessInterest'
+                'businessInterest',
+                'filterConvertedLevel'
               ])
             )
           })

+ 11 - 11
src/views/modules/material/scriptFile.vue

@@ -111,8 +111,8 @@
           <a @click="bindProject(record)">项目绑定</a>
           <a-divider type="vertical" />
           <a @click="downLoad(record)">下载</a>
-          <a-divider type="vertical" />
-          <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
+          <a-divider type="vertical" /> -->
+          <!-- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
             <a>删除</a>
           </a-popconfirm> -->
         </span>
@@ -208,7 +208,7 @@ export default {
       uploadAction: 'http://api.tjyourong.com.cn/jeecg-boot/ctop/wpsFile/uploadFile',
       columns: [
         {
-          title: '脚本名称',
+          title: '文件名称',
           align: 'center',
           dataIndex: 'name',
         },
@@ -220,14 +220,14 @@ export default {
             customRender: 'size',
           },
         },
-        {
-          title: '绑定项目',
-          align: 'center',
-          dataIndex: 'projectId_dictText',
-          scopedSlots: {
-            customRender: 'projectId_dictText',
-          },
-        },
+        // {
+        //   title: '绑定项目',
+        //   align: 'center',
+        //   dataIndex: 'projectId_dictText',
+        //   scopedSlots: {
+        //     customRender: 'projectId_dictText',
+        //   },
+        // },
         {
           title: '创建人',
           align: 'center',

+ 6 - 3
src/views/modules/material/videoMaterial.vue

@@ -3006,7 +3006,8 @@ export default {
               item.roleCode == 'plan' ||
               item.roleCode == 'designTeamLeader' ||
               item.roleCode == 'shot' ||
-              item.roleCode == 'plane'
+              item.roleCode == 'plane'||
+              item.roleCode == 'planeLeader'
             ) {
               return {
                 userId: item.userId,
@@ -3020,7 +3021,8 @@ export default {
               item.roleCode == 'shot' ||
               item.roleCode == 'plan' ||
               item.roleCode == 'designTeamLeader' ||
-              item.roleCode == 'plane'
+              item.roleCode == 'plane'||
+              item.roleCode == 'planeLeader'
             ) {
               return {
                 userId: item.userId,
@@ -3034,7 +3036,8 @@ export default {
               item.roleCode == 'plan' ||
               item.roleCode == 'designTeamLeader' ||
               item.roleCode == 'clip' ||
-              item.roleCode == 'plane'
+              item.roleCode == 'plane'||
+              item.roleCode == 'planeLeader'
             ) {
               return {
                 userId: item.userId,