licp
2024-06-06 ab6752d1199cea4f0693560031461ba0db897842
新增电缆配置,j修改任务检验附件上传bug
已修改3个文件
已添加1个文件
607 ■■■■■ 文件已修改
src/components/do/b1-ins-order/add.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/equip-config.vue 550 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-inspect-order-plan/Inspection.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/add.vue
@@ -92,7 +92,7 @@
<template>
  <div class="ins_order_add">
    <div v-show="!configShow">
    <div v-show="!configShow&&!equipConfigShow">
      <el-row class="title">
        <el-col :span="6" style="padding-left: 20px;">委托单信息&nbsp;&nbsp;&nbsp;总价:<span style="color: #3A7BFA">ï¿¥{{total}}</span></el-col>
        <el-col :span="18" style="text-align: right;">
@@ -107,8 +107,10 @@
          <el-button size="medium" @click="templateDia=true" v-show="active==1">
            <span style="color: #3A7BFA;">保存模板</span>
          </el-button>
          <el-button size="medium" type="primary" @click="openEquipConfig"
            v-if="PROJECT==='装备电缆'">电缆配置</el-button>
          <el-button size="medium" type="primary" @click="openConfig"
            v-if="this.addObj.sampleType==='光缆'">光纤配置</el-button>
            v-if="addObj.sampleType==='光缆'">光纤配置</el-button>
          <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active==1">提交</el-button>
          <!-- å®¡æ ¸ -->
          <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" v-show="active==3"
@@ -121,7 +123,7 @@
        </el-col>
      </el-row>
    </div>
    <div class="search" v-show="!configShow">
    <div class="search" v-show="!configShow&&!equipConfigShow">
      <el-row>
        <el-col class="search_thing" :span="6">
          <div class="search_label">委托编号:</div>
@@ -289,7 +291,7 @@
        </el-col>
      </el-row>
    </div>
    <div v-show="!configShow">
    <div v-show="!configShow&&!equipConfigShow">
      <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="250px" tooltip-effect="dark"
        border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;">
        <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column>
@@ -476,6 +478,8 @@
    <fiberOpticConfig :currentId="currentId"
    @saveFiberopticConfig="getTotal()"
     v-if="configShow" :active="active" />
     <equipConfig :currentId="currentId"
     v-if="equipConfigShow" :active="active"/>
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1Dia" width="500px" :show-close="false" :before-close="beforeClose">
      <div class="body" style="max-height: 60vh;">
        <el-row v-if="bsm1">
@@ -504,10 +508,12 @@
<script>
  import ValueTable from '../../tool/value-table.vue'
  import fiberOpticConfig from './fiberoptic-config.vue'
  import equipConfig from './equip-config.vue'
  export default {
    components: {
      ValueTable,
      fiberOpticConfig
      fiberOpticConfig,
      equipConfig
    },
    props: {
      active: {
@@ -638,7 +644,8 @@
        bsm1Dia: false,
        total:0,
        RTS:'',
        totalArr:[]
        totalArr:[],
        equipConfigShow: false,
      }
    },
    watch: {
@@ -1425,6 +1432,35 @@
          })
        }
      },
      openEquipConfig(){
        if (this.active === 1) {
          if (this.sampleIds.length === 0) {
            this.$message.error("未选择样品")
            return
          }
          this.equipConfigShow = true
        } else {
          if (this.sampleId === null) {
            this.$message.error('未选中样品')
            return
          }
          // this.$axios.post(this.$api.insBushing.selectBushingBySampleId, {
          //   sampleId: this.sampleId
          // }).then(res => {
          //   if (res.data.length === 0) {
          //     this.$message.error('该样品没有配置光纤')
          //     return
          //   }
          //   for (var i in this.sampleList) {
          //     if (this.sampleList[i].id = this.sampleId) {
          //       this.sampleList[i].bushing = res.data
          //       break
          //     }
          //   }
          //   this.configShow = true
          // })
        }
      },
      upBsm1(val) {
        let sections = JSON.parse(this.bsmRow.section);
        let asks = JSON.parse(this.bsmRow.ask);
src/components/do/b1-ins-order/equip-config.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,550 @@
<template>
  <div class="ins_order_config">
    <div>
      <el-row class="title">
        <el-col :span="6" style="padding-left: 20px;">电缆配置</el-col>
        <el-col :span="18" style="text-align: right;">
          <el-button size="medium" type="primary" @click="addChild" v-if="active==1">添加子样品</el-button>
          <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-if="active==1">保 å­˜</el-button>
          <el-button size="medium" @click="outConfig">
            <span style="color: #3A7BFA;">返 å›ž</span>
          </el-button>
        </el-col>
      </el-row>
    </div>
    <div class="center">
      <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="50%" tooltip-effect="dark"
        border  highlight-current-row @row-click="rowClick" style="margin-top: 10px;"
        @current-change="selectSample">
        <!-- <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column> -->
        <el-table-column type="index" label="序号" width="65" align="center"></el-table-column>
        <el-table-column prop="sample" label="样品名称" align="center" min-width="100">
          <template slot-scope="scope">
            <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1"></el-input>
          </template>
        </el-table-column>
        <el-table-column prop="sampleCode" label="样品编号" min-width="140" align="center">
          <template slot-scope="scope">
            <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="不填写则系统自动生成"
              :readonly="active>1"></el-input>
          </template>
        </el-table-column>
        <el-table-column prop="model" label="样品型号" align="center" min-width="100">
          <template slot-scope="scope">
            <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="样品型号"
              size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;">
              <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column prop="modelNum" label="型号参数" width="130" align="center" v-if="!(active>1)">
          <template slot-scope="scope">
            <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="非必填"
              @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)"
              @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
          </template>
        </el-table-column>
        <el-table-column prop="standardMethodListId" label="检验标准" align="center" min-width="100">
          <template slot-scope="scope">
            <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1"
              placeholder="检验标准" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)"
              @focus="methodFocus" :readonly="active>1" style="width: 100%;">
              <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
              </el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column prop="joinName" label="配套样品名称" width="140" align="center">
          <template slot-scope="scope">
            <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1}"
              v-model="scope.row.joinName" :disabled="active!=1"></el-input>
          </template>
        </el-table-column>
        <el-table-column prop="joinModel" label="配套样品型号" width="140" align="center">
          <template slot-scope="scope">
            <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1}"
              v-model="scope.row.joinModel" :disabled="active!=1"></el-input>
          </template>
        </el-table-column>
        <el-table-column prop="joinNum" label="配套样品数量" width="140" align="center">
          <template slot-scope="scope">
            <el-input-number size="small" v-model="scope.row.joinNum" :min="1" :max="100" :precision="0"
              :controls="false" style="width: 80%;" :disabled="active!=1"></el-input-number>
          </template>
        </el-table-column>
      </el-table>
      <el-table class="el-table" ref="productTable" :data="productList" height="50%" tooltip-effect="dark" border
        @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
        :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll">
        <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></el-table-column>
        <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip></el-table-column>
        <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140"
          show-overflow-tooltip></el-table-column>
        <el-table-column prop="sonLaboratory" label="子实验室" min-width="130" show-overflow-tooltip :filters="filters"
          :filter-method="filterHandler"></el-table-column>
        <el-table-column prop="methodS" label="试验方法" min-width="120" show-overflow-tooltip>
        </el-table-column>
        <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column>
        <el-table-column prop="price" label="单价" width="100" show-overflow-tooltip></el-table-column>
        <el-table-column prop="section" label="区间" min-width="120" show-overflow-tooltip></el-table-column>
        <el-table-column prop="ask" label="要求值" min-width="220px">
          <template slot-scope="scope">
            <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea"
              :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)"
              v-if="active==1&&isAskOnlyRead"></el-input>
            <span v-else>{{ scope.row.ask }}</span>
          </template>
        </el-table-column>
      </el-table>
    </div>
    <el-dialog title="选择子样品" :visible.sync="selectStandardTree" width="400px">
      <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree">
        <el-row style="margin-bottom: 10px;">
          <el-col :span="24">
            <label>样品数量:</label>
            <el-input-number v-model="addObj.sampleNum" :min="1" label="请输入数量" size="small"></el-input-number>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-input placeholder="输入关键字进行搜索" suffix-icon="el-icon-search" v-model="search" size="small"
              style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"
              @keyup.enter.native="searchFilter"></el-input>
          </el-col>
        </el-row>
        <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label"
          :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
          @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" @dblclick.native="activeStandardTree">
          <div class="custom-tree-node" slot-scope="{ node, data }">
            <el-row>
              <el-col :span="24">
                <span><i
                    :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
                  {{ data.code }} {{ data.label }}</span>
              </el-col>
            </el-row>
          </div>
        </el-tree>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="selectStandardTree = false">取 æ¶ˆ</el-button>
        <el-button type="primary" @click="activeStandardTree">ç¡® å®š</el-button>
      </span>
    </el-dialog>
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1Dia" width="500px" :show-close="false" :before-close="beforeClose">
      <div class="body" style="max-height: 60vh;">
        <el-row v-if="bsm1">
          <el-col class="search_thing" :span="22">
            <div class="search_label"><span class="required-span">* </span>护套密度:</div>
            <div class="search_input">
              <el-radio-group v-model="bsm1Val" @input="upBsm1">
                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a"></el-radio>
              </el-radio-group>
            </div>
          </el-col>
          <el-col class="search_thing" :span="22">
            <div class="search_label">要求值:</div>
            <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
              <el-radio-group v-model="bsm1Val" @input="upBsm1">
                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
              </el-radio-group>
            </div>
          </el-col>
        </el-row>
      </div>
    </el-dialog>
  </div>
</template>
<script>
  export default {
    props: {
      active: {
        type: Number,
        default: () => 0
      },
    },
    data(){
      return {
        saveLoad:false,
        sampleList:[],
        productList:[],
        getProductLoad:false,
        filters:[],
        sampleIds:[],
        isAskOnlyRead: false,
        selectStandardTree: false,
        search:'',
        expandedKeys:[],
        addObj:{
          sampleNum:1,
        },
        selectTree:null,
        models:[],
        sample: {
          sampleCode: null,
          laboratory: null,
          factory: null,
          sampleType: null,
          sample: null,
          model: null,
          modelNum: null,
          sampleNum: 1,
          isLeave: 0,
          unit: null
        },
        currentMethod:null,
        methods:[],
        methodLoad: false,
        sampleId:null,
        bsmRow: null,
        bsm1: false,
        bsm1Val:null,
        bsm1Dia:false,
        list:[]
      }
    },
    methods:{
      save(){},
      outConfig(){
        this.$parent.equipConfigShow = false
      },
      addChild(){
        this.selectStandardTree = true
      },
      selectSample(val){
        this.sampleIds = [val.id]
      },
      rowClick(row, column, event){
        this.currentMethod = row
        let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
        if (obj && obj.code == '委托要求') {
          this.isAskOnlyRead = true
        } else {
          this.isAskOnlyRead = false
        }
        this.sampleId = row.id
        if (this.active !== 1) {
          this.sampleIds = []
          this.sampleIds.push(row.id)
        }
        this.productList = row.insProduct
        setTimeout(() => {
          this.productList.forEach(a => {
            if (a.state == 1) this.toggleSelection(a)
          })
        }, 200)
      },
      toggleSelection(row) {
        this.$refs.productTable.toggleRowSelection(row, true);
      },
      selectable() {
        if (this.active > 1) {
          return false
        } else {
          return true
        }
      },
      handleChangeModel(e){
        let num = this.selectTree.split('-').length;
        if (num == 4) {
          this.selectTree = this.selectTree + ' - ' + e
        } else {
          let arr = this.selectTree.split('-')
          let arr0 = arr.slice(0, arr.length - 1)
          this.selectTree = arr0.join('-') + '- ' + e
        }
      },
      methodChange(val, row){
        if (val === null || val === '') return
        this.currentMethod = row
        let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
        if (obj && obj.code == '委托要求') {
          this.isAskOnlyRead = true
        } else {
          this.isAskOnlyRead = false
        }
        this.getProductLoad = true
        this.$axios.post(this.$api.standardTree.selectStandardProductList, {
          model: row.model + '-' + row.modelNum,
          standardMethodListId: val,
          factory: this.selectTree,
        }, {
          headers: {
            'Content-Type': 'application/json'
          }
        }).then(res => {
          res.data.forEach(a => {
            a.state = 0
          })
          row.insProduct = this.HaveJson(res.data)
          this.getProductLoad = false
          this.productList = row.insProduct
          this.$refs.sampleTable.setCurrentRow(row)
          setTimeout(() => {
            this.productList.forEach(a => {
              if (a.state == 1) this.toggleSelection(a)
            })
          }, 200)
        })
      },
      methodFocus() {
        this.selectsStandardMethodByFLSSM()
      },
      selectsStandardMethodByFLSSM(){
        this.methodLoad = true
        this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
          tree: this.selectTree
        }).then(res => {
          this.methodLoad = false
          try {
            if (res.data.standardMethodList.length == 0 && this.selectTree.split('-').length == 5) {
              let arr = this.selectTree.split('-')
              let arr0 = arr.slice(0, arr.length - 1)
              let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1)
              this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
                tree: selectTree
              }).then(ress => {
                this.methods = ress.data.standardMethodList
              })
            } else {
              this.methods = res.data.standardMethodList
            }
          } catch (e) {}
        })
      },
      selectProduct(val){
        this.productIds = []
        val.forEach(a => {
          this.productIds.push(a.id)
        })
      },
      upProductSelect(selection, row){
        row.state = row.state == 1 ? 0 : 1
        if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
          if(row.section.indexOf('[') > -1){
            this.bsmRow = this.HaveJson(row)
          }
          this.bsm1 = true
          this.bsm1Dia = true
        } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) {
          this.bsm1 = false
        }
        this.sampleList.map(item => {
          if (this.sampleIds.indexOf(item.id) > -1) {
            item.insProduct.map(m => {
              if (m.id == row.id) {
                m.state = row.state;
              }
              return m;
            })
          }
          return item
        })
      },
      tableRowClassName({
        row,
        rowIndex
      }) {
        if (row.state === 0) {
          return 'warning-row';
        }
        return '';
      },
      handleAll(){
        if (e.length > 0) {
          this.productList.map(m => {
            m.state = 1
            return m
          })
        } else {
          this.productList.map(m => {
            m.state = 0
            return m
          })
        }
        this.productList.forEach(p=>{
          if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
            if(p.section.indexOf('[') > -1){
              this.bsmRow = this.HaveJson(p)
            }
            this.bsm1 = true
            this.bsm1Dia = true
          } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) {
            this.bsm1 = false
          }
        })
        if (e.length > 0) {
          this.sampleList.map(item => {
            if (this.sampleIds.indexOf(item.id) > -1) {
              item.insProduct.map(m => {
                m.state = 1
                return m;
              })
            }
            return item
          })
        } else {
          this.sampleList.map(item => {
            if (this.sampleIds.indexOf(item.id) > -1) {
              item.insProduct.map(m => {
                m.state = 0
                return m;
              })
            }
            return item
          })
        }
        this.$nextTick(() => {
          this.$refs.productTable.doLayout()
        })
      },
      filterHandler(value, row, column) {
        const property = column['property'];
        return row[property] === value;
      },
      requestChange(e, row) {
        this.sampleList.map(item => {
          if (this.sampleIds.indexOf(item.id) > -1) {
            item.insProduct.map(m => {
              if (m.id == row.id) {
                m.ask = e;
              }
              return m;
            })
          }
          return item
        })
      },
      activeStandardTree() {
        let trees = this.selectTree.split(" - ")
        if (trees.length < 4) {
          this.$message.error('未选择子产品')
          return
        }
        this.addObj.factory = trees[0]
        this.addObj.laboratory = trees[1]
        this.addObj.sampleType = trees[2]
        this.addObj.sample = trees[3]
        this.addObj.model = (trees[4] == undefined ? null : trees[4])
        this.selectStandardTree = false
        this.sampleList = []
        for (var i = 0; i < this.addObj.sampleNum; i++) {
          this.sample.joinName = null
          this.sample.joinModel = null
          this.sample.joinNum = 1
          this.sample.sample = this.addObj.sample
          this.sample.model = this.addObj.model
          this.sample.unit = this.addObj.unit
          this.sample.standardMethodListId = null
          this.sample.insProduct = []
          this.sample.id = this.count
          this.sampleList.push(this.HaveJson(this.sample))
          this.count++
        }
        this.$refs.sampleTable.doLayout()
      },
      searchFilter() {
        this.$refs.tree.filter(this.search)
      },
      filterNode(value, data) {
        if (!value) return true;
        return data.label.indexOf(value) !== -1;
      },
      handleNodeClick(val, node, el){
        this.selectTree = ''
        this.models = val.children
        this.getNodeParent(node)
        this.selectTree = this.selectTree.replace(' - ', '')
        let data = this.selectTree.split(' - ')
        let data2 = ''
        for (let index = data.length - 1; index >= 0; index--) {
          data2 += " - " + data[index]
        }
        this.selectTree = data2.replace(' - ', '')
      },
      getNodeParent(val) {
        if (val.parent != null) {
          this.selectTree += ' - ' + val.label
          this.getNodeParent(val.parent)
        }
      },
      nodeOpen(data, node, el) {
        $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
      },
      nodeClose(data, node, el) {
        $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
      },
      beforeClose(done){
        if(this.bsm1){
          if(this.bsm1Val===null || this.bsm1Val === ''){
            this.$message.error('特殊项目必须处理')
            return
          }
        }
        done()
      },
      upBsm1(val) {
        let sections = JSON.parse(this.bsmRow.section);
        let asks = JSON.parse(this.bsmRow.ask);
        let tells = JSON.parse(this.bsmRow.tell);
        let manHours = JSON.parse(this.bsmRow.manHour);
        let prices = JSON.parse(this.bsmRow.price);
        for (var a in sections) {
          if(val === sections[a]){
            this.productList.forEach(p=>{
              if(p.id === this.bsmRow.id){
                p.section = sections[a]
                p.ask = asks[a]
                p.tell = tells[a]
                p.manHour = manHours[a]
                p.price = prices[a]
              }
            })
            break
          }
        }
      },
    }
  }
</script>
<style scoped>
  .ins_order_config {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
  }
  .ins_order_config::-webkit-scrollbar {
    width: 0;
  }
  .title {
    height: 60px;
    line-height: 60px;
  }
  .center {
    width: 100%;
    height: calc(100% - 70px);
  }
  >>>.all-disabled .el-checkbox__input .el-checkbox__inner {
    background-color: #edf2fc;
    border-color: #dcdfe6;
    cursor: not-allowed;
  }
  .node_i {
    color: orange;
    font-size: 18px;
  }
  .el-select-dropdown__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
</style>
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -360,7 +360,7 @@
      :on-success="handleSuccessUp" :show-file-list="false"
        accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' :headers="headers" :on-change="beforeUpload"
        :on-error="onError" ref='upload'>
        <el-button size="small" type="primary" :loading="upLoading">附件上传</el-button></el-upload>
        <el-button size="small" type="primary">附件上传</el-button></el-upload>
      <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList"
        :componentData="componentData0"
        :delUrl="$api.insOrderPlan.delfile"
@@ -516,7 +516,6 @@
          isIndex: true,
          showSelect: false,
          select: false,
          selectMethod: '',
          sort: false,
          init:false,
          do: [
@@ -1780,10 +1779,10 @@
          if (res.code === 200) {
            let url = '';
            if(res.data.type==1){
              url = this.javaApi+'/img/'+res.data.url
              url = this.javaApi+'/img/'+res.data.fileUrl
              file.downloadIamge(url,row.fileName)
            }else{
              url = this.javaApi+'/word/'+res.data.url
              url = this.javaApi+'/word/'+res.data.fileUrl
              const link = document.createElement('a');
              link.href = url;
              link.download = row.fileName;
src/main.js
@@ -11,6 +11,8 @@
import api from './assets/api/controller.js'
import swal from 'sweetalert'
// é¡¹ç›®åˆ‡æ¢
Vue.prototype.PROJECT = '检测中心' //项目名称:检测中心、装备电缆
//本地
Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80";
const javaApi = 'http://192.168.11.200:8001';//李