朱鑫波 4 年之前
父节点
当前提交
f440d95d93

+ 35 - 5
src/views/modules/earlyWarningRules/configRules.vue

@@ -55,14 +55,20 @@
                                 </template>
                                 <a-icon type="question-circle" />
                             </a-tooltip> -->
+                            <!-- draggable="true"
+                  @dragstart="handleDragStart($event, item.groupId)"
+                  @dragover="handleDragOver($event, item.groupId)"
+                  @dragenter.prevent.stop="handleDragEnter($event, item.groupId)"
+                  @dragend="handleDragEnd($event, item.groupId)" -->
                         </div>
                         <div class="label-item">
                             <div class="text-item">规则条件</div>
                             <div class="required-item"></div>
                         </div>
-                        <div class="input-item  extraClass" style="min-width:80%" > 
+                        <div class="input-item  extraClass" style="min-width:80%" >  
                             <a-collapse accordion >
-                                <a-collapse-panel v-for="(item,index) in form.ruleList" :key="index" :header="item.groupName" :style="customStyle">
+                                <a-collapse-panel v-for="(item,index) in form.ruleList" :key="index" :header="item.groupName" :style="customStyle"
+                                >
                                     <span slot="extra">
                                          <a-popconfirm
                                             :title="`确定删除吗?`"
@@ -309,6 +315,7 @@ export default {
     },
     data() {
         return {
+            dragging:null,
             tabActiveKey:[0],
             customStyle:'background: #f9f9fa;border-radius: 4px;margin-bottom:15px;overflow: hidden;border: 1px solid #d9d9d9;',
             conditionList:[],
@@ -383,7 +390,30 @@ export default {
         
     },
     methods: {
-        
+        handleDragStart(e, item) {
+        this.dragging = item
+      },
+      handleDragEnd(e, item) {
+        this.dragging = null
+      },
+      //首先把div变成可以放置的元素,即重写dragenter/dragover
+      handleDragOver(e) {
+        e.dataTransfer.dropEffect = 'move' // e.dataTransfer.dropEffect="move";//在dragenter中针对放置目标来设置!
+      },
+      handleDragEnter(e, item) {
+        e.dataTransfer.effectAllowed = 'move' //为需要移动的元素设置dragstart事件
+      if (item === this.dragging) {
+        return
+      }
+      const newItems = [...this.form.ruleList]
+      console.log(newItems)
+      const src = newItems.findIndex(v => v.groupId === this.dragging)
+      const dst = newItems.findIndex(v => v.groupId === item)
+
+      newItems.splice(dst, 0, ...newItems.splice(src, 1))
+this.form.ruleList = []
+      this.form.ruleList = [...newItems]
+      },
         ruleTypeChange(item){
             
             if(item.ruleType=='base'){
@@ -657,10 +687,10 @@ export default {
                                  getAction(this.url.ruleCondition,{
                                     dataType:ele.dataType
                                 }).then(result=>{
-                                    console.log(result)
+                                    // console.log(result)
                                     if(result.success){
                                         ele.conditionList=result.result
-                                        console.log(this.form);
+                                        // console.log(this.form);
                                         this.form={};
                                         this.form=res.result
                                     }

+ 389 - 372
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,405 +26,415 @@
         :radioStyle="true"
       />
       {{ form }} -->
-      <div v-if="current == 0">
-        <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
-                          v-model="value.threshold"
-                          :min="0"
-                          style="width: 100px; 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' ||
-                            value.dataType == 'number' ||
-                            value.indicatorCode == 'presentedVideo' ||
-                            value.indicatorCode == 'hideIfExists'
-                              ? 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: 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
-                          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" 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="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-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
-                                        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%" />
-                                    </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
-                                        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'"
+                                <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: 95%"
-                                        placeholder="按回车生成标签"
-                                        v-model="value.threshold"
-                                        dropdownClassName="display-none-selset"
-                                        :token-separators="[',', ' ', ',']"
-                                        :maxTagCount="3"
-                                      >
-                                      </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" 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>
+                <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-col="{ span: 6 }"
-                                      :wrapper-col="{ span: 18 }"
-                                      :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: item.isRequired == 1 ? true : false,
-                                        message: `${value.name}必填`,
-                                        trigger: 'blur',
-                                      }"
-                                      v-if="value.modelType == 'numberText'"
+                                      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-number
-                                        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 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
-                                        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 +
-                                        '.' +
-                                        valueElseIndex +
-                                        '.threshold'
-                                      "
-                                      :rules="{
-                                        required: item.isRequired == 1 ? true : false,
-                                        message: `${value.name}必选`,
-                                        trigger: 'change',
-                                      }"
-                                      v-else-if="value.modelType == 'tagBox'"
-                                    >
-                                      <a-select
-                                        mode="tags"
-                                        style="width: 95%"
-                                        placeholder="按回车生成标签"
-                                        v-model="value.threshold"
-                                        dropdownClassName="display-none-selset"
-                                        :token-separators="[',', ' ', ',']"
-                                        :maxTagCount="3"
-                                      >
-                                      </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>
@@ -738,6 +748,12 @@ export default {
       // 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)
@@ -964,7 +980,8 @@ export default {
             if (res.success) {
               this.saveLoading = false
               // this.goBack()
-              this.current = 1
+              this.$router.replace('/earlyWarningRules/useRuleList')
+              this.$bus.$emit('remove', '/earlyWarningRules/ruleModule')
             }
           })
         } else {
@@ -1193,7 +1210,7 @@ export default {
       display: flex;
       justify-content: flex-start;
       align-items: center;
-      margin-bottom: 15px;
+      margin-bottom: 20px;
     }
     .row-item:last-of-type {
       margin-bottom: 0;

文件差异内容过多而无法显示
+ 521 - 548
src/views/modules/earlyWarningRules/switchConfig.vue


+ 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,