Explorar el Código

协议调度日期格式调整 默认展示字段变更 编辑动作默认不传未选中的动作

祁鹏飞 hace 1 mes
padre
commit
055ba210cc

+ 14 - 7
src/views/quoteConfig/dispatch/components/rule.vue

@@ -83,7 +83,7 @@
                 <el-date-picker v-model="domain.max" type="date" placeholder="选择日期" style="width: 341px" v-if="
                   getConditionType(domain.attrCode) === 'datetime' &&
                   domain.operator !== '1'
-                " :disabled="!domain.operator" clearable />
+                " value-format="YYYY-MM-DD" :disabled="!domain.operator" clearable />
 
                 <!-- 日期范围选择 -->
                 <div v-if="
@@ -580,14 +580,17 @@ const submit = async () => {
   const actionJson = formData.value.actionJson;
 
   // const actions =formData.value.actionJson
-  const actions = [
+  let actions = [
     {
       actionCode: actionJson[0].actionCode,
       actionJson: {
         agreementId: actionJson[0].agreementId,
       },
     },
-    {
+
+  ];
+  if (linkTypeList.value.includes('manual_input')) {
+    const obj = {
       actionCode:
         actionJson[1].linkType == "manual_input"
           ? "change_poc"
@@ -597,8 +600,11 @@ const submit = async () => {
           ? { name: actionJson[1].name, phone: actionJson[1].phone }
           : { accountId: actionJson[1].accountId }),
       },
-    },
-    {
+    }
+    actions.push(obj)
+  }
+  if (linkTypeList.value.includes('select_account')) {
+    const obj = {
       actionCode:
         actionJson[2].linkType == "manual_input"
           ? "change_poc"
@@ -608,8 +614,9 @@ const submit = async () => {
           ? { name: actionJson[2].name, phone: actionJson[2].phone }
           : { accountId: actionJson[2].accountId }),
       },
-    },
-  ];
+    }
+    actions.push(obj)
+  }
   if (!actionJson[0].agreementId) {
     ElMessage({
       message: '请选择指定报价协议!',

+ 128 - 128
src/views/quoteConfig/dispatch/index.vue

@@ -25,45 +25,45 @@
       </div>
     </PageMain>
     <PageMain class="vh100 m-l-0" style="width: calc(100% - 250px);">
-          <div class="right">
-            <div class="top">
-              <span>调度规则</span>
-              <el-button type="text" @click="drawer = true">+添加新方案</el-button>
-            </div>
-            <div class="empty" v-if="ruleList.length == 0">
-              <img src="@/assets/images/empty.png" alt="" />暂无内容
+      <div class="right">
+        <div class="top">
+          <span>调度规则</span>
+          <el-button type="text" @click="drawer = true">+添加新方案</el-button>
+        </div>
+        <div class="empty" v-if="ruleList.length == 0">
+          <img src="@/assets/images/empty.png" alt="" />暂无内容
+        </div>
+        <div class="center flex flex-wrap" v-else>
+          <!-- 规则列表:循环处理后的ruleList -->
+          <div class="rule-item" v-for="(item, ruleIndex) in ruleList" :key="item.dispatchId">
+            <div class="item-title">
+              <div class="name" v-if="!item.editMode">
+                {{ item.dispatchName }}
+              </div>
+              <div class="name" v-else>
+                <el-input v-model="item.dispatchName" style="width: 240px" :placeholder="item.dispatchName"
+                  @blur="saveDispatchName(item)" />
+              </div>
+              <img src="@/assets/images/edit.png" @click.stop="item.editMode = !item.editMode" />
+              <img src="@/assets/images/add.png" style="margin: 0px 12px" @click.stop="editDispatch(item)" />
+              <el-popconfirm class="box-item" title="是否确定删除该规则?" placement="bottom" width="196px"
+                confirm-button-text="确定删除" @confirm.stop.prevent="deleteRule(item.dispatchId)">
+                <template #reference>
+                  <img src="@/assets/images/delete.png" @click.stop /></template>
+              </el-popconfirm>
             </div>
-            <div class="center flex flex-wrap" v-else>
-              <!-- 规则列表:循环处理后的ruleList -->
-              <div class="rule-item" v-for="(item, ruleIndex) in ruleList" :key="item.dispatchId">
-                <div class="item-title">
-                  <div class="name" v-if="!item.editMode">
-                    {{ item.dispatchName }}
-                  </div>
-                  <div class="name" v-else>
-                    <el-input v-model="item.dispatchName" style="width: 240px" :placeholder="item.dispatchName"
-                      @blur="saveDispatchName(item)" />
-                  </div>
-                  <img src="@/assets/images/edit.png" @click.stop="item.editMode = !item.editMode" />
-                  <img src="@/assets/images/add.png" style="margin: 0px 12px" @click.stop="editDispatch(item)" />
-                  <el-popconfirm class="box-item" title="是否确定删除该规则?" placement="bottom" width="196px"
-                    confirm-button-text="确定删除" @confirm.stop.prevent="deleteRule(item.dispatchId)">
-                    <template #reference>
-                      <img src="@/assets/images/delete.png" @click.stop /></template>
-                  </el-popconfirm>
-                </div>
-                <p>当报价信息满足以下条件时</p>
-
-                <div class="condition">
-                  <div class="section-group" v-for="(sectionGroup, groupIndex) in item.groupedAttrLinks"
-                    :key="groupIndex">
-                    <div class="condition-one" @click.stop="ruleitemEdit(item)">
-                      <div class="dispatch-item" v-for="(row, index) in sectionGroup" :key="row.id">
-                        {{ row.attrCodeName || "未设置属性" }}
-                        <div class="opera">
-                          {{ row.operatorDesc }}
-                        </div>
-                        <!-- <div class="value">
+            <p>当报价信息满足以下条件时</p>
+            <div class="condition">
+              <div class="section-group" v-for="(sectionGroup, groupIndex) in item.groupedAttrLinks" :key="groupIndex">
+                <div class="condition-one" @click.stop="ruleitemEdit(item)">
+                  <div class="dispatch-item" v-for="(row, index) in sectionGroup" :key="row.id">
+                    <div class="min-w-100px">
+                    {{ row.attrCodeName || "未设置属性" }}
+                    </div>
+                    <div class="opera">
+                      {{ row.operatorDesc }}
+                    </div>
+                    <!-- <div class="value">
                           <template
                             v-if="
 
@@ -87,74 +87,74 @@
                             {{ row.min }}~{{ row.max }}
                           </template>
                         </div> -->
-                        <div class="value">
-                          <template v-if="row.min && row.max">
-                            {{ row.minName }}~{{ row.maxName }}
-                          </template>
-                          <template v-else-if="row.attrDesc">
-                            {{
-                              Array.isArray(row.attrDesc)
-                                ? row.attrDesc.join(",")
-                                : row.attrDesc || "无"
-                            }}
-                          </template>
-                          <template v-else>
-                            {{ row.minName }}
-                          </template>
-                        </div>
-                      </div>
-                    </div>
-
-                    <div style="margin: 0px 16px 10px; font-size: 16px"
-                      v-if="groupIndex < item.groupedAttrLinks.length - 1">
-                      或者
+                    <div class="value">
+                      <template v-if="row.min && row.max">
+                        {{ row.minName }}~{{ row.maxName }}
+                      </template>
+                      <template v-else-if="row.attrDesc">
+                        {{
+                          Array.isArray(row.attrDesc)
+                            ? row.attrDesc.join(",")
+                            : row.attrDesc || "无"
+                        }}
+                      </template>
+                      <template v-else>
+                        {{ row.maxName }}
+                      </template>
                     </div>
                   </div>
+                </div>
 
-                  <div style="margin: 0px 16px 10px">将执行以下动作</div>
-                  <div class="action" v-if="item.actions.length > 0" @click.stop="ruleitemEdit(item)">
-                    <div class="name">
-                      {{ item.actions[0].actionName }}
-                    </div>
-                    {{
-                      item.actions[0].actionJson.agreementName ||
-                      "未设置协议名称"
-                    }}
-                  </div>
-                  <div class="action" v-if="item.actions.length > 1" @click.stop="ruleitemEdit(item)">
-                    <div class="name">
-                      变更 {{ item.actions[1].actionName }}的
-                      {{
-                        item.actions[1].actionCode == "change_poc"
-                          ? "对接人"
-                          : "保司账号"
-                      }}
-                    </div>
-                    <div v-if="item.actions[1]?.actionCode == 'change_poc'">
-                      {{ item.actions[1].actionJson.name || "未设置" }}-{{
-                        item.actions[1].actionJson.phone || "未设置"
-                      }}
-                    </div>
-                    <!-- <template v-if="'send_notify_msg'">
+                <div style="margin: 0px 16px 10px; font-size: 16px"
+                  v-if="groupIndex < item.groupedAttrLinks.length - 1">
+                  或者
+                </div>
+              </div>
+
+              <div style="margin: 0px 16px 10px">将执行以下动作</div>
+              <div class="action" v-if="item.actions.length > 0" @click.stop="ruleitemEdit(item)">
+                <div class="name">
+                  {{ item.actions[0].actionName }}
+                </div>
+                {{
+                  item.actions[0].actionJson.agreementName ||
+                  "未设置协议名称"
+                }}
+              </div>
+              <div class="action" v-if="item.actions.length > 1" @click.stop="ruleitemEdit(item)">
+                <div class="name">
+                  变更 {{ item.actions[1].actionName }}的
+                  {{
+                    item.actions[1].actionCode == "change_poc"
+                      ? "对接人"
+                      : "保司账号"
+                  }}
+                </div>
+                <div v-if="item.actions[1]?.actionCode == 'change_poc'">
+                  {{ item.actions[1].actionJson.name || "未设置" }}-{{
+                    item.actions[1].actionJson.phone || "未设置"
+                  }}
+                </div>
+                <!-- <template v-if="'send_notify_msg'">
 
                     </template> -->
-                    <div v-if="item.actions[2]?.actionCode == 'change_bs_account'">
-                      用户名:{{
-                        item.actions[2].actionJson.userName || "未设置"
-                      }}<br />
-                      简称:
-                      {{ item.actions[2].actionJson.companyName || "未设置" }}
-                    </div>
-                  </div>
+                <div v-if="item.actions[2]?.actionCode == 'change_bs_account'">
+                  用户名:{{
+                    item.actions[2].actionJson.userName || "未设置"
+                  }}<br />
+                  简称:
+                  {{ item.actions[2].actionJson.companyName || "未设置" }}
                 </div>
               </div>
-              <!-- 其他情况规则 -->
-              <div class="rule-item">
-                <div class="item-title">
-                  <div class="name">其他情况</div>
-                  <!-- <img src="@/assets/images/edit.png" /> -->
-                  <!-- <img src="@/assets/images/add.png" style="margin: 0px 12px" /> -->
-                  <!-- <el-popconfirm
+            </div>
+          </div>
+          <!-- 其他情况规则 -->
+          <div class="rule-item">
+            <div class="item-title">
+              <div class="name">其他情况</div>
+              <!-- <img src="@/assets/images/edit.png" /> -->
+              <!-- <img src="@/assets/images/add.png" style="margin: 0px 12px" /> -->
+              <!-- <el-popconfirm
                     class="box-item"
                     title="是否确定删除该规则?"
                     placement="bottom"
@@ -166,38 +166,38 @@
                       <img src="@/assets/images/delete.png"
                     /></template>
                   </el-popconfirm> -->
+            </div>
+            <p>
+              如存在不满足其它规则的情况下,则进入该情况,请选择该情况下要执行的动作
+            </p>
+            <div class="other" @click="(isother = true), (companyId = companyId)">
+              点击选择该情况下要执行的动作
+            </div>
+            <div class="condition" v-for="item in afterActions" :key="item.id">
+              <div class="action">
+                <div class="name flex justify-between items-center">
+                  {{ item.actionName }}
+                  <el-popconfirm class="box-item" title="是否确定删除该动作?" placement="bottom" width="196px"
+                    confirm-button-text="确定删除" @confirm.stop.prevent="deleteActive(item.id)">
+                    <template #reference>
+                      <img src="@/assets/images/delete.png" class="w-20px h-20px" @click.stop /></template>
+                  </el-popconfirm>
                 </div>
-                <p>
-                  如存在不满足其它规则的情况下,则进入该情况,请选择该情况下要执行的动作
-                </p>
-                <div class="other" @click="(isother = true), (companyId = companyId)">
-                  点击选择该情况下要执行的动作
-                </div>
-                <div class="condition" v-for="item in afterActions" :key="item.id">
-                  <div class="action">
-                    <div class="name flex justify-between items-center">
-                      {{ item.actionName }}
-                      <el-popconfirm class="box-item" title="是否确定删除该动作?" placement="bottom" width="196px"
-                        confirm-button-text="确定删除" @confirm.stop.prevent="deleteActive(item.id)">
-                        <template #reference>
-                          <img src="@/assets/images/delete.png" class="w-20px h-20px" @click.stop /></template>
-                      </el-popconfirm>
-                    </div>
-                    <template v-if="item.actionCode == 'send_notify_msg'">
-                      <div>标题:{{ item.actionJson.title }}</div>
-                      <div>内容:{{ item.actionJson.content }}</div>
-                    </template>
-                    <template v-else-if="item.actionCode == 'supplementary_order'">
-                      将该车辆的报价单,在后台自动生成为:暂存的补录订单
-                    </template>
-                    <template v-else>
-                      {{ item.actionJson.message || "未设置" }}
-                    </template>
-                  </div>
-                </div>
+                <template v-if="item.actionCode == 'send_notify_msg'">
+                  <div>标题:{{ item.actionJson.title }}</div>
+                  <div>内容:{{ item.actionJson.content }}</div>
+                </template>
+                <template v-else-if="item.actionCode == 'supplementary_order'">
+                  将该车辆的报价单,在后台自动生成为:暂存的补录订单
+                </template>
+                <template v-else>
+                  {{ item.actionJson.message || "未设置" }}
+                </template>
               </div>
             </div>
           </div>
+        </div>
+      </div>
     </PageMain>
     <rule v-if="drawer" @close="handleClose" :editData="editData" :companyId="currentId" :editType="editType" />
     <other v-if="isother" :companyId="companyId" @close="closeOther"></other>
@@ -509,7 +509,7 @@ getCompanyList();
         margin-bottom: 12px;
 
         .opera {
-          width: 62px;
+          min-width: 62px;
           height: 22px;
           flex-shrink: 0;
           background: #f9f9f9;