mushencc 3 jaren geleden
bovenliggende
commit
545e9d56ee
8 gewijzigde bestanden met toevoegingen van 1997 en 280 verwijderingen
  1. 12 4
      babel.config.js
  2. 52 5
      package-lock.json
  3. 3 0
      package.json
  4. 58 54
      src/main.js
  5. 10 1
      src/routerMap/index.js
  6. 704 215
      src/views/ChipPrintScreen/ChipPrintScreen.vue
  7. 1157 0
      src/views/ChipPrintScreen/ChipPrintScreenCheck.vue
  8. 1 1
      vue.config.js

+ 12 - 4
babel.config.js

@@ -1,5 +1,13 @@
 module.exports = {
-  presets: [
-    '@vue/cli-plugin-babel/preset'
-  ]
-}
+  presets: ["@vue/cli-plugin-babel/preset"],
+  plugins: [
+    [
+      "import",
+      {
+        libraryName: "vant",
+        libraryDirectory: "es",
+        style: true,
+      },
+    ],
+  ],
+};

+ 52 - 5
package-lock.json

@@ -1012,7 +1012,6 @@
             "version": "7.11.2",
             "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.11.2.tgz?cache=0&sync_timestamp=1596637824771&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.11.2.tgz",
             "integrity": "sha1-9UnBPHVMxAuHZEufqfCaapX+BzY=",
-            "dev": true,
             "requires": {
                 "regenerator-runtime": "^0.13.4"
             }
@@ -1122,6 +1121,11 @@
             "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=",
             "dev": true
         },
+        "@popperjs/core": {
+            "version": "2.10.2",
+            "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz",
+            "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ=="
+        },
         "@soda/friendly-errors-webpack-plugin": {
             "version": "1.7.1",
             "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz",
@@ -1259,11 +1263,28 @@
             "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=",
             "dev": true
         },
+        "@vant/icons": {
+            "version": "1.7.1",
+            "resolved": "https://registry.npmjs.org/@vant/icons/-/icons-1.7.1.tgz",
+            "integrity": "sha512-66LPEq89w4kl258nALZcRNd14eUJC8VajvTJwvZKOaZawz6CUeVZ6ybhedTUhQhRjeA8SyWD7dFt4ALf33Sabw=="
+        },
+        "@vant/popperjs": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.1.0.tgz",
+            "integrity": "sha512-8MD1gz146awV/uPxYjz4pet22f7a9YVKqk7T+gFkWFwT9mEcrIUEg/xPrdOnWKLP9puXyYtm7oVfSDSefZ/p/w==",
+            "requires": {
+                "@popperjs/core": "^2.9.2"
+            }
+        },
+        "@vant/touch-emulator": {
+            "version": "1.3.2",
+            "resolved": "https://registry.npmjs.org/@vant/touch-emulator/-/touch-emulator-1.3.2.tgz",
+            "integrity": "sha512-Om6e8kCAnmk/q8byngKreff7Hyn6XxwOGr8yedP3y3LEVoE+iyj8/+Mn+AYvGEQ00GK0MlgAfyaV4emXAYj1Hw=="
+        },
         "@vue/babel-helper-vue-jsx-merge-props": {
             "version": "1.0.0",
             "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz",
-            "integrity": "sha1-BI/leZWNpAj7eosqPsBQtQpmEEA=",
-            "dev": true
+            "integrity": "sha1-BI/leZWNpAj7eosqPsBQtQpmEEA="
         },
         "@vue/babel-plugin-transform-vue-jsx": {
             "version": "1.1.2",
@@ -2317,6 +2338,16 @@
                 "object.assign": "^4.1.0"
             }
         },
+        "babel-plugin-import": {
+            "version": "1.13.3",
+            "resolved": "https://registry.npmjs.org/babel-plugin-import/-/babel-plugin-import-1.13.3.tgz",
+            "integrity": "sha512-1qCWdljJOrDRH/ybaCZuDgySii4yYrtQ8OJQwrcDqdt0y67N30ng3X3nABg6j7gR7qUJgcMa9OMhc4AGViDwWw==",
+            "dev": true,
+            "requires": {
+                "@babel/helper-module-imports": "^7.0.0",
+                "@babel/runtime": "^7.0.0"
+            }
+        },
         "babel-runtime": {
             "version": "6.26.0",
             "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -9332,8 +9363,7 @@
         "regenerator-runtime": {
             "version": "0.13.7",
             "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz",
-            "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=",
-            "dev": true
+            "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U="
         },
         "regenerator-transform": {
             "version": "0.14.5",
@@ -11379,6 +11409,18 @@
                 "spdx-expression-parse": "^3.0.0"
             }
         },
+        "vant": {
+            "version": "2.12.33",
+            "resolved": "https://registry.npmjs.org/vant/-/vant-2.12.33.tgz",
+            "integrity": "sha512-vR2LmJNoSB+Gox1qSdWEOROMOl6lkDcxMLq1hu59AS0VePk41FMuqqV96Rmvo724HRFK8AlJLHrRmPTDOtGFzA==",
+            "requires": {
+                "@babel/runtime": "7.x",
+                "@vant/icons": "^1.7.1",
+                "@vant/popperjs": "^1.1.0",
+                "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
+                "vue-lazyload": "1.2.3"
+            }
+        },
         "vary": {
             "version": "1.1.2",
             "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz",
@@ -11500,6 +11542,11 @@
                 }
             }
         },
+        "vue-lazyload": {
+            "version": "1.2.3",
+            "resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.2.3.tgz",
+            "integrity": "sha512-DC0ZwxanbRhx79tlA3zY5OYJkH8FYp3WBAnAJbrcuoS8eye1P73rcgAZhyxFSPUluJUTelMB+i/+VkNU/qVm7g=="
+        },
         "vue-loader": {
             "version": "15.9.3",
             "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.3.tgz",

+ 3 - 0
package.json

@@ -10,6 +10,7 @@
         "lint": "vue-cli-service lint"
     },
     "dependencies": {
+        "@vant/touch-emulator": "^1.3.2",
         "axios": "^0.19.2",
         "core-js": "^3.6.5",
         "cross-env": "^7.0.3",
@@ -22,6 +23,7 @@
         "swiper": "5.x",
         "v-charts": "^1.19.0",
         "v-viewer": "^1.5.1",
+        "vant": "^2.12.33",
         "view-design": "^4.6.1",
         "vue": "^2.6.13",
         "vue-awesome-swiper": "^4.1.1",
@@ -38,6 +40,7 @@
         "@vue/cli-plugin-eslint": "~4.4.0",
         "@vue/cli-service": "~4.4.0",
         "babel-eslint": "^10.1.0",
+        "babel-plugin-import": "^1.13.3",
         "eslint": "^6.7.2",
         "eslint-plugin-vue": "^6.2.2",
         "jquery": "^3.6.0",

+ 58 - 54
src/main.js

@@ -1,70 +1,74 @@
-import Vue from 'vue'
-import App from './App.vue'
-import router from './route/index'
-import store from './store/index'
+import Vue from "vue";
+import App from "./App.vue";
+import router from "./route/index";
+import store from "./store/index";
 
-import axios from './axios/index'
-import ViewUI from 'view-design';
-import 'view-design/dist/styles/iview.css';
-import untilFn from './untils/until'
+import axios from "./axios/index";
+import ViewUI from "view-design";
+import "view-design/dist/styles/iview.css";
+import untilFn from "./untils/until";
 import "./untils/filter";
-import IconFont from './assets/iconfont/iconfont.js'
-import echarts from 'echarts'
-import Viewer from 'v-viewer'
-import components from '@/untils/components'
-import 'viewerjs/dist/viewer.css'
-import 'xe-utils'
-import VXETable from 'vxe-table'
-import VXETablePluginIView from 'vxe-table-plugin-iview'
-import 'vxe-table-plugin-iview/dist/style.css'
+import IconFont from "./assets/iconfont/iconfont.js";
+import echarts from "echarts";
+import Viewer from "v-viewer";
+import components from "@/untils/components";
+import "viewerjs/dist/viewer.css";
+import "xe-utils";
+import VXETable from "vxe-table";
+import VXETablePluginIView from "vxe-table-plugin-iview";
+import "vxe-table-plugin-iview/dist/style.css";
 
-import 'vxe-table/lib/style.css'
-import ElementUI from 'element-ui';
-import 'element-ui/lib/theme-chalk/index.css';
-import Print from '@/plugs/print';
-import 'lib-flexible'
+import "vxe-table/lib/style.css";
+import ElementUI from "element-ui";
+import "element-ui/lib/theme-chalk/index.css";
+import Print from "@/plugs/print";
+import "lib-flexible";
+import { NumberKeyboard } from "vant";
+
+Vue.use(NumberKeyboard);
 Vue.use(ElementUI);
-Vue.use(Print)
-Vue.use(VXETable)
-VXETable.use(VXETablePluginIView)
+Vue.use(Print);
+Vue.use(VXETable);
+VXETable.use(VXETablePluginIView);
 Vue.use(Viewer);
 Viewer.setDefaults({
-    Options: {
-        "inline": true,
-        "button": true,
-        "navbar": true,
-        "title": true,
-        "toolbar": true,
-        "tooltip": true,
-        "movable": true,
-        "zoomable": true,
-        "rotatable": true,
-        "scalable": true,
-        "transition": true,
-        "fullscreen": true,
-        "keyboard": true,
-        "url": "data-source"
-    }
+  Options: {
+    inline: true,
+    button: true,
+    navbar: true,
+    title: true,
+    toolbar: true,
+    tooltip: true,
+    movable: true,
+    zoomable: true,
+    rotatable: true,
+    scalable: true,
+    transition: true,
+    fullscreen: true,
+    keyboard: true,
+    url: "data-source",
+  },
 });
 
-Vue.use(ViewUI)
+Vue.use(ViewUI);
 
-Vue.use(IconFont)
+Vue.use(IconFont);
 
-Vue.use(components)
+Vue.use(components);
 
-Vue.prototype.axios = axios
+Vue.prototype.axios = axios;
 
-Vue.prototype.func = untilFn //全局引入自定义函数库
+Vue.prototype.func = untilFn; //全局引入自定义函数库
 
-Vue.config.productionTip = false
-Vue.prototype.$echarts = echarts
-Vue.prototype.$Message.config({ //全局提示演示关闭时间
-    duration: 3
+Vue.config.productionTip = false;
+Vue.prototype.$echarts = echarts;
+Vue.prototype.$Message.config({
+  //全局提示演示关闭时间
+  duration: 3,
 });
 
 new Vue({
-    router,
-    store,
-    render: h => h(App),
-}).$mount('#app')
+  router,
+  store,
+  render: (h) => h(App),
+}).$mount("#app");

+ 10 - 1
src/routerMap/index.js

@@ -1446,13 +1446,22 @@ const routerMap = [
   },
   {
     path: "/cms/ChipPrintScreen/ChipPrintScreen",
-    name: "ChipPrintScreen", //部件配置项-详情
+    name: "ChipPrintScreen", //打印芯片-详情
     meta: {
       index: 3,
     },
     component: (resolve) =>
       require(["@/views/ChipPrintScreen/ChipPrintScreen"], resolve),
   },
+  {
+    path: "/cms/ChipPrintScreen/ChipPrintScreenCheck",
+    name: "ChipPrintScreenCheck", //打印芯片-查看
+    meta: {
+      index: 3,
+    },
+    component: (resolve) =>
+      require(["@/views/ChipPrintScreen/ChipPrintScreenCheck"], resolve),
+  },
   // 测试用
   {
     path: "/cms/ordermannage/businessorderlist/editcopy",

File diff suppressed because it is too large
+ 704 - 215
src/views/ChipPrintScreen/ChipPrintScreen.vue


+ 1157 - 0
src/views/ChipPrintScreen/ChipPrintScreenCheck.vue

@@ -0,0 +1,1157 @@
+<template>
+  <Modal v-model="fullscreenModal" fullscreen title="工位屏-补打">
+    <div slot="header">
+      <span style="font-size: 0.5rem">工位屏-补打</span>
+      <div class="fullscreen-title-btn">
+        <Button
+          @click="handleFullScreenClick"
+          size="large"
+          id="full_screen_btn"
+          type="primary"
+          style="margin-right: 1rem"
+        >
+          {{ isFullScreen ? "退  出" : "全  屏" }}
+        </Button>
+        <Button
+          @click="handlePrint"
+          size="large"
+          type="primary"
+          style="margin-right: 1rem"
+        >
+          打 印
+        </Button>
+        <Button @click="back" size="large" type="primary">
+          返 回
+        </Button>
+      </div>
+    </div>
+    <div class="fullscreen-content">
+      <div class="fullscreen-content-select">
+        <div class="fullscreen-content-select-block">
+          <Button
+            @click="handleSelection(ordernoObj, 1)"
+            size="large"
+            type="primary"
+            style="margin-right: 10px"
+          >
+            项目选择
+          </Button>
+          <div class="icon-wrapper" v-show="selectedInfo.order_no">
+            <Icon
+              class="icon-close"
+              @click="handleCancelSelected('order_no')"
+              size="24"
+              type="md-close"
+            />
+            <div>
+              <span>订单编号:</span>
+              <span>{{ selectedInfo.order_no }}</span>
+            </div>
+            <div>
+              <span>项目名称:</span>
+              <span>{{ selectedInfo.residential_name }}</span>
+            </div>
+          </div>
+        </div>
+        <div class="fullscreen-content-select-block">
+          <Button
+            @click="handleSelection(urlObj, 2)"
+            size="large"
+            type="primary"
+            style="margin-right: 10px"
+          >
+            图号选择
+          </Button>
+          <div style="display: flex; align-items: center">
+            <div class="icon-wrapper">
+              <div v-show="selectedInfo.url_number">
+                <Icon
+                  class="icon-close"
+                  @click="handleCancelSelected('url_number')"
+                  size="24"
+                  type="md-close"
+                />
+                <span>图号:</span>
+                <span>{{ selectedInfo.url_number }}</span>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="fullscreen-content-select-block">
+          <Button
+            @click="handleSelectionRowno(rownoObj)"
+            size="large"
+            type="primary"
+            style="margin-right: 10px"
+          >
+            行号选择
+          </Button>
+          <div
+            class="icon-wrapper"
+            v-show="selectedInfo.rows.length != 0"
+            style="display: flex; align-items: center"
+          >
+            <span>行号:</span>
+            <div style="display: flex; justify-content: flex-start">
+              <div v-for="(item, index) in selectedInfo.rows" :key="item.key">
+                <div class="icon-wrapper" style="margin-right: 0.35rem">
+                  <Icon
+                    class="icon-close"
+                    @click="handleCancelSelected(index, 1)"
+                    size="24"
+                    type="md-close"
+                  />
+                  <span style="display: inline-block"
+                    >{{ item.start }}-{{ item.end }}</span
+                  >
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="fullscreen-content-choose">
+        <div
+          :class="[
+            choose.isChoosed
+              ? 'fullscreen-content-choose-block fullscreen-content-choose-block-choosen'
+              : 'fullscreen-content-choose-block fullscreen-content-choose-block-unchoosen',
+          ]"
+          v-for="choose in contentData"
+          :key="choose.row"
+          @click="handleChooseBlockClick(choose)"
+        >
+          <div class="chip-tag">
+            芯片
+            <Icon
+              size="20px"
+              style="font-size: 1rem; transform: translate(-12%, -40%)"
+              :color="choose.isChoosed ? '#2d8cf0' : 'white'"
+              type="md-arrow-dropup"
+            />
+          </div>
+          <div>
+            <span>行号</span>
+            <span>{{ choose.row_no }}</span>
+          </div>
+          <div>
+            <span>部件</span>
+            <span>{{ choose.part_title }}</span>
+          </div>
+          <div>
+            <span>材料</span>
+            <span>{{ choose.sub_part_title }}</span>
+          </div>
+          <div>
+            <span>毛料尺寸</span>
+            <span>{{ choose.wool_size }}</span>
+          </div>
+          <div>
+            <span>精裁尺寸</span>
+            <span>{{ choose.cut_size }}</span>
+          </div>
+          <div>
+            <span>未完成数量</span>
+            <span>
+              {{ choose.un_complete }}(总数:{{ choose.on_complete }})
+            </span>
+          </div>
+          <div>
+            <span>未打印数量</span>
+            <span>{{ choose.un_print }}(总数:{{ choose.on_print }})</span>
+          </div>
+        </div>
+      </div>
+      <div class="fullscreen-content-page">
+        <Page @on-change="changePage" :current="page_index" :total="total" />
+      </div>
+    </div>
+    <div slot="footer"></div>
+    <Modal
+      class="selection-modal"
+      v-model="selectionModal"
+      :title="currencySelectedObj.title"
+      width="80%"
+    >
+      <van-number-keyboard
+        :show="show"
+        @blur="show = false"
+        @input="onInput"
+        @delete="onDelete"
+        z-index="99999"
+      />
+      <div class="selection-modal-top">
+        <Input
+          :placeholder="currencySelectedObj.title"
+          v-model="currentSearchValue"
+          @on-focus="show = true"
+          @on-change="
+            handleCurrentSearch(currencySelectedObj, currentSearchValue)
+          "
+          style="width: 80%"
+        >
+          <Icon
+            @click="
+              handleCurrentSearch(currencySelectedObj, currentSearchValue)
+            "
+            type="ios-search"
+            slot="suffix"
+          />
+        </Input>
+      </div>
+      <div class="selection-modal-body">
+        <div
+          :class="[
+            block.isCurrent
+              ? 'selection-modal-body-block selection-modal-body-block-choosen'
+              : 'selection-modal-body-block selection-modal-body-block-unchoosen',
+          ]"
+          v-for="(block, index) in currencySelectedObj.list"
+          :key="index"
+          @click="handleSelectionClick(currencySelectedObj, block)"
+        >
+          <div v-show="currencySelectedObj.type == 1">
+            <span>订单编号:</span>
+            <span>{{ block.order_no }}</span>
+          </div>
+          <div v-show="currencySelectedObj.type == 2">
+            <span>{{ block.title }}</span>
+          </div>
+          <div v-show="currencySelectedObj.type == 1">
+            <span>项目名称:</span>
+            <span>{{ block.residential_name }}</span>
+          </div>
+        </div>
+        <div
+          style="font-size: 1rem"
+          v-show="currencySelectedObj.list.length == 0"
+        >
+          暂无数据
+        </div>
+      </div>
+      <div class="fullscreen-content-page">
+        <Page
+          @on-change="changeModalPage"
+          :current="
+            currencySelectedObj.type == 1
+              ? modal_1_page_index
+              : modal_2_page_index
+          "
+          :page-size="
+            currencySelectedObj.type == 1
+              ? modal_1_page_size
+              : modal_2_page_size
+          "
+          :total="currencySelectedObj.type == 1 ? modal_1_total : modal_2_total"
+        />
+      </div>
+      <div slot="footer">
+        <Button
+          @click="selectionModal = false"
+          type="primary"
+          style="margin-right: 10px"
+        >
+          返回
+        </Button>
+        <!-- <Button
+          v-show="currencySelectedObj.type == 1"
+          @click="handleSelectionComfirm(currencySelectedObj)"
+          type="primary"
+        >
+          确认
+        </Button> -->
+      </div>
+    </Modal>
+    <Modal
+      class="selection-modal"
+      v-model="selectionDetailModal"
+      :title="currencySelectedObj.title"
+      width="80%"
+    >
+      <div class="selection-modal-body" v-if="currencySelectedObj.hasChild">
+        <div
+          :class="[
+            block.isCurrent
+              ? 'selection-modal-body-block-detail selection-modal-body-block-detail-choosen'
+              : 'selection-modal-body-block-detail selection-modal-body-block-detail-unchoosen',
+          ]"
+          v-for="(block, index) in chooseDetailUrlNo.children"
+          :key="index"
+          @click="handleSelectionDetailClick(chooseDetailUrlNo, block)"
+        >
+          <div>
+            <span>{{ block.url_number }}</span>
+          </div>
+        </div>
+      </div>
+      <div slot="footer">
+        <Button
+          @click="
+            selectionDetailModal = false;
+            selectionModal = true;
+          "
+          type="primary"
+          style="margin-right: 10px"
+        >
+          返回
+        </Button>
+        <!-- <Button
+          @click="handleSelectionComfirm(currencySelectedObj)"
+          type="primary"
+        >
+          确认
+        </Button> -->
+      </div>
+    </Modal>
+    <Modal
+      class="selection-rowno-modal"
+      v-model="selectionRownolModal"
+      title="行号选择"
+      width="80%"
+    >
+      <div class="selection-rowno-modal-body">
+        <van-number-keyboard
+          :show="show2"
+          @blur="show2 = false"
+          @input="keyboardTap"
+          @delete="keyboardDele"
+          z-index="99999"
+        />
+        <div
+          class="selection-rowno-modal-body-block"
+          v-for="(block, index) in chooseLineNo"
+          :key="index"
+        >
+          <span>行号区间:</span>
+          <Input
+            v-model="block.start"
+            @on-focus="handleRowNoInput(block, 1)"
+            clearable
+            style="width: 20%; margin: 0 10px"
+            size="large"
+          />
+          -
+          <Input
+            v-model="block.end"
+            @on-focus="handleRowNoInput(block, 2)"
+            clearable
+            style="width: 20%; margin: 0 10px"
+            size="large"
+          />
+          <Button
+            @click="handleAddRow(block, index)"
+            type="primary"
+            size="large"
+            v-show="index == 0"
+            style="margin-right: 10px"
+          >
+            添加
+          </Button>
+          <Button
+            @click="handleDeleRow(block, index)"
+            type="primary"
+            size="large"
+            v-show="index != 0"
+            style="margin-right: 10px"
+          >
+            删除
+          </Button>
+        </div>
+      </div>
+      <div slot="footer">
+        <Button
+          @click="selectionRownolModal = false"
+          type="primary"
+          style="margin-right: 10px"
+        >
+          返回
+        </Button>
+        <Button @click="handleRowNoComfirm(chooseLineNo)" type="primary">
+          确认
+        </Button>
+      </div>
+    </Modal>
+    <Modal
+      class="selection-print-modal"
+      v-model="printModal"
+      title="打印"
+      width="60%"
+    >
+      <div class="selection-print-modal-body">
+        <div class="selection-print-modal-body-top">
+          <div>
+            <span>行号:</span>
+            <span>{{ selectedObj.row_no }}</span>
+          </div>
+          <div>
+            <span>部件名称:</span>
+            <span>{{ selectedObj.part_title }}</span>
+          </div>
+          <div>
+            <span>数量:</span>
+            <InputNumber
+              :max="selectedObj.on_print + selectedObj.un_print"
+              :min="1"
+              size="large"
+              v-model="selectedObj.print_num"
+            ></InputNumber>
+          </div>
+        </div>
+        <div class="selection-print-modal-body-info">
+          {{
+            selectedObj.un_print == 0
+              ? "该部件已打印,是否再次打印?"
+              : "请确认打印数量是否正确!"
+          }}
+        </div>
+      </div>
+      <div slot="footer">
+        <Button
+          @click="printModal = false"
+          type="primary"
+          style="margin-right: 10px"
+        >
+          返回
+        </Button>
+        <Button @click="handlePrintComfirm(selectedObj)" type="primary">
+          确认
+        </Button>
+      </div>
+    </Modal>
+  </Modal>
+</template>
+
+<script>
+// 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
+// 例如:import 《组件名称》 from '《组件路径》';
+import "@vant/touch-emulator";
+export default {
+  name: "",
+  components: {},
+  props: {},
+  // import引入的组件需要注入到对象中才能使用
+  data() {
+    // 这里存放数据
+    return {
+      show: false,
+      show2: false,
+      isFullScreen: false,
+      fullscreenModal: true,
+      selectionModal: false,
+      selectionRownolModal: false,
+      selectionDetailModal: false,
+      printModal: false,
+      contentData: [],
+      selectedObj: {},
+      ordernoObj: {
+        title: "订单编号/项目名称选择",
+        list: [],
+        hasChild: false,
+      },
+      urlObj: {
+        title: "图号选择",
+        list: [],
+        hasChild: true,
+      },
+      rownoObj: {},
+      currencySelectedObj: {
+        title: "订单编号/项目名称选择",
+        type: 1,
+        list: [],
+      },
+      selectedInfo: {
+        order_no: "",
+        residential_name: "",
+        url_number: "",
+        product_id: "",
+        rows: [],
+      },
+      page_index: 1,
+      page_size: 8,
+      total: 0,
+      currentSearchValue: "",
+      modal_1_page_index: 1,
+      modal_1_page_size: 6,
+      modal_1_total: 0,
+      modal_2_page_index: 1,
+      modal_2_page_size: 60,
+      modal_2_total: 0,
+      chooseOrderNo: {},
+      chooseUrlNo: {},
+      chooseDetailUrlNo: {},
+      chooseLineNo: [{ start: "", end: "" }],
+      keyboardObj: {},
+      keyboardVal: "",
+    };
+  },
+  // 生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  // 生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {
+    this.selectedInfo = JSON.parse(localStorage.getItem("printInfo"));
+    this.getChipDetail();
+  },
+  methods: {
+    back() {
+      this.$router.go(-1);
+    },
+    handleSelection(obj, type) {
+      if (type == 2 && this.selectedInfo.order_no == "") {
+        return this.$Message.warning("请先选择项目");
+      }
+      this.currentSearchValue = "";
+      this.currencySelectedObj = obj;
+      this.selectionModal = true;
+      this.currencySelectedObj.type = type;
+      if (this.currencySelectedObj.list.length == 0) {
+        this.handleCurrentSearch(
+          this.currencySelectedObj,
+          this.currentSearchValue
+        );
+      }
+    },
+    handleSelectionRowno(row) {
+      console.log(`row`, row);
+      if (this.selectedInfo.rows.legth > 0) {
+        this.chooseLineNo = JSON.parse(JSON.stringify(this.selectedInfo.rows));
+      } else {
+        this.chooseLineNo = [{ start: null, end: null }];
+      }
+      this.selectionRownolModal = true;
+    },
+    handleCancelSelected(v, type) {
+      if (type) {
+        this.selectedInfo.rows.splice(v, 1);
+      } else {
+        this.selectedInfo[v] = "";
+      }
+      this.getChipDetail();
+    },
+    handleChooseBlockClick(row) {
+      console.log(`row`, row);
+      if (row.isChoosed) {
+        row.isChoosed = false;
+      } else {
+        this.contentData.map((v) => {
+          v.isChoosed = false;
+        });
+        row.isChoosed = true;
+      }
+      this.selectedObj = row;
+    },
+    goCheckPage() {
+      localStorage.setItem("printInfo", JSON.stringify(this.selectedInfo));
+      this.$router.push({
+        path: "/cms/ChipPrintScreen/ChipPrintScreenCheck",
+      });
+    },
+    handleSelectionClick(row, obj) {
+      row.list.map((v) => (v.isCurrent = false));
+      obj.isCurrent = true;
+      if (row.hasChild) {
+        // 行号
+        this.selectionModal = false;
+        this.selectionDetailModal = true;
+        this.chooseDetailUrlNo = obj;
+      } else {
+        // 订单号
+        this.chooseOrderNo = obj;
+      }
+      if (row.type == 1) {
+        this.handleSelectionComfirm(this.currencySelectedObj);
+      }
+      this.$forceUpdate();
+    },
+    handleAddRow(row, index) {
+      this.chooseLineNo.push({
+        start: "",
+        end: "",
+      });
+    },
+    handleDeleRow(row, index) {
+      this.chooseLineNo.splice(index, 1);
+    },
+    handleSelectionDetailClick(row, obj) {
+      row.children.map((v) => (v.isCurrent = false));
+      obj.isCurrent = true;
+      this.chooseUrlNo = obj;
+      this.handleSelectionComfirm(this.currencySelectedObj);
+      this.$forceUpdate();
+    },
+    handleFullScreenClick() {
+      this.isFullScreen = !this.isFullScreen;
+      if (this.isFullScreen) {
+        this.enterFullScreen();
+      } else {
+        this.exitFullScreen();
+      }
+    },
+    enterFullScreen() {
+      let el = document.documentElement;
+      let rfs =
+        el.requestFullScreen ||
+        el.webkitRequestFullScreen ||
+        el.mozRequestFullScreen ||
+        el.msRequestFullscreen;
+      if (rfs) {
+        rfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    exitFullScreen() {
+      let el = document;
+      let cfs =
+        el.cancelFullScreen ||
+        el.mozCancelFullScreen ||
+        el.msExitFullscreen ||
+        el.webkitExitFullscreen ||
+        el.exitFullscreen;
+      if (cfs) {
+        // typeof cfs != "undefined" && cfs
+        cfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里和fullScreen相同,模拟按下F11键退出全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    handleCurrentSearch(row, val) {
+      //type  1项目选择   2图号选择
+      let url =
+        row.type == 1
+          ? "/api/station_get_order"
+          : "/api/station_get_url_number";
+      this.axios({
+        method: "post",
+        url,
+        data: {
+          page_index:
+            row.type == 1 ? this.modal_1_page_index : this.modal_2_page_index,
+          page_size:
+            row.type == 1 ? this.modal_1_page_size : this.modal_2_page_size,
+          order_no: row.type == 1 ? val : this.selectedInfo.order_no,
+          url_number: row.type == 1 ? "" : val,
+        },
+      }).then((res) => {
+        if (res.code == 200) {
+          if (row.type == 1) {
+            row.list = res.data.data;
+            this.modal_1_total = res.data.total;
+          } else {
+            row.list = [];
+            this.modal_2_total = res.data.total;
+            let length = Math.ceil(res.data.data.length / 10);
+            for (let index = 0; index < length; index++) {
+              row.list.push({
+                //最后一位不一定刚好10个
+                title:
+                  length - index == 1
+                    ? `${res.data.data[10 * index].url_number}~${
+                        res.data.data[res.data.data.length - 1].url_number
+                      }`
+                    : `${res.data.data[10 * index].url_number}~${
+                        res.data.data[10 * index + 10].url_number
+                      }`,
+                children: res.data.data.slice(10 * index, 10 * index + 10),
+              });
+            }
+          }
+        }
+      });
+    },
+    //项目、图号确认
+    handleSelectionComfirm(row) {
+      console.log(`row`, row);
+      // 这里需要把弹框关闭之后赋值到selectedInfo上
+      // this.selectedInfo.order_no;
+      // 1 项目选择  2图号选择
+      if (row.type == 1) {
+        this.selectedInfo.order_no = this.chooseOrderNo.order_no;
+        this.selectedInfo.residential_name = this.chooseOrderNo.residential_name;
+        this.selectionModal = false;
+      } else if (row.type == 2) {
+        this.selectedInfo.url_number = this.chooseUrlNo.url_number;
+        this.selectedInfo.product_id = this.chooseUrlNo.product_id;
+        this.selectionDetailModal = false;
+      }
+      // order_no: "20211010",
+      // residential_name: "2",
+      // url_number: "3",
+      // row_no: [],
+      this.getChipDetail();
+    },
+    // 获取具体详情
+    getChipDetail() {
+      this.axios({
+        method: "post",
+        url: "/api/station_get_order_on_product_pr",
+        data: {
+          order_no: this.selectedInfo.order_no,
+          product_id: this.selectedInfo.product_id,
+          rows: this.selectedInfo.rows,
+          page_index: this.page_index,
+          page_size: this.page_size,
+        },
+      }).then((res) => {
+        if (res.code == 200) {
+          console.log(`res`, res);
+          res.data.data.map((v) => (v.isChoosed = false));
+          this.contentData = res.data.data;
+          this.total = res.data.total;
+        }
+      });
+    },
+    handlePrint() {
+      if (!this.selectedObj.isChoosed) {
+        return this.$Message.warning("请选择数据");
+      }
+      this.selectedObj.print_num = this.selectedObj.un_print;
+      this.printModal = true;
+    },
+    handlePrintComfirm(row) {
+      this.axios({
+        method: "post",
+        url: "/api/station_print",
+        data: {
+          order_no: this.selectedInfo.order_no,
+          product_id: this.selectedInfo.product_id,
+          rows: this.selectedInfo.rows,
+          num: this.selectedObj.print_num,
+          id: row.id,
+        },
+      }).then((resp) => {
+        if (resp.code == 200) {
+          this.handlePrintChips(resp.data);
+          this.printModal = false;
+        }
+      });
+    },
+    //行号确认
+    handleRowNoComfirm() {
+      this.selectedInfo.rows = JSON.parse(JSON.stringify(this.chooseLineNo));
+      this.selectionRownolModal = false;
+      this.getChipDetail();
+    },
+    onInput(value) {
+      this.currentSearchValue = this.currentSearchValue + "" + value;
+      this.handleCurrentSearch(
+        this.currencySelectedObj,
+        this.currentSearchValue
+      );
+    },
+    onDelete() {
+      this.currentSearchValue = this.currentSearchValue.substring(
+        0,
+        this.currentSearchValue.length - 1
+      );
+      this.handleCurrentSearch(
+        this.currencySelectedObj,
+        this.currentSearchValue
+      );
+    },
+    keyboardTap(value) {
+      this.keyboardObj[this.keyboardVal] =
+        (this.keyboardObj[this.keyboardVal]
+          ? this.keyboardObj[this.keyboardVal]
+          : "") +
+        "" +
+        value;
+    },
+    keyboardDele() {
+      this.keyboardObj[this.keyboardVal] = this.keyboardObj[
+        this.keyboardVal
+      ].substring(0, this.keyboardObj[this.keyboardVal].length - 1);
+    },
+    handleRowNoInput(row, type) {
+      if (type == 1) {
+        this.keyboardVal = "start";
+      } else {
+        this.keyboardVal = "end";
+      }
+      this.keyboardObj = row;
+      this.show2 = true;
+    },
+
+    changePage(e) {
+      this.page_index = e;
+      this.getChipDetail();
+    },
+    changeModalPage(e) {
+      this.currencySelectedObj.type == 1
+        ? (this.modal_1_page_index = e)
+        : (this.modal_2_page_index = e);
+      this.handleCurrentSearch(
+        this.currencySelectedObj,
+        this.currentSearchValue
+      );
+    },
+    handlePrintChips(contents) {
+      this.axios.get("/api/get_print_url").then((res) => {
+        let data = {};
+        // let url = "http://192.168.0.145:888/postek/print"; //request_url
+        let url = `http://${res.data.request_url}:888/postek/print`; //request_url
+        data.reqParam = "1"; //这个一般不用改,如需改,查api
+        let printparamsJsonArray = [];
+        // let IP = "192.168.1.58";//print_url
+        // let IP = "192.168.0.199"; //print_url
+        let IP = res.data.print_url;
+        let port = 9100;
+        let IP_Port = IP + "," + port;
+        printparamsJsonArray.push({ PTK_Connect_Timer: IP_Port + ",1" });
+        printparamsJsonArray.push({ PTK_ClearBuffer: "" });
+        printparamsJsonArray.push({ PTK_SetDirection: "B" });
+        printparamsJsonArray.push({ PTK_SetPrintSpeed: "4" });
+        printparamsJsonArray.push({ PTK_SetDarkness: "10" });
+        printparamsJsonArray.push({
+          PTK_SetLabelHeight: 624 + "," + 24 + ",0,false",
+        });
+        printparamsJsonArray.push({ PTK_SetLabelWidth: 1080 });
+        contents.map((content) => {
+          //贝斯特打印格式
+          //上
+          const printContent_l1 = `项目:${content.client_name}`;
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "100,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1,
+          });
+          const printContent_l1_2 = `区域:${
+            content.house ? content.house + "-" : ""
+          }${content.layer ? content.layer : ""}${
+            content.position ? content.position : ""
+          }`;
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "600,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
+          });
+          const printContent_l2 = `房号:${content.number_detail}`;
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "100,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2,
+          });
+          const printContent_l2_2 = `产品:${content.product_title}`;
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "600,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
+          });
+          const printContent_l3 = `图号:${content.url_number}`;
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "100,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3,
+          });
+          const printContent_l3_2 = `部件:${content.part_title}`;
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "600,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
+          });
+          const printContent_l4 = `木皮:${content.color_title}`;
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "100,320,60,0,微软雅黑,1,700,0,0,0," + printContent_l4,
+          });
+          const printContent_l4_2 = `尺寸:${content.measure}`;
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "100,250,60,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
+          });
+          //下
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "100,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
+          });
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "600,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
+          });
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "100,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
+          });
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "600,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
+          });
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "100,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
+          });
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "600,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
+          });
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "100,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4,
+          });
+          printparamsJsonArray.push({
+            PTK_DrawText_TrueType:
+              "600,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
+          });
+          // 17,35 420
+          printparamsJsonArray.push({
+            PTK_RWRFIDLabel:
+              "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
+          });
+          printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
+        });
+        // contents.map((content) => {
+        //   //江山打印格式
+        //   //上
+        //   const printContent_l1 = `单号:${content.order_no}`;
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "100,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1,
+        //   });
+        //   const printContent_l1_2 = `型号:${content.product_title}`;
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "600,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
+        //   });
+        //   const printContent_l2 = `尺寸:${content.measure}`;
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "100,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2,
+        //   });
+        //   const printContent_l2_2 = `工艺:${content.process_title}`;
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "600,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
+        //   });
+        //   const printContent_l3 = `颜色:${content.color_title}`;
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "100,250,60,0,微软雅黑,1,700,0,0,0," + printContent_l3,
+        //   });
+        //   const printContent_l3_2 = `部件:${content.part_title}`;
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "100,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
+        //   });
+        //   //下
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "100,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
+        //   });
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "600,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
+        //   });
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "100,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
+        //   });
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "600,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
+        //   });
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "100,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
+        //   });
+        //   printparamsJsonArray.push({
+        //     PTK_DrawText_TrueType:
+        //       "600,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
+        //   });
+        //   printparamsJsonArray.push({
+        //     PTK_RWRFIDLabel:
+        //       "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
+        //   });
+        //   printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
+        // });
+        printparamsJsonArray.push({ PTK_CloseConnect: "" });
+        data.printparams = printparamsJsonArray;
+        // data.printparams = JSON.stringify(printparamsJsonArray);
+        this.test_content = JSON.stringify(data);
+        this.test_url = url;
+        this.test_modal = true;
+      });
+    },
+  },
+  // 监听属性 类似于data概念
+  computed: {},
+  // 监控data中的数据变化
+  watch: {},
+  beforeCreate() {}, // 生命周期 - 创建之前
+  beforeMount() {}, // 生命周期 - 挂载之前
+  beforeUpdate() {}, // 生命周期 - 更新之前
+  updated() {}, // 生命周期 - 更新之后
+  beforeDestroy() {}, // 生命周期 - 销毁之前
+  destroyed() {}, // 生命周期 - 销毁完成
+  activated() {}, // 如果页面有keep-alive缓存功能,这个函数会触发
+};
+</script>
+
+<style lang="scss" scoped>
+.fullscreen-title-btn {
+  position: absolute;
+  right: 100px;
+  top: 0.175rem;
+}
+.fullscreen-content {
+  .fullscreen-content-select {
+    display: flex;
+    justify-content: space-around;
+    padding-bottom: 0.1rem;
+    border-bottom: 1px solid #e8eaec;
+    .fullscreen-content-select-block {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+    }
+    .fullscreen-content-select-block:nth-child(1) {
+      width: 30%;
+    }
+    .fullscreen-content-select-block:nth-child(2) {
+      width: 20%;
+    }
+    .fullscreen-content-select-block:nth-child(3) {
+    }
+  }
+  .fullscreen-content-choose {
+    display: flex;
+    justify-content: flex-start;
+    flex-wrap: wrap;
+    padding-top: 0.1rem;
+    margin-bottom: 0.5rem;
+    .fullscreen-content-choose-block {
+      width: 25%;
+      border-radius: 5px;
+      border: 1px solid #2d8cf0;
+      // margin: 0.1rem 1%;
+      padding: 1%;
+      position: relative;
+      div {
+        display: flex;
+        justify-content: space-between;
+      }
+      .chip-tag {
+        display: inline-block;
+        position: absolute;
+        width: 0.75rem;
+        top: 0;
+        left: 50%;
+        background-color: #fadb14;
+        color: black;
+        height: 0.75rem;
+        border-radius: 15%;
+        text-align: center;
+        padding-top: 0.15rem;
+        transform: translate(-50%, -10%);
+      }
+    }
+    .fullscreen-content-choose-block-choosen {
+      color: white;
+      background-color: #2d8cf0;
+    }
+    .fullscreen-content-choose-block-unchoosen {
+      color: #2d8cf0;
+      background-color: white;
+    }
+  }
+}
+.fullscreen-content-page {
+  display: flex;
+  justify-content: center;
+}
+.selection-modal {
+  .selection-modal-top {
+    display: flex;
+    justify-content: center;
+  }
+  .selection-modal-body {
+    display: flex;
+    justify-content: center;
+    flex-wrap: wrap;
+    .selection-modal-body-block {
+      cursor: pointer;
+      width: 30%;
+      margin: 1%;
+      padding: 3% 1%;
+      background-color: #e9ecef;
+      div {
+        display: flex;
+        justify-content: center;
+      }
+    }
+    .selection-modal-body-block-detail {
+      cursor: pointer;
+      width: 17%;
+      margin: 1%;
+      padding: 3% 1%;
+      background-color: #e9ecef;
+      div {
+        display: flex;
+        justify-content: center;
+      }
+    }
+    .selection-modal-body-block-choosen,
+    .selection-modal-body-block-detail-choosen {
+      background-color: #fadb14;
+    }
+    .selection-modal-body-block-unchoosen,
+    .selection-modal-body-block-detail-unchoosen {
+      background-color: #e9ecef;
+    }
+  }
+}
+.selection-rowno-modal {
+  .selection-rowno-modal-body {
+    .selection-rowno-modal-body-block {
+      margin: 0.5rem 0;
+      text-align: center;
+    }
+  }
+}
+.selection-print-modal {
+  .selection-print-modal-body {
+    .selection-print-modal-body-top {
+      display: flex;
+      justify-content: space-around;
+      align-items: center;
+      margin: 0.5rem 0;
+    }
+    .selection-print-modal-body-info {
+      padding-top: 16px;
+      border-top: 1px solid #e8eaec;
+      text-align: center;
+    }
+  }
+}
+.icon-wrapper {
+  position: relative;
+  font-size: 0.25rem;
+}
+.icon-close {
+  position: absolute;
+  right: -0.35rem;
+  top: -0.2rem;
+}
+/deep/.ivu-page-item {
+  display: inline-block;
+  font-size: 0.5rem;
+  height: 1rem;
+  line-height: 1rem;
+  width: 1rem;
+}
+/deep/.ivu-page-prev,
+/deep/.ivu-page-next {
+  display: inline-block;
+  font-size: 0.5rem;
+  height: 1rem;
+  line-height: 1rem;
+  width: 1rem;
+  a {
+    font-size: 0.5rem;
+  }
+}
+/deep/.fullscreen-content-page {
+  display: flex;
+  justify-content: space-around;
+}
+</style>

+ 1 - 1
vue.config.js

@@ -2,7 +2,7 @@ const axios_default_ip =
   process.env.NODE_ENV == "dev"
     ? "http://121.41.102.225:82"
     : process.env.NODE_ENV == "test-prd"
-    ? "http://121.41.102.225:82" //测试服
+    ? "http://124.71.176.88:882" //测试服
     : process.env.NODE_ENV == "prd_other"
     ? "http://121.37.173.82:82" //贝斯特
     : "http://124.71.176.88:82";

Some files were not shown because too many files changed in this diff