2 Commits 8bdc46af11 ... bcd444a68d

Author SHA1 Message Date
  peter bcd444a68d change: cargo集货. Reference列增加搜索SO并填充逻辑. 2 weeks ago
  peter a2c5601887 change: indent计价.处理pdf Freight to内容填充逻辑. 2 weeks ago

+ 82 - 12
src/pages/cargo-consolidation-request/index.vue

@@ -357,6 +357,47 @@
             ></el-input>
           </template>
         </el-table-column>
+
+        <el-table-column
+          :sortable="currentTab === 'Arrangement'"
+          :sort-method="refSort"
+          label="Reference"
+          width="100"
+        >
+          <template #default="scope">
+            <el-select
+              v-if="
+                scope.row.addFlag ||
+                !scope.row.Reference ||
+                (scope.row.Reference && scope.row.editFlag)
+              "
+              v-model="scope.row.Reference"
+              size="small"
+              :remote-method="debounce(searchSO, 1500)"
+              :loading="loading2"
+              style="width: 100%"
+              remote
+              filterable
+              @change="($e) => onReferenceChange($e, scope.$index)"
+            >
+              <el-option
+                v-for="option in soList"
+                :key="option.id"
+                :value="option.Reference"
+                :label="option.Reference"
+              ></el-option>
+            </el-select>
+            <div v-else-if="scope.row.Sales_Order?.id">
+              <a
+                :href="`https://crm.zoho.com/crm/org742735154/tab/SalesOrders/${scope.row.Sales_Order.id}/canvas/4791186000044787304`"
+                target="_blank"
+              >
+                {{ scope.row.Reference || scope.row.PO_Number }}
+              </a>
+            </div>
+          </template>
+        </el-table-column>
+
         <el-table-column
           label="唛头"
           width="220"
@@ -568,17 +609,6 @@
             ></el-input>
           </template>
         </el-table-column>
-        <el-table-column
-          :sortable="currentTab === 'Arrangement'"
-          :sort-method="refSort"
-          label="Reference"
-          fixed="right"
-          width="110"
-        >
-          <template #default="scope">
-            <div class="">{{ scope.row.Reference || scope.row.PO_Number }}</div>
-          </template>
-        </el-table-column>
         <el-table-column
           :selectable="calcSelectAble"
           type="selection"
@@ -1424,6 +1454,46 @@ const search = (keyword: string) => {
     .finally(() => (loading2.value = false))
 }
 
+let soList = ref([] as any[])
+
+let searchSO = (keyword: string) => {
+  if (keyword.length < 2) return
+  keyword = keyword.trim().toUpperCase()
+  loading2.value = true
+  zoho.CRM.API.coql({
+    select_query:
+      "select id,Reference,Subject,Contract_Title from Sales_Orders where Reference like '%" +
+      keyword +
+      "%'",
+  })
+    .then((res: any) => {
+      if (Array.isArray(res.data) && res.data.length) {
+        soList.value = res.data
+      } else {
+        soList.value = []
+        ElMessage.warning('No Data Found')
+      }
+    })
+    .finally(() => (loading2.value = false))
+}
+let onReferenceChange = ($e: string, line = -1) => {
+  const temp = soList.value.filter((i) => i.Reference === $e)
+  let result: any = {}
+  if (temp.length) {
+    result = cloneDeep(temp[0])
+  }
+  console.log(result, 'result')
+  if (line > -1) {
+    subList.value[line].editFlag = true
+    subList.value[line].Sales_Order = {
+      module: 'SalesOrders',
+      id: result.id,
+      name: result.Subject,
+    }
+  }
+  subList.value[line].Marks_Nos = result.Contract_Title || ''
+}
+
 const updateStatus = (status = '已确认') => {
   ElMessageBox.confirm(`确定要把该记录状态更新为"${status}"吗?`, {
     confirmButtonText: '确定',
@@ -1692,7 +1762,7 @@ const openTempShip = () => {
   tempShipVisible.value = true
 }
 
-// 别说代码行数太长搞屎山, 这个页面的功能上线之后改了6个版本, 每次都往上堆功能, 能不长嘛
+// 别说代码行数太长搞屎山, 这个页面的功能上线之后改了7个版本, 每次都往上堆功能, 能不长嘛
 </script>
 <style lang="scss">
 .page-cargo-consolidation {

+ 8 - 3
src/pages/indent-manage/indent/components/calcPrice/index.vue

@@ -815,9 +815,14 @@ let getForginCityFreight = (p: any, num: number) =>
         console.log(response, 'response')
         if (response.code === 1) {
           forginCityFreight.value[`${num}`] = response.result
-          queryArea.value = response.result.location || ''
-          exportForm.value.pdf_city = response.result.location || ''
-          formData.value.cal_city.local_city = response.result.area || ''
+          if (formData.value.cal_city.local_city === 'US') {
+            // US地区不显示邮编
+            queryArea.value = 'US'
+          } else {
+            queryArea.value = response.result.area + ` - ${formData.value.cal_city.postcode}` || ''
+            formData.value.cal_city.local_city = response.result.area || ''
+          }
+          exportForm.value.pdf_city = queryArea.value
           resolve(response.result)
         }
       })