فهرست منبع

Merge branch 'master' of http://192.168.0.115:3000/bill/4dkankan_back

bill 4 سال پیش
والد
کامیت
46c8da88aa

+ 4 - 0
README.md

@@ -14,6 +14,9 @@ npm run dev
 # build for production with minification
 npm run build
 
+# 更新目录
+/测试服务器-120.25.146.52/root/user/java/apache-tomcat-8.0.47/webapps/4dkankan_v2/WEB-INF/classes/web/back
+
 # build for production and view the bundle analyzer report
 npm run build --report
 
@@ -28,3 +31,4 @@ npm test
 ```
 
 For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
+

+ 2 - 0
src/page/device/index.vue

@@ -90,6 +90,8 @@
               <el-select v-model="ruleForm.type" placeholder="请选择相机类型">
                 <el-option label="四维看看Pro八目相机" value="1"></el-option>
                 <el-option label="四维看看Lite双目相机" value="0"></el-option>
+                <el-option label="四维看看双目转台相机" value="9"></el-option>
+                <el-option label="四维看看激光相机" value="10"></el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="wifi名称" prop="wifi">

+ 4 - 2
src/page/edition/index.vue

@@ -79,6 +79,7 @@ export default {
 
   data () {
     return {
+      type: 1, // 1八目,2双目,不传默认八目 3:转台相机 4:激光
       active: null,
       colors: [
         '#08e2c0', '#39bafe', '#fce439', '#fda000', '#f96d6c'
@@ -184,7 +185,7 @@ export default {
     },
     async updateAduitStatus (id, status) {
       let m = status === 'A' ? 'I' : 'A'
-      let data = (await this.$http.get('/manager/goods/version/update/' + id + '/' + m))
+      let data = (await this.$http.get('/manager/goods/version/update/' + id + '/' + m + '/' + this.type))
       this._searchOrderData(this.currentPage)
     },
     async updateMaker () {
@@ -304,7 +305,8 @@ export default {
 
       let para = {
         pageNum: page - 1,
-        type: status,
+        // type: status,
+        type: this.type,
         startDate: date1,
         endDate: date2,
         itemName: orderNum || '',

+ 445 - 0
src/page/laserCamera/index.vue

@@ -0,0 +1,445 @@
+<template>
+    <div id="order-check">
+    <div class="order-check-body" v-loading.fullscreen.lock="fullscreenLoading">
+      <div class="order-management-body">
+        <div class="order-management-inner">
+          <span>时间段:</span>
+          <el-date-picker size="large" v-model="searchDate" type="daterange" unlink-panels range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions2" value-format="yyyy-MM-dd" align="center">
+          </el-date-picker>
+          <span>关键字:</span>
+          <el-input @keyup.enter.native="_searchOrderData(1)" ref="searchOrderNumber" v-model="searchOrderNumber" value="" placeholder="留言内容、备注"></el-input>
+          <el-button type="primary" @click="_searchOrderData(1)" color='red'>筛选</el-button>
+
+          <el-button type="success" @click="active = {file: ''}" color='red' style="float: right">上传</el-button>
+        </div>
+        <div class="order-check_bottom">
+          <div class="order-management-table">
+            <el-table ref="order_table" @expand-change="_getOrderDetail" class='e-table' :data="orders" style="width: 100%">
+              <el-table-column prop="id" label="序号">
+              </el-table-column>
+              <!-- <el-table-column prop="name" label="名称">
+              </el-table-column> -->
+              <el-table-column prop="description" label="描述">
+              </el-table-column>
+              <el-table-column prop="version" label="版本">
+              </el-table-column>
+              <el-table-column prop="fileUrl" label="文件地址">
+              </el-table-column>
+              <el-table-column prop="state" label="状态">
+                <template slot-scope="scope">
+                  <el-switch @change="updateAduitStatus(scope.row.id,scope.row.status)" :value="scope.row.status === 'A'" active-color="#13ce66" inactive-color="#ff4949">
+                  </el-switch>
+                </template>
+              </el-table-column>
+              <el-table-column label="发布日期">
+                <template slot-scope="scope">
+                  <div>{{new Date(scope.row.createTime).format('yyyy-MM-dd hh:mm:ss')}}</div>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+          <div class="order-management-pagination">
+            <el-pagination @current-change="handleCurrentChange" :current-page.sync="currentPage" :page-size="10" layout="total, prev, pager, next, jumper" :total="total">
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <el-dialog width="750px" title="添加版本" :visible.sync="active">
+      <el-form v-if="active" label-width="80px">
+        <el-form-item label="版本" width="100%">
+          <el-input v-model="active.version"></el-input>
+        </el-form-item>
+        <el-form-item label="描述" width="100%">
+          <el-input type="textarea" v-model="active.description" :rows="5"></el-input>
+        </el-form-item>
+        <el-form-item label="文件" width="100%">
+          <div class="upload-file">
+            <el-button type="primary">文件上传</el-button>
+            <input type="file" @change="active.file = $event.target.value" ref="file">
+            <p>{{active.file}}</p>
+          </div>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="active = null">取 消</el-button>
+        <el-button type="primary" @click="updateMaker">确 定</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'order-check',
+
+  data () {
+    return {
+      type: 10,
+      active: null,
+      colors: [
+        '#08e2c0', '#39bafe', '#fce439', '#fda000', '#f96d6c'
+      ],
+      statusMap: {
+        unprocessed: '未处理',
+        processed: '已确认',
+        completed: '已完成',
+        invalid: '已取消'
+      },
+      payMap: {
+        '0': '微信',
+        '1': '支付宝',
+        '2': 'paypal',
+        '3': '其他',
+        '4': '货到付款'
+      },
+      paymentStatusMap: {
+        unpaid: '未付款',
+        paid: '已付款',
+        cancel: '已取消',
+        partPayment: '部分支付',
+        partRefund: '部分退款',
+        refunded: '全额退款'
+      },
+      tabs: [{ name: '全部', idx: -1 }, { name: '未支付', idx: 0 }, { name: '待发货', idx: 1 }, { name: '已发货', idx: 2 }, { name: '已完成', idx: 3 }],
+      expandedArr: [],
+      orders: [],
+      currentPage: 1,
+      key_input: '',
+      fullscreenLoading: false,
+      product: {
+        'name': '',
+        'packageName': '',
+        'count': '',
+        'amount': '',
+        'url': ''
+      },
+      receive: {
+        'name': '',
+        'phone': '',
+        'address': '',
+        'invoice': '',
+        'expressNum': ''
+      },
+      total: 0,
+      options: [{
+        value: undefined,
+        label: '全部筛选订单'
+      }, {
+        value: 0,
+        label: '未支付筛选订单'
+      }, {
+        value: 1,
+        label: '待发货筛选订单'
+      }, {
+        value: 2,
+        label: '已发货筛选订单'
+      }, {
+        value: 3,
+        label: '已完成筛选订单'
+      }],
+      selectValue: '',
+      // expressNum_input: "",
+      searchDate: [],
+      searchOrderNumber: '',
+      searchPhone: '',
+      searchExpressNum: '',
+      hasClickSearch: false,
+      tabIndex: -1,
+      pickerOptions2: {
+        shortcuts: [{
+          text: '最近一周',
+          onClick (picker) {
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
+            picker.$emit('pick', [start, end])
+          }
+        }, {
+          text: '最近一个月',
+          onClick (picker) {
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
+            picker.$emit('pick', [start, end])
+          }
+        }, {
+          text: '最近三个月',
+          onClick (picker) {
+            const end = new Date()
+            const start = new Date()
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+            picker.$emit('pick', [start, end])
+          }
+        }]
+      }
+    }
+  },
+  methods: {
+    makerClick (item) {
+      this.active = item
+    },
+    async updateAduitStatus (id, status) {
+      let m = status === 'A' ? 'I' : 'A'
+      let data = (await this.$http.get('/manager/goods/version/update/' + id + '/' + m + '/' + this.type))
+      this._searchOrderData(this.currentPage)
+    },
+    async updateMaker () {
+      var formData = new FormData()
+      formData.append('version', this.active.version)
+      formData.append('type', this.type)
+      formData.append('description', this.active.description)
+      formData.append('file', this.$refs.file.files[0])
+
+      await this.$http({
+        url: '/manager/goods/version/upload',
+        method: 'post',
+        data: formData,
+        processData: false,
+        contentType: false
+      })
+      alert('添加成功')
+
+      this.active = null
+      this._searchOrderData(this.currentPage)
+    },
+    handleClick (row) {
+      console.log(this.status)
+
+      console.log(this.selectValue)
+    },
+    async saveRow (row, item) {
+      let expressNum = item.receive.expressNum
+      var pattern = /^[\u4E00-\u9FA5]{1,5}$/
+
+      if (pattern.test(expressNum)) {
+        this.$alert('快递单号不能为中文', '提示', {
+          confirmButtonText: '确定',
+          callback: action => {
+
+          }
+        })
+      }
+
+      let data = await this.$http.post('/manager/order/confirmDelivery', {
+        orderId: row.id,
+        orderItemIds: item.id,
+        expressName: item.receive.expressName,
+        expressNum: expressNum
+      })
+
+      if (data.code === 0) {
+        this.$message({
+          message: '发货成功!',
+          type: 'success'
+        })
+      } else {
+        this.$alert('保存失败', '提示', {
+          confirmButtonText: '确定',
+          callback: action => {}
+        })
+      }
+
+      // request['saveExpressNum']({
+      //   orderId,
+      //   expressNum
+      // }, 'get').then(res => {
+      //   if (res === 1) {
+      //     // this.$refs.order_table.toggleRowExpansion(row, false)
+      //     row.status = '已发货'
+      //     this.$message({
+      //       message: '发货成功!',
+      //       type: 'success'
+      //     })
+      //   } else {
+      //     this.$alert('保存失败', '提示', {
+      //       confirmButtonText: '确定',
+      //       callback: action => {
+
+      //       }
+      //     })
+      //   }
+      // })
+    },
+    hideRow (row) {
+      this.$refs.order_table.toggleRowExpansion(row, false)
+    },
+    handleCurrentChange (val) {
+      let page = val
+      if (this.total > 0 && !this.hasClickSearch) {
+        this._searchOrderData(page)
+      } else {
+        this._searchOrderData(page)
+      }
+    },
+    clickTabItem (idx) {
+      this.tabIndex = idx
+      this.hasClickSearch = false
+      this.total = 0
+      this.currentPage = 1
+      this.status = this.tabIndex === -1 ? null : this.tabIndex
+
+      if (!this.searchDate || this.expressNum || !this.userName || !this.orderNum) {
+        this._searchOrderData()
+      }
+    },
+
+    async _searchOrderData (page) {
+      this.hasClickSearch = true
+      let date1, date2, orderNum
+      this.date1 = this.searchDate ? this.searchDate[0] : null
+      this.date2 = this.searchDate ? this.searchDate[1] : null
+      date1 = this.date1 ? (this.date1 + ' 00:00:00') : null
+      date2 = this.date2 ? (this.date2 + ' 23:59:59') : null
+
+      this.userName = this.searchPhone || null
+      this.expressNum = this.searchExpressNum || null
+      this.orderNum = this.searchOrderNumber || null
+
+      // console.log(searchDate,searchPhone,searchExpressNum,searchOrderNumber)
+      this.fullscreenLoading = true
+      let status = this.status
+
+      let para = {
+        pageNum: page - 1,
+        // type: status,
+        type: this.type,
+        startDate: date1,
+        endDate: date2,
+        itemName: orderNum || '',
+        // phoneNum: userName,
+        pageSize: 10
+      }
+
+      let url = '/manager/goods/version/list'
+      let method = 'get'
+      let data
+      if (para.startDate || para.endDate || para.itemName) {
+        url = '/manager/goods/version/search'
+        method = 'post'
+      }
+
+      console.log(method, para)
+      if (method === 'get') {
+        let paras = []
+        Object.keys(para).forEach(k => {
+          if (para[k] || typeof para[k] === 'number') {
+            paras.push(`${k}=${para[k]}`)
+          } else {
+            paras.push(`${k}=''`)
+          }
+        })
+
+        para = paras.join('&')
+        data = (await this.$http[method](url + '?' + para)).data
+      } else {
+        data = (await this.$http[method](url, para)).data
+      }
+
+      this.fullscreenLoading = false
+      let temp = data.list
+      for (var i = 0; i < temp.length; i++) {
+        // temp[i]['expressNum_input'] = "";
+        temp[i].items = []
+      }
+      this.orders = temp
+      this.currentPage = page
+      this.total = data.total
+    },
+    _exportExcelForOrder () {
+      let date1, date2, userName, expressNum, orderNum
+      this.date1 = this.searchDate ? this.searchDate[0] : null
+      this.date2 = this.searchDate ? this.searchDate[1] : null
+      date1 = this.date1 ? (this.date1 + ' 00:00:00') : null
+      date2 = this.date2 ? (this.date2 + ' 23:59:59') : null
+
+      this.userName = userName = this.searchPhone || null
+      this.expressNum = expressNum = this.searchExpressNum || null
+      this.orderNum = orderNum = this.searchOrderNumber || null
+
+      let data = {
+        'type': this.status,
+        'startDate': date1,
+        'endDate': date2,
+        'orderSn': orderNum,
+        'phoneNum': userName,
+        'expressNum': expressNum
+      }
+      this.fullscreenLoading = true
+
+      console.error(data)
+      this.$confirm('确定当前标签下的订单记录?', '导出订单', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(async () => {
+        let exec = await this.$http({
+          methods: 'get',
+          params: data,
+          url: '/manager/order/export',
+          responseType: 'arraybuffer'
+        })
+        try {
+          let blob = new Blob([exec], {type: 'application/vnd.ms-excel'})
+          let url = URL.createObjectURL(blob)
+          location.href = url
+        } catch (e) {
+          console.error(e)
+        }
+        this.fullscreenLoading = false
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消导出'
+        })
+        this.fullscreenLoading = false
+      })
+    },
+    async _getOrderDetail (row) {
+      this.fullscreenLoading = true
+      let data = (await this.$http.post('/manager/order/detail', {orderId: row.id})).data
+      let temp = this.orders.find(item => item.id === row.id)
+
+      temp.items = data.orderItems.map(item => {
+        return {
+          ...item,
+          product: {
+            url: item.pic,
+            name: item.goodsName,
+            packageName: item.description,
+            count: item.goodsCount,
+            amount: item.goodsPrice
+          },
+          receive: {
+            name: data.shipName,
+            phone: data.shipMobile,
+            address: data.shipAddress,
+            invoice: data.invoice,
+            expressNum: item.expressNum,
+            expressName: item.expressName
+          }
+        }
+      })
+      console.log(temp)
+      this.fullscreenLoading = false
+    }
+  },
+  mounted () {
+    // console.log(window.location.origin)
+    // window.open(window.location.origin+'/main')
+    this._searchOrderData(1)
+  }
+}
+</script>
+
+<style scoped>
+@import url("./style.css");
+</style>
+
+<style type="text/css">
+.el-table__expand-icon > i {
+  display: none !important;
+}
+</style>

+ 183 - 0
src/page/laserCamera/style.css

@@ -0,0 +1,183 @@
+.order-check-body {
+  width: 100%;
+  float: left;
+  /*  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);*/
+  /*border: 1px solid #ebeef5;*/
+}
+
+.upload-file {
+  position: relative;
+  display: inline-block;
+  overflow: hidden;
+}
+
+.upload-file input {
+  position: absolute;
+  z-index: 1;
+  cursor: pointer;
+  opacity: 0;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+}
+
+.order_check_row {
+  display: flex;
+  width: 100%;
+}
+
+.product_info {
+  width: 50%;
+  flex-direction: column;
+  display: flex;
+  padding: 20px;
+  background: #fff;
+}
+
+.order_info {
+  width: 50%;
+  padding: 20px;
+  margin-left: 20px;
+  background: #fff;
+}
+
+.product_info_title {
+  text-align: left;
+  font-weight: 700;
+  margin-bottom: 20px;
+}
+
+.product_info_body {
+  margin-left: 30px;
+  display: flex;
+}
+
+.product_info_body_img {
+  width: 110px;
+  height: 110px;
+  border: 1px solid #ddd;
+}
+
+.product_img {
+  margin: 5px auto;
+  width: 100px;
+  height: 100px;
+}
+
+.product_info_body_info {
+  margin-left: 50px;
+}
+
+.product_info_body_info_item {
+  line-height: 27px;
+  text-align: left;
+}
+
+.product_info_body_info_item_title {
+  width: 100px;
+  display: inline-block;
+  margin-right: 20px;
+  font-weight: 700;
+}
+
+.order_info_title {
+  text-align: left;
+  font-weight: 700;
+  margin-bottom: 20px;
+}
+
+.order_info_body {
+  margin-left: 30px;
+  text-align: left;
+}
+
+.order_info_body_info_item {
+  line-height: 23px;
+  padding: 10px 0;
+  border-bottom: 1px solid #f5f5f5;
+  text-align: left;
+}
+
+.order_info_body_info_item_title {
+  width: 100px;
+  display: inline-block;
+  margin-right: 20px;
+  font-weight: 700;
+  vertical-align: top;
+}
+
+.fix-order_info_body_info_item_content {
+  width: 70%;
+  display: inline-block;
+}
+
+.order-management-body {
+  width: 100%;
+  margin: 30px 0 20px 0;
+  float: left;
+}
+
+.order-management-inner {
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  /*border: 1px solid #ebeef5;*/
+  padding: 30px 20px;
+  background: #fff;
+  border-radius: 5px;
+}
+
+.base-info {
+  margin: 20px 0;
+}
+
+.order-check_bottom {
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  /*border: 1px solid #ebeef5;*/
+  margin-top: 30px;
+  background: #fff;
+  border-radius: 5px;
+  padding: 20px 0;
+}
+
+.order-check_tab {
+  margin: 0 0 20px;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.order-check_tab ul {
+  display: inline-block;
+}
+
+.order-check_tab li {
+  display: inline-block;
+  cursor: pointer;
+  color: #999;
+  line-height: 1;
+}
+
+.order-check_tab_li_active {
+  color: #000 !important;
+  font-weight: bold;
+}
+
+.order-management-table {
+  margin: 0 20px;
+}
+
+.order-management-pagination {
+  padding: 20px 20px 0;
+  position: relative;
+  text-align: right;
+}
+
+.el-input {
+  width: 220px;
+}

+ 10 - 4
src/page/layout/slide.vue

@@ -70,15 +70,21 @@ export default {
         link: {name: 'edition'},
         children: [
           { text: '八目相机', link: {name: 'edition'}, top: 182 },
-          { text: '转台相机', link: {name: 'turntableCamera'}, top: 182 }
-          // { text: '反馈消息', link: {name: 'feedback'} },
-          // { text: '设备管理', link: {name: 'device'} },
-          // { text: '客户管理', link: {name: 'client'} }
+          { text: '转台相机', link: {name: 'turntableCamera'}, top: 182 },
+          { text: '激光相机', link: {name: 'laserCamera'}, top: 182 }
         ],
         top: 154
       },
       // { text: '版本管理', link: {name: 'edition'}, top: 182 },
       { text: '数据统计', link: {name: 'Statistics'}, top: 210 }
+      // {
+      //   text: 'SDK 发布管理',
+      //   link: {name: 'sdkManage'},
+      //   children: [
+      //     { text: 'Space target', link: {name: 'sdkManage'}, top: 182 }
+      //   ],
+      //   top: 154
+      // }
     //   { text: '数据下载', link: {name: 'Down'}, top: 210 }
       // ,
       // {

+ 2 - 1
src/page/scene/index.vue

@@ -427,7 +427,8 @@ export default {
           } else if (temp[i].status === -2) {
             temp[i].statusBoo = false
           } else {
-            temp[i].statusBoo = ''
+            // temp[i].statusBoo = ''
+            temp[i].statusBoo = false
           }
         }
         this.scenes = temp

+ 126 - 105
src/page/turntableCamera/index.vue

@@ -39,7 +39,7 @@
             </el-table>
           </div>
           <div class="order-management-pagination">
-            <el-pagination  @current-change="handleCurrentChange" :current-page.sync="currentPage" :page-size="10" layout="total, prev, pager, next, jumper" :total="total">
+            <el-pagination @current-change="handleCurrentChange" :current-page.sync="currentPage" :page-size="10" layout="total, prev, pager, next, jumper" :total="total">
             </el-pagination>
           </div>
         </div>
@@ -72,18 +72,14 @@
 </template>
 
 <script>
-
 export default {
-
   name: 'order-check',
 
   data () {
     return {
-      type: 3,
+      type: 9,
       active: null,
-      colors: [
-        '#08e2c0', '#39bafe', '#fce439', '#fda000', '#f96d6c'
-      ],
+      colors: ['#08e2c0', '#39bafe', '#fce439', '#fda000', '#f96d6c'],
       statusMap: {
         unprocessed: '未处理',
         processed: '已确认',
@@ -91,11 +87,11 @@ export default {
         invalid: '已取消'
       },
       payMap: {
-        '0': '微信',
-        '1': '支付宝',
-        '2': 'paypal',
-        '3': '其他',
-        '4': '货到付款'
+        0: '微信',
+        1: '支付宝',
+        2: 'paypal',
+        3: '其他',
+        4: '货到付款'
       },
       paymentStatusMap: {
         unpaid: '未付款',
@@ -105,43 +101,55 @@ export default {
         partRefund: '部分退款',
         refunded: '全额退款'
       },
-      tabs: [{ name: '全部', idx: -1 }, { name: '未支付', idx: 0 }, { name: '待发货', idx: 1 }, { name: '已发货', idx: 2 }, { name: '已完成', idx: 3 }],
+      tabs: [
+        { name: '全部', idx: -1 },
+        { name: '未支付', idx: 0 },
+        { name: '待发货', idx: 1 },
+        { name: '已发货', idx: 2 },
+        { name: '已完成', idx: 3 }
+      ],
       expandedArr: [],
       orders: [],
       currentPage: 1,
       key_input: '',
       fullscreenLoading: false,
       product: {
-        'name': '',
-        'packageName': '',
-        'count': '',
-        'amount': '',
-        'url': ''
+        name: '',
+        packageName: '',
+        count: '',
+        amount: '',
+        url: ''
       },
       receive: {
-        'name': '',
-        'phone': '',
-        'address': '',
-        'invoice': '',
-        'expressNum': ''
+        name: '',
+        phone: '',
+        address: '',
+        invoice: '',
+        expressNum: ''
       },
       total: 0,
-      options: [{
-        value: undefined,
-        label: '全部筛选订单'
-      }, {
-        value: 0,
-        label: '未支付筛选订单'
-      }, {
-        value: 1,
-        label: '待发货筛选订单'
-      }, {
-        value: 2,
-        label: '已发货筛选订单'
-      }, {
-        value: 3,
-        label: '已完成筛选订单'
-      }],
+      options: [
+        {
+          value: undefined,
+          label: '全部筛选订单'
+        },
+        {
+          value: 0,
+          label: '未支付筛选订单'
+        },
+        {
+          value: 1,
+          label: '待发货筛选订单'
+        },
+        {
+          value: 2,
+          label: '已发货筛选订单'
+        },
+        {
+          value: 3,
+          label: '已完成筛选订单'
+        }
+      ],
       selectValue: '',
       // expressNum_input: "",
       searchDate: [],
@@ -151,31 +159,35 @@ export default {
       hasClickSearch: false,
       tabIndex: -1,
       pickerOptions2: {
-        shortcuts: [{
-          text: '最近一周',
-          onClick (picker) {
-            const end = new Date()
-            const start = new Date()
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
-            picker.$emit('pick', [start, end])
-          }
-        }, {
-          text: '最近一个月',
-          onClick (picker) {
-            const end = new Date()
-            const start = new Date()
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
-            picker.$emit('pick', [start, end])
-          }
-        }, {
-          text: '最近三个月',
-          onClick (picker) {
-            const end = new Date()
-            const start = new Date()
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
-            picker.$emit('pick', [start, end])
+        shortcuts: [
+          {
+            text: '最近一周',
+            onClick (picker) {
+              const end = new Date()
+              const start = new Date()
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
+              picker.$emit('pick', [start, end])
+            }
+          },
+          {
+            text: '最近一个月',
+            onClick (picker) {
+              const end = new Date()
+              const start = new Date()
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
+              picker.$emit('pick', [start, end])
+            }
+          },
+          {
+            text: '最近三个月',
+            onClick (picker) {
+              const end = new Date()
+              const start = new Date()
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+              picker.$emit('pick', [start, end])
+            }
           }
-        }]
+        ]
       }
     }
   },
@@ -185,7 +197,9 @@ export default {
     },
     async updateAduitStatus (id, status) {
       let m = status === 'A' ? 'I' : 'A'
-      let data = (await this.$http.get('/manager/goods/version/update/' + id + '/' + m))
+      let data = await this.$http.get(
+        '/manager/goods/version/update/' + id + '/' + m + '/' + this.type
+      )
       this._searchOrderData(this.currentPage)
     },
     async updateMaker () {
@@ -219,9 +233,7 @@ export default {
       if (pattern.test(expressNum)) {
         this.$alert('快递单号不能为中文', '提示', {
           confirmButtonText: '确定',
-          callback: action => {
-
-          }
+          callback: (action) => {}
         })
       }
 
@@ -240,7 +252,7 @@ export default {
       } else {
         this.$alert('保存失败', '提示', {
           confirmButtonText: '确定',
-          callback: action => {}
+          callback: (action) => {}
         })
       }
 
@@ -283,7 +295,12 @@ export default {
       this.currentPage = 1
       this.status = this.tabIndex === -1 ? null : this.tabIndex
 
-      if (!this.searchDate || this.expressNum || !this.userName || !this.orderNum) {
+      if (
+        !this.searchDate ||
+        this.expressNum ||
+        !this.userName ||
+        !this.orderNum
+      ) {
         this._searchOrderData()
       }
     },
@@ -293,8 +310,8 @@ export default {
       let date1, date2, userName, expressNum, orderNum
       this.date1 = this.searchDate ? this.searchDate[0] : null
       this.date2 = this.searchDate ? this.searchDate[1] : null
-      date1 = this.date1 ? (this.date1 + ' 00:00:00') : null
-      date2 = this.date2 ? (this.date2 + ' 23:59:59') : null
+      date1 = this.date1 ? this.date1 + ' 00:00:00' : null
+      date2 = this.date2 ? this.date2 + ' 23:59:59' : null
 
       this.userName = userName = this.searchPhone || null
       this.expressNum = expressNum = this.searchExpressNum || null
@@ -326,7 +343,7 @@ export default {
       console.log(method, para)
       if (method === 'get') {
         let paras = []
-        Object.keys(para).forEach(k => {
+        Object.keys(para).forEach((k) => {
           if (para[k] || typeof para[k] === 'number') {
             paras.push(`${k}=${para[k]}`)
           } else {
@@ -354,8 +371,8 @@ export default {
       let date1, date2, userName, expressNum, orderNum
       this.date1 = this.searchDate ? this.searchDate[0] : null
       this.date2 = this.searchDate ? this.searchDate[1] : null
-      date1 = this.date1 ? (this.date1 + ' 00:00:00') : null
-      date2 = this.date2 ? (this.date2 + ' 23:59:59') : null
+      date1 = this.date1 ? this.date1 + ' 00:00:00' : null
+      date2 = this.date2 ? this.date2 + ' 23:59:59' : null
 
       this.userName = userName = this.searchPhone || null
       this.expressNum = expressNum = this.searchExpressNum || null
@@ -363,12 +380,12 @@ export default {
       let status = this.status
 
       let data = {
-        'type': this.status,
-        'startDate': date1,
-        'endDate': date2,
-        'orderSn': orderNum,
-        'phoneNum': userName,
-        'expressNum': expressNum
+        type: this.status,
+        startDate: date1,
+        endDate: date2,
+        orderSn: orderNum,
+        phoneNum: userName,
+        expressNum: expressNum
       }
       this.fullscreenLoading = true
 
@@ -377,35 +394,39 @@ export default {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
-      }).then(async () => {
-        let exec = await this.$http({
-          methods: 'get',
-          params: data,
-          url: '/manager/order/export',
-          responseType: 'arraybuffer'
+      })
+        .then(async () => {
+          let exec = await this.$http({
+            methods: 'get',
+            params: data,
+            url: '/manager/order/export',
+            responseType: 'arraybuffer'
+          })
+          try {
+            let blob = new Blob([exec], { type: 'application/vnd.ms-excel' })
+            let url = URL.createObjectURL(blob)
+            location.href = url
+          } catch (e) {
+            console.error(e)
+          }
+          this.fullscreenLoading = false
         })
-        try {
-          let blob = new Blob([exec], {type: 'application/vnd.ms-excel'})
-          let url = URL.createObjectURL(blob)
-          location.href = url
-        } catch (e) {
-          console.error(e)
-        }
-        this.fullscreenLoading = false
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '已取消导出'
+        .catch(() => {
+          this.$message({
+            type: 'info',
+            message: '已取消导出'
+          })
+          this.fullscreenLoading = false
         })
-        this.fullscreenLoading = false
-      })
     },
     async _getOrderDetail (row) {
       this.fullscreenLoading = true
-      let data = (await this.$http.post('/manager/order/detail', {orderId: row.id})).data
-      let temp = this.orders.find(item => item.id === row.id)
+      let data = (
+        await this.$http.post('/manager/order/detail', { orderId: row.id })
+      ).data
+      let temp = this.orders.find((item) => item.id === row.id)
 
-      temp.items = data.orderItems.map(item => {
+      temp.items = data.orderItems.map((item) => {
         return {
           ...item,
           product: {
@@ -438,11 +459,11 @@ export default {
 </script>
 
 <style scoped>
-@import url('./style.css');
+@import url("./style.css");
 </style>
 
 <style type="text/css">
-.el-table__expand-icon>i {
+.el-table__expand-icon > i {
   display: none !important;
 }
 </style>

+ 6 - 0
src/router/index.js

@@ -114,6 +114,12 @@ export default new Router({
           meta: { text: '转台相机' }
         },
         {
+          path: '/laserCamera',
+          name: 'laserCamera',
+          component: require('@/page/laserCamera').default,
+          meta: { text: '激光相机'}
+        },
+        {
           path: '/',
           name: 'Temp-scene',
           component: require('@/page/layout/temp').default,

+ 3 - 1
src/util/http.js

@@ -1,7 +1,9 @@
 import axios from 'axios'
 
 // 配置请求域名
-let server = process.env.NODE_ENV === 'development' ? 'https://test.4dkankan.com/api' : '/api'
+// let server = process.env.NODE_ENV === 'development' ? 'https://test.4dkankan.com/api' : '/api'
+let server = process.env.NODE_ENV === 'development' ? '/api' : '/api'
+
 axios.defaults.baseURL = server
 
 // axios.defaults.baseURL = '/api'