From 3a154bdb0a5aaa2c0ac3eac95a6ba747068bd454 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 13 一月 2026 10:00:37 +0800
Subject: [PATCH] 优化

---
 admin/src/components/business/OperaJkSketchLineListWindow.vue |  172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 172 insertions(+), 0 deletions(-)

diff --git a/admin/src/components/business/OperaJkSketchLineListWindow.vue b/admin/src/components/business/OperaJkSketchLineListWindow.vue
new file mode 100644
index 0000000..a1db0a6
--- /dev/null
+++ b/admin/src/components/business/OperaJkSketchLineListWindow.vue
@@ -0,0 +1,172 @@
+<template>
+  <GlobalWindow
+    :title="title"
+    width="100%"
+    :visible.sync="visible"
+    :confirm-working="isWorking"
+    @confirm="confirm"
+  >
+    <div  style="display: block;margin-bottom: 30px;">
+      <div style="display: block;font-size: 16px;font-weight: 600;margin-bottom: 20px;">涓荤嚎璺俊鎭�</div>
+      <div style="display: flex;">
+          <div style="flex: 1">閫佽揣鏃ユ湡锛歿{model.dateInfo ||''}}</div>
+          <div style="flex: 1">涓荤嚎璺細{{model.categoryName ||''}}</div>
+          <div style="flex: 1">瀹㈡埛鏁帮細{{model.orderNum ||'-'}}</div>
+          <div style="flex: 1">閫佽揣閲�(鏉�)锛歿{model.totalNum ||'-'}}</div>
+      </div>
+      <div style="display: flex;margin-top: 20px" class="orange">
+        <div style="flex: 1" >绾胯矾鍘熷鎬昏矾绋嬶細
+          <span  v-if="(model.originDistance ||0) > 0 ||  (model.status||0) != 0" class="red" style="font-weight: bold"> {{((model.originDistance ||0)/1000).toFixed(2)}}</span>
+          <span  v-if="(model.originDistance ||0) == 0 && (model.status||0) == 0 && !distancing"  class="blue" style="font-weight: bold;cursor: pointer" @click="initDistance"> 鐐瑰嚮鑾峰彇 </span>
+          <span  v-if="(model.originDistance ||0) == 0 && (model.status||0) == 0 && distancing"  class="red" style="font-weight: bold;cursor: pointer"> 姝e湪鑾峰彇 </span> 鍏噷锛�
+          <span v-if="model.status ==2">浼樺寲鍚庢�昏矾绋�:<span class="green" style="font-weight: bold"> {{((model.distance ||0)/1000).toFixed(2)}} </span> 鍏噷</span>
+        </div>
+      </div>
+    </div>
+    <div style="display: block;margin-bottom: 50px;" v-if="model && model.optStatus ===1">
+      <div  style="display: block;font-size: 16px;font-weight: 600;margin-bottom: 10px;">浼樺寲绾胯矾鏄庣粏</div>
+      <div>
+        <el-table  :data="dataListNew" stripe>
+          <el-table-column prop="dateInfo" label="閫佽揣鏃ユ湡" min-width="130px"></el-table-column>
+          <el-table-column prop="lineName" label="閫佽揣绾胯矾" min-width="130px">  </el-table-column>
+          <el-table-column prop="orderNum" label="瀹㈡埛鏁�(鎴�)" min-width="130px"></el-table-column>
+          <el-table-column prop="totalNum" label="閫佽揣閲�(鏉�)" min-width="130px"></el-table-column>
+          <el-table-column prop="carCode" label="杞︾墝鍙�" min-width="100px"></el-table-column>
+          <el-table-column prop="memberName" label="閫佽揣鍙告満" min-width="100px"></el-table-column>
+          <el-table-column prop="distance" label="褰撳墠璺▼(鍏噷)" min-width="100px">
+            <template slot-scope="{row}">
+              <span  v-if="row.distance "> {{((row.distance ||0)/1000).toFixed(2)}}</span>
+              <span  v-else> - </span>
+            </template>
+          </el-table-column>
+          <el-table-column
+              label="鎿嶄綔"
+              min-width="160"
+              align="center"
+              fixed="right"
+          >
+            <template slot-scope="{row}">
+              <el-button type="text" @click="$refs.operaJkSketchCustomerWindow.open('绾胯矾瀹㈡埛鏄庣粏鈥斺��', row)" icon="el-icon-view"  >鏌ョ湅瀹㈡埛</el-button>
+              <el-button type="text" @click="$refs.operaJkSketchLineMapWindow.open('绾胯矾瀹㈡埛浜ら�氳矾绾库�斺��', row)" icon="el-icon-view"  >浜ら�氳矾绾�</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div style="display: block">
+      <div  style="display: block;font-size: 16px;font-weight: 600;margin-bottom: 10px;">鍘熷绾胯矾鏄庣粏</div>
+      <div>
+        <el-table  :data="dataList" stripe>
+          <el-table-column prop="dateInfo" label="閫佽揣鏃ユ湡" min-width="130px"></el-table-column>
+          <el-table-column prop="lineName" label="閫佽揣绾胯矾" min-width="130px">  </el-table-column>
+          <el-table-column prop="orderNum" label="瀹㈡埛鏁�(鎴�)" min-width="130px"></el-table-column>
+          <el-table-column prop="totalNum" label="閫佽揣閲�(鏉�)" min-width="130px"></el-table-column>
+          <el-table-column prop="carCode" label="杞︾墝鍙�" min-width="100px"></el-table-column>
+          <el-table-column prop="memberName" label="閫佽揣鍙告満" min-width="100px"></el-table-column>
+          <el-table-column prop="distance" label="褰撳墠璺▼(鍏噷)" min-width="100px">
+            <template slot-scope="{row}">
+              <span  v-if="row.distance "> {{((row.distance ||0)/1000).toFixed(2)}}</span>
+              <span  v-else> - </span>
+            </template>
+          </el-table-column>
+          <el-table-column
+              label="鎿嶄綔"
+              min-width="160"
+              align="center"
+              fixed="right"
+          >
+            <template slot-scope="{row}">
+              <el-button type="text" @click="$refs.operaJkSketchCustomerWindow.open('绾胯矾瀹㈡埛鏄庣粏鈥斺��', row)" icon="el-icon-view"  >鏌ョ湅瀹㈡埛</el-button>
+              <el-button type="text" @click="$refs.operaJkSketchLineMapWindow.open('绾胯矾瀹㈡埛浜ら�氳矾绾库�斺��', row)" icon="el-icon-view"  >浜ら�氳矾绾�</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <template   v-slot:footer>
+      <el-button @click="visible=false">杩斿洖</el-button>
+    </template>
+    <OperaJkSketchCustomerWindow ref="operaJkSketchCustomerWindow"  />
+    <OperaJkSketchLineMapWindow ref="operaJkSketchLineMapWindow"  />
+  </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import OperaJkSketchCustomerWindow from '@/components/business/OperaJkSketchCustomerWindow'
+import OperaJkSketchLineMapWindow from '@/components/business/OperaJkSketchLineMapWindow'
+import { initOriginDistance } from '@/api/business/jkSketch'
+export default {
+  name: 'OperaDeviceDataListWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow, OperaJkSketchCustomerWindow ,OperaJkSketchLineMapWindow},
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      distancing:false,
+      model: {
+      },
+      dataList: [],
+      dataListNew: []
+    }
+  },
+  created () {
+    this.config({
+      api: '/business/jkSketchLine',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    open (title, target) {
+      this.title = title
+      this.visible = true
+      this.model = target
+      this.loadList()
+      this.distancing =false
+      if(this.model.optStatus === 1){
+        this.loadListNew()
+      }
+    },
+    loadList () {
+      this.api.allList({
+        sketchId: this.model.id,
+        type: 0
+      }).then(res => {
+        this.dataList = res
+      })
+    },
+    loadListNew () {
+      this.api.allList({
+        sketchId: this.model.id,
+        type: 1
+      }).then(res => {
+        this.dataListNew = res
+      })
+    },
+    initDistance () {
+      var that = this
+      if(this.distancing){
+        return
+      }
+      this.distancing=true
+      initOriginDistance({
+        id: this.model.id
+      }).then(res => {
+        if(res){
+          that.model.originDistance = res.originDistance
+          that.model.distance = res.distance
+          that.loadList()
+        }
+      }).catch(e => {
+            this.$tip.apiFailed(e)
+          }).finally(() => {
+        that.distancing = false
+      })
+    },
+    viewCustomer (row) {
+
+    }
+  }
+}
+</script>

--
Gitblit v1.9.3