admin
2024-10-15 6d313a4a6f9f9d7ea65ec50ab0d4491e595edb97
jcdm-ui/src/views/main/om/productionOrde/index.vue
@@ -10,24 +10,59 @@
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="产品名称" prop="productName">
      <el-form-item label="产品编码" prop="productCode">
        <el-input
          v-model="queryParams.productName"
          placeholder="请输入产品名称"
          v-model="queryParams.productCode"
          placeholder="请输入产品编码"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="工单状态" prop="orderStatus">
        <el-select v-model="queryParams.orderStatus" placeholder="请选择工单状态" clearable>
      <el-form-item label-width="80" label="PACK码" prop="productNum">
        <el-input
          v-model="queryParams.productNum"
          placeholder="请输入PACK码"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="小车码" prop="trolleyYard">
        <el-input
          v-model="queryParams.trolleyYard"
          placeholder="请输入小车码"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label-width="1" label="上线报工状态" prop="onlineCompletionMark">
        <el-select v-model="queryParams.onlineCompletionMark" placeholder="请选择上线报工状态" clearable>
          <el-option
            v-for="dict in dict.type.order_state"
            v-for="dict in dict.type.work_reporting_status"
            :key="dict.value"
            :label="dict.label"
            :value="dict.value"
          />
        </el-select>
      </el-form-item>
      <el-form-item label-width="1" label="下线报工状态" prop="sfResult">
        <el-select v-model="queryParams.sfResult" placeholder="请选择下线报工状态" clearable>
          <el-option
            v-for="dict in dict.type.work_reporting_status"
            :key="dict.value"
            :label="dict.label"
            :value="dict.value"
          />
        </el-select>
      </el-form-item>
      <div style="display: none">
        <div id="printMe" style="width: 500px;">
          <div ref="canvasWrapper" id="canvasWrapper" style="display: flex;justify-content: center;"></div>
          <p style="font-size: 10px;word-break: break-all;display: flex;justify-content: center;">{{packCode}}</p>
        </div>
        <el-button @click="print">打印</el-button>
        <el-button @click="test1">生成二维码</el-button>
      </div>
      <el-form-item style="float: right">
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">高级查询</el-button>
@@ -72,38 +107,44 @@
    <el-card style="margin-top: 10px" class="box-card">
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['om:productionOrde:add']"
        >新增</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="success"
          plain
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['om:productionOrde:edit']"
        >修改</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="danger"
          plain
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['om:productionOrde:remove']"
        >删除</el-button>
      </el-col>
<!--      <el-col :span="1.5">-->
<!--        <el-button-->
<!--          type="primary"-->
<!--          plain-->
<!--          icon="el-icon-plus"-->
<!--          size="mini"-->
<!--          @click="handleAdd"-->
<!--          v-hasPermi="['om:productionOrde:add']"-->
<!--        >新增</el-button>-->
<!--      </el-col>-->
<!--      <el-col :span="1.5">-->
<!--        <el-button-->
<!--          type="success"-->
<!--          plain-->
<!--          icon="el-icon-edit"-->
<!--          size="mini"-->
<!--          :disabled="single"-->
<!--          @click="handleUpdate"-->
<!--          v-hasPermi="['om:productionOrde:edit']"-->
<!--        >修改</el-button>-->
<!--      </el-col>-->
<!--      <el-col :span="1.5">-->
<!--&lt;!&ndash;        <el-button&ndash;&gt;-->
<!--&lt;!&ndash;          type="danger"&ndash;&gt;-->
<!--&lt;!&ndash;          plain&ndash;&gt;-->
<!--&lt;!&ndash;          icon="el-icon-delete"&ndash;&gt;-->
<!--&lt;!&ndash;          size="mini"&ndash;&gt;-->
<!--&lt;!&ndash;          :disabled="multiple"&ndash;&gt;-->
<!--&lt;!&ndash;          @click="handleDelete"&ndash;&gt;-->
<!--&lt;!&ndash;          v-hasPermi="['om:productionOrde:remove']"&ndash;&gt;-->
<!--&lt;!&ndash;        >删除</el-button>&ndash;&gt;-->
<!--        <el-button-->
<!--          type="info"-->
<!--          icon="el-icon-upload2"-->
<!--          size="mini"-->
<!--          @click="handleImport"-->
<!--        >导入</el-button>-->
<!--      </el-col>-->
<!--      <el-col :span="1.5">-->
<!--        <el-button-->
<!--          type="warning"-->
@@ -114,99 +155,109 @@
<!--          v-hasPermi="['om:productionOrde:export']"-->
<!--        >导出</el-button>-->
<!--      </el-col>-->
<!--      <el-col :span="1.5">-->
<!--        <el-button-->
<!--          type="warning"-->
<!--          plain-->
<!--          icon="el-icon-upload2"-->
<!--          :disabled="move"-->
<!--          size="mini"-->
<!--          @click="moveUp(val => val, 'up')"-->
<!--        >上移</el-button>-->
<!--      </el-col>-->
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="getWorkOrders"
        >接收</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          :disabled="single"
          @click="patchwork"
        >补打</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          :disabled="onlineSingle"
          @click="onlineWorkReporting"
        >上线报工</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          :disabled="offlineSingle"
          @click="offlineWorkReporting"
        >下线报工</el-button>
      </el-col>
<!--      <el-col :span="1.5">-->
<!--        <el-button-->
<!--          type="warning"-->
<!--          plain-->
<!--          icon="el-icon-download"-->
<!--          size="mini"-->
<!--          :disabled="move"-->
<!--          @click="moveUp(val => val, 'down')"-->
<!--        >下移</el-button>-->
<!--          :disabled="single"-->
<!--          @click="jieBang"-->
<!--        >解绑</el-button>-->
<!--      </el-col>-->
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
      <el-table border v-loading="loading" :data="productionOrdeList" @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column label="生产工单号" width="160" align="center">
          <template slot-scope="scope">
            <router-link :to="{path: '/main/workReport-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type">
              <span>{{ scope.row.workOrderNo }}</span>
            </router-link>
          </template>
<!--        <el-table-column label="生产工单号" width="160" align="center">-->
<!--          <template slot-scope="scope">-->
<!--            <router-link :to="{path: '/main/workReport-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type">-->
<!--              <span>{{ scope.row.workOrderNo }}</span>-->
<!--            </router-link>-->
<!--          </template>-->
<!--        </el-table-column>-->
        <el-table-column label="生产工单号" width="160" align="center" prop="workOrderNo">
        </el-table-column>
        <el-table-column label="订单编号" width="140" align="center" prop="salesOrderCode">
<!--        <el-table-column label="订单编号" width="140" align="center" prop="salesOrderCode">-->
<!--        </el-table-column>-->
        <el-table-column :show-overflow-tooltip='true' label="pack码" width="220" align="center" prop="productNum">
        </el-table-column>
        <el-table-column label="产品序列号" width="110" align="center" prop="productCode">
        <el-table-column :show-overflow-tooltip='true' label="小车码" width="160" align="center" prop="trolleyYard">
        </el-table-column>
        <el-table-column label="产品型号" width="110" align="center" prop="productCode">
        </el-table-column>
        <el-table-column label="产品名称" width="120" align="center" prop="productName">
        </el-table-column>
        <el-table-column label="工单状态" width="100" align="center" prop="orderStatus">
        <el-table-column label="上线是否报工" align="center" width="120">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/>
           <dict-tag :options="dict.type.work_reporting_status" :value="scope.row.onlineCompletionMark"/>
          </template>
        </el-table-column>
        <el-table-column label="工厂编号" align="center" prop="siteCode">
        </el-table-column>
        <el-table-column label="工站编号" align="center" prop="stationCode">
        </el-table-column>
        <el-table-column label="报工信息结果" width="110" align="center" prop="resultText">
        </el-table-column>
        <el-table-column label="报工结果代码" width="110" align="center" prop="resultCode">
        </el-table-column>
        <el-table-column label="是否报工" width="80" align="center" prop="sfResult">
        </el-table-column>
        <el-table-column label="实际开始时间" width="160" align="center" prop="actualStartTime">
        </el-table-column>
        <el-table-column label="当前站点报工时间" width="160" align="center" prop="actualEndTime">
        <el-table-column label="下线是否报工" width="120" align="center">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.work_reporting_status" :value="scope.row.sfResult"/>
          </template>
        </el-table-column>
        <el-table-column label="创建人" width="80" align="center" prop="createUser">
        </el-table-column>
        <el-table-column label="备注" width="100" align="center" prop="remarks">
        </el-table-column>
<!--        <el-table-column label="流水号" align="center" prop="streamNumber">-->
<!--        </el-table-column>-->
<!--        <el-table-column label="客户" width="80" align="center" prop="custom">-->
<!--        </el-table-column>-->
<!--        <el-table-column fixed="right" width="350" label="操作" align="center" class-name="small-padding fixed-width">-->
<!--        <el-table-column width="240" fixed="right" label="操作" align="center" class-name="small-padding fixed-width">-->
<!--          <template slot-scope="scope">-->
<!--            &lt;!&ndash;  工单状态(1创建、2已发布、3生产中、4已冻结、5已完工、6已关闭) &ndash;&gt;-->
<!--            <el-button type="success" :disabled="scope.row.orderStatus !== '1'"  style="width: 72px" plain @click="handleCommand('3',scope.row.id)" size="mini">开始</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '2' && scope.row.orderStatus !== '3'" v-if="scope.row.orderStatus !== '2'&&  scope.row.orderStatus !== '4'" plain @click="handleCommand('4',scope.row.id)" type="warning" size="mini">冻结</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '4'" v-if="scope.row.orderStatus === '4'" plain @click="handleCommand('3',scope.row.id)" type="warning" size="mini">解冻</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '1'" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '1'||scope.row.orderStatus === '3'||scope.row.orderStatus === '4'||scope.row.orderStatus === '5'" type="danger" size="mini">关闭</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button>-->
<!--&lt;!&ndash;            <el-button&ndash;&gt;-->
<!--&lt;!&ndash;              :disabled="scope.row.orderStatus !== '1'"&ndash;&gt;-->
<!--&lt;!&ndash;              size="mini"&ndash;&gt;-->
<!--&lt;!&ndash;              type="success"&ndash;&gt;-->
<!--&lt;!&ndash;              style="width: 72px"&ndash;&gt;-->
<!--&lt;!&ndash;              icon="el-icon-edit"&ndash;&gt;-->
<!--&lt;!&ndash;              @click="handleUpdate(scope.row)"&ndash;&gt;-->
<!--&lt;!&ndash;              v-hasPermi="['om:productionOrde:edit']"&ndash;&gt;-->
<!--&lt;!&ndash;            >修改</el-button>&ndash;&gt;-->
<!--&lt;!&ndash;            <el-button&ndash;&gt;-->
<!--&lt;!&ndash;              :disabled="scope.row.orderStatus !== '1'"&ndash;&gt;-->
<!--&lt;!&ndash;              size="mini"&ndash;&gt;-->
<!--&lt;!&ndash;              type="warning"&ndash;&gt;-->
<!--&lt;!&ndash;              style="width: 72px"&ndash;&gt;-->
<!--&lt;!&ndash;              icon="el-icon-delete"&ndash;&gt;-->
<!--&lt;!&ndash;              @click="handleDelete(scope.row)"&ndash;&gt;-->
<!--&lt;!&ndash;              v-hasPermi="['om:productionOrde:remove']"&ndash;&gt;-->
<!--&lt;!&ndash;            >删除</el-button>&ndash;&gt;-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '4'||scope.row.orderStatus === '6'" v-if="scope.row.orderStatus !== '5'" @click="handleCommand('5',scope.row.id)" type="success" size="mini">完成</el-button>-->
<!--            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '5'" v-if="scope.row.orderStatus === '5'" type="success" size="mini">已完工</el-button>            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">启用</el-button>-->
<!--            <el-button-->
<!--              size="mini"-->
<!--              type="success"-->
<!--              plain-->
<!--              style="width: 72px"-->
<!--              @click="onlineWorkReporting(scope.row)"-->
<!--              :disabled="isEditDisabled(scope.row.onlineCompletionMark)"-->
<!--            >上线报工</el-button>-->
<!--            <el-button-->
<!--              size="mini"-->
<!--              plain-->
<!--              style="width: 72px"-->
<!--              type="danger"-->
<!--              @click="offlineWorkReporting(scope.row)"-->
<!--              :disabled="isEditDisabled(scope.row.sfResult)"-->
<!--            >下线报工</el-button>-->
<!--          </template>-->
<!--        </el-table-column>-->
      </el-table>
@@ -243,6 +294,9 @@
        <el-form-item label="产品名称" prop="productName">
          <el-input style="width: 265px" v-model="form.productName" disabled placeholder="请输入产品名称" />
        </el-form-item>
        <el-form-item label="产品型号" prop="productModel">
          <el-input v-model="form.productModel" placeholder="请输入产品型号" />
        </el-form-item>
        <el-form-item label="工厂编号" prop="siteCode">
          <el-input style="width: 265px" v-model="form.siteCode" placeholder="请输入工厂编号" />
        </el-form-item>
@@ -260,25 +314,69 @@
      </div>
    </el-dialog>
    <!-- 用户导入对话框 -->
    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px">
      <el-upload
        ref="upload"
        :limit="1"
        accept=".xlsx, .xls"
        :headers="upload.headers"
        :action="upload.url + '?updateSupport=' + upload.updateSupport"
        :disabled="upload.isUploading"
        :on-progress="handleFileUploadProgress"
        :on-success="handleFileSuccess"
        :auto-upload="false"
        drag
      >
        <i class="el-icon-upload"></i>
        <div class="el-upload__text">
          将文件拖到此处,或
          <em>点击上传</em>
        </div>
        <div class="el-upload__tip" slot="tip">
          <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
          <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
        </div>
        <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
      </el-upload>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitFileForm">确 定</el-button>
        <el-button @click="upload.open = false">取 消</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import { getToken } from "@/utils/auth";
import { listLineInfo } from "@/api/main/bs/lineInfo/lineInfo";
import { listWorkshop } from "@/api/main/bs/workshop/workshop";
import { listProductBom } from "@/api/main/bs/ProductBom/ProductBom";
import {getProductBom, listProductBom} from "@/api/main/bs/ProductBom/ProductBom";
import { listTechnologyRoute} from "@/api/main/bs/technologyRoute/technologyRoute";
import ItemSelect  from "@/components/itemSelect/single.vue";
import { upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde";
import {
  importTemplate,
  upDownMove,
  listProductionOrde,
  getProductionOrde,
  delProductionOrde,
  addProductionOrde,
  updateProductionOrde,
  receivingWorkOrders, jieBang, workReportingByStation
} from "@/api/main/om/productionOrde/productionOrde";
import QRCode from "qrcodejs2";
export default {
  name: "ProductionOrde",
  dicts: ['order_state'],
  dicts: ['order_state','work_reporting_status'],
  components: {
    ItemSelect ,
  },
  data() {
    return {
      // packCode: '0RSPB001139E3AE4X0000011',
      packCode: 'test111',
      titleName: '',
      options: [],
      lineOptions: [],
@@ -293,6 +391,8 @@
      ids: [],
      // 非单个禁用
      single: true,
      onlineSingle: true,
      offlineSingle: true,
      // 非多个禁用
      multiple: true,
      move: true,
@@ -328,12 +428,14 @@
        frontEndId: 0,
        idNums: null,
        flag: null,
      siteCode: null,
      productNum: null,
      stationCode: null,
      resultText: null,
      resultCode: null,
      sfResult: null
        siteCode: null,
        productNum: null,
        stationCode: null,
        resultText: null,
        resultCode: null,
        sfResult: null,
        productModel: null
      },
      // 表单参数
      form: {},
@@ -346,26 +448,133 @@
        id: [
          { required: true, message: "ID不能为空", trigger: "blur" }
        ],
      }
      },
      // 用户导入参数
      upload: {
        // 是否显示弹出层(用户导入)
        open: false,
        // 弹出层标题(用户导入)
        title: "",
        // 是否禁用上传
        isUploading: false,
        // 是否更新已经存在的用户数据
        updateSupport: 0,
        // 设置上传的请求头部
        headers: { Authorization: "Bearer " + getToken() },
        // 上传的地址
        url: process.env.VUE_APP_BASE_API + "/om/productionOrde/importData"
      },
    };
  },
  created() {
    this.getList();
    this.initWorkshop();
  },
  mounted() {
    this.test1()
  },
  methods: {
    moveUp(row, val){
      console.log(val)
      const ids = row.id || this.ids
      let str = JSON.stringify(ids);
      let num = BigInt(str.replace(/[\[\]]/g, ''));
      this.queryParams.frontEndId = num
      this.queryParams.idNums = ids
      this.queryParams.flag = val
      upDownMove(this.queryParams).then(response => {
        this.$modal.msgSuccess("移动成功");
        this.getList();
    onlineWorkReporting(row){
      const id = row.id || this.ids
      const stationCode = "POP230"
      workReportingByStation(id,stationCode).then(response => {
        this.getList()
      });
    },
    offlineWorkReporting(row){
      const id = row.id || this.ids
      const stationCode = "POP430"
      workReportingByStation(id,stationCode).then(response => {
        this.getList()
      });
    },
    jieBang(row){
      const id = row.id || this.ids
      jieBang(id).then(response => {
        this.getList()
        this.$modal.msgSuccess("解绑成功");
      });
    },
    patchwork(row){
      const id = row.id || this.ids
      getProductionOrde(id).then(response => {
        console.log(response.data)
        this.packCode = response.data.productNum
        console.log(this.packCode)
        this.test1()
        setTimeout(() => {
          this.print()
        },50)
      });
    },
    async getWorkOrders(){
      await receivingWorkOrders().then(response => {
        this.getList()
        this.packCode = response.msg;
        this.test1()
      });
      setTimeout(() => {
        this.print()
      },50)
    },
     print() {
      // 本页面直接打印(有bug单岁先不要删)
      // let oldStr = window.document.body.innerHTML;
      // let newStr = document.getElementById('printMe').innerHTML;
      // document.body.innerHTML = newStr;
      // window.print();
      // document.body.innerHTML = oldStr;
      // return false;
      // 新开页面打印
      //  document.getElementById('canvasWrapper').innerHTML = '';
      let newStr = document.getElementById('printMe').innerHTML;
      let newWin = window.open('', '_blank');
      newWin.document.body.innerHTML = newStr;
      newWin.print();
      return false;
    },
    test1(){
      document.getElementById('canvasWrapper').innerHTML = ''
      this.$nextTick(() => {
        let qrCode = new QRCode('canvasWrapper',{
          width: 80,
          height: 80,
          padding: 0,
          margin: 0,
          text: this.packCode,
          colorDark: '#000',
          colorLight: '#fff'
        })
      })
      // console.log(this.packCode)
      // this.print()
    },
    /** 导入按钮操作 */
    handleImport() {
      this.upload.title = "订单信息导入";
      this.upload.open = true;
    },
    /** 下载模板操作 */
    importTemplate() {
      this.download('om/productionOrde/importTemplate', {
      }, `productionOrde_template_${new Date().getTime()}.xlsx`)
    },
// 文件上传中处理
    handleFileUploadProgress(event, file, fileList) {
      this.upload.isUploading = true;
    },
// 文件上传成功处理
    handleFileSuccess(response, file, fileList) {
      this.upload.open = false;
      this.upload.isUploading = false;
      this.$refs.upload.clearFiles();
      this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
      this.getList();
    },
// 提交上传文件
    submitFileForm() {
      this.$refs.upload.submit();
    },
    initWorkshop(){
      listWorkshop(this.queryParams).then(response => {
@@ -464,7 +673,7 @@
        marketAreaCode: null,
        softwareVersionCode: null,
        productCompanyCode: null,
        spareField1: null,
        trolleyYard: null,
        spareField2: null,
        spareField3: null,
        spareField4: null,
@@ -488,19 +697,44 @@
      this.handleQuery();
    },
    // 多选框选中数据
    // handleSelectionChange(selection) {
    //   this.ids = selection.map(item => item.id)
    //   this.move = selection.length!==1
    //   if(!selection.length){
    //     this.single = true
    //     this.multiple = true
    //   }else {
    //     if(selection[0].orderStatus === '1' && selection.length === 1){
    //       this.single = false
    //       this.multiple = false
    //     }
    //   }
    //
    // },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id)
      this.move = selection.length!==1
      if(!selection.length){
        this.single = true
        this.multiple = true
      }else {
        if(selection[0].orderStatus === '1' && selection.length === 1){
          this.single = false
          this.multiple = false
      this.single = selection.length!==1
      this.multiple = !selection.length
      this.onlineSingle = selection.length!==1
      this.offlineSingle = selection.length!==1
      if(selection.length === 0){
        this.onlineSingle = true
        this.offlineSingle = true
      }
      if(selection.length === 1){
        if(selection[0].onlineCompletionMark === '2'){
          this.onlineSingle = false
        }else {
          this.onlineSingle = true
        }
        if(selection[0].sfResult === '2'){
          this.offlineSingle = false
        }else {
          this.offlineSingle = true
        }
      }
    },
    /** 新增按钮操作 */
    handleAdd() {