刘湘琪 2 éve%!(EXTRA string=óta)
szülő
commit
b3014df4d5

+ 10 - 0
src/api/common/common.js

@@ -39,3 +39,13 @@ export function downloadEnclosureByIdApi(ids) {
     responseType: 'blob'
   })
 }
+//校验统一社会信用代码
+export function validLicenseApi(license) {
+  return request({
+    url: `/valid/checkLicense/${license}`,
+    headers: {
+      isToken: false
+    },
+    method: 'get',
+  })
+}

+ 4 - 2
src/main.js

@@ -36,7 +36,9 @@ import DictTag from '@/components/DictTag'
 // 头部标签组件
 import VueMeta from 'vue-meta'
 // 字典数据组件
-import DictData from '@/components/DictData'
+import DictData from '@/components/DictData'
+//打印
+import Print from 'vue-print-nb'
 
 // 全局方法挂载
 Vue.prototype.getDicts = getDicts
@@ -81,7 +83,7 @@ Vue.use(directive)
 Vue.use(plugins)
 Vue.use(VueMeta)
 DictData.install()
-
+Vue.use(Print)
 /**
  * If you don't want to use mock-server
  * you want to use MockJs for mock api

+ 143 - 0
src/plugins/lodopFuncs.js

@@ -0,0 +1,143 @@
+var CreatedOKLodop7766 = null, CLodopIsLocal;
+ 
+//====判断是否需要 Web打印服务CLodop:===
+//===(不支持插件的浏览器版本需要用它)===
+export function needCLodop() {
+    try {
+        var ua = navigator.userAgent;
+        if (ua.match(/Windows\sPhone/i))
+            return true;
+        if (ua.match(/iPhone|iPod|iPad/i))
+            return true;
+        if (ua.match(/Android/i))
+            return true;
+        if (ua.match(/Edge\D?\d+/i))
+            return true;
+ 
+        var verTrident = ua.match(/Trident\D?\d+/i);
+        var verIE = ua.match(/MSIE\D?\d+/i);
+        var verOPR = ua.match(/OPR\D?\d+/i);
+        var verFF = ua.match(/Firefox\D?\d+/i);
+        var x64 = ua.match(/x64/i);
+        if ((!verTrident) && (!verIE) && (x64))
+            return true;
+        else if (verFF) {
+            verFF = verFF[0].match(/\d+/);
+            if ((verFF[0] >= 41) || (x64))
+                return true;
+        } else if (verOPR) {
+            verOPR = verOPR[0].match(/\d+/);
+            if (verOPR[0] >= 32)
+                return true;
+        } else if ((!verTrident) && (!verIE)) {
+            var verChrome = ua.match(/Chrome\D?\d+/i);
+            if (verChrome) {
+                verChrome = verChrome[0].match(/\d+/);
+                if (verChrome[0] >= 41)
+                    return true;
+            }
+        }
+        return false;
+    } catch (err) {
+        return true;
+    }
+}
+ 
+//====页面引用CLodop云打印必须的JS文件,用双端口(8000和18000)避免其中某个被占用:====
+if (needCLodop()) {
+    var src1 = "http://localhost:8000/CLodopfuncs.js?priority=1";
+    var src2 = "http://localhost:18000/CLodopfuncs.js?priority=0";
+ 
+    var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
+    var oscript = document.createElement("script");
+    oscript.src = src1;
+    head.insertBefore(oscript, head.firstChild);
+    oscript = document.createElement("script");
+    oscript.src = src2;
+    head.insertBefore(oscript, head.firstChild);
+    CLodopIsLocal = !!((src1 + src2).match(/\/\/localho|\/\/127.0.0./i));
+}
+ 
+//====获取LODOP对象的主过程:====
+export function getLodop(oOBJECT, oEMBED) {
+    var strHtmInstall = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop32.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
+    var strHtmUpdate = "<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop32.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
+    var strHtm64_Install = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop64.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
+    var strHtm64_Update = "<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop64.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
+    var strHtmFireFox = "<br><br><font color='#FF00FF'>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>";
+    var strHtmChrome = "<br><br><font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>";
+    var strCLodopInstall_1 = "<br><font color='#FF00FF'>Web打印服务CLodop未安装启动,点击这里<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>下载执行安装</a>";
+    var strCLodopInstall_2 = "<br>(若此前已安装过,可<a href='CLodop.protocol:setup' target='_self'>点这里直接再次启动</a>)";
+    var strCLodopInstall_3 = ",成功后请刷新本页面。</font>";
+    var strCLodopUpdate = "<br><font color='#FF00FF'>Web打印服务CLodop需升级!点击这里<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>执行升级</a>,升级后请刷新页面。</font>";
+    var LODOP;
+    try {
+        var ua = navigator.userAgent;
+        var isIE = !!(ua.match(/MSIE/i)) || !!(ua.match(/Trident/i));
+        if (needCLodop()) {
+            try {
+                LODOP = getCLodop();
+            } catch (err) {}
+            if (!LODOP && document.readyState !== "complete") {
+                alert("网页还没下载完毕,请稍等一下再操作.");
+                return;
+            }
+            if (!LODOP) {
+                //document.body.innerHTML = strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3 + document.body.innerHTML;                
+                return;
+            } else {
+                if (CLODOP.CVERSION < "3.0.8.3") {
+                    document.body.innerHTML = strCLodopUpdate + document.body.innerHTML;
+                }
+                if (oEMBED && oEMBED.parentNode)
+                    oEMBED.parentNode.removeChild(oEMBED);
+                if (oOBJECT && oOBJECT.parentNode)
+                    oOBJECT.parentNode.removeChild(oOBJECT);
+            }
+        } else {
+            var is64IE = isIE && !!(ua.match(/x64/i));
+            //=====如果页面有Lodop就直接使用,没有则新建:==========
+            if (oOBJECT || oEMBED) {
+                if (isIE)
+                    LODOP = oOBJECT;
+                else
+                    LODOP = oEMBED;
+            } else if (!CreatedOKLodop7766) {
+                LODOP = document.createElement("object");
+                LODOP.setAttribute("width", 0);
+                LODOP.setAttribute("height", 0);
+                LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;");
+                if (isIE)
+                    LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
+                else
+                    LODOP.setAttribute("type", "application/x-print-lodop");
+                document.documentElement.appendChild(LODOP);
+                CreatedOKLodop7766 = LODOP;
+            } else
+                LODOP = CreatedOKLodop7766;
+            //=====Lodop插件未安装时提示下载地址:==========
+            if ((!LODOP) || (!LODOP.VERSION)) {
+                if (ua.indexOf('Chrome') >= 0)
+                    document.body.innerHTML = strHtmChrome + document.body.innerHTML;
+                if (ua.indexOf('Firefox') >= 0)
+                    document.body.innerHTML = strHtmFireFox + document.body.innerHTML;
+                document.body.innerHTML = (is64IE ? strHtm64_Install : strHtmInstall) + document.body.innerHTML;
+                return LODOP;
+            }
+        }
+        if (LODOP.VERSION < "6.2.2.6") {
+            if (!needCLodop())
+                document.body.innerHTML = (is64IE ? strHtm64_Update : strHtmUpdate) + document.body.innerHTML;
+        }
+        //===如下空白位置适合调用统一功能(如注册语句、语言选择等):==
+ 
+ 	// 添加注册码,打印就不会出现 “本页由lodop试用版输出 ”    
+    // LODOP.SET_LICENSES("","XXXXX","XXXX","");
+ 
+    //=======================================================
+        return LODOP;
+    } catch (err) {
+        alert("getLodop出错:" + err);
+    }
+}
+ 

+ 22 - 8
src/views/common/registerFirst.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="register">
     <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form" label-width="190px">
-      <h3 class="title">企业注册</h3>
-      <el-collapse v-model="activeNames">
+      <h3 class="title">注册信息</h3>
+      <el-collapse v-model="activeName">
         <template v-if="tokenVisile">
           <el-collapse-item title="账户信息" name="1">
             <el-row :gutter="40">
@@ -67,7 +67,7 @@
             </el-col>
             <el-col :span="12">
               <el-form-item label="统一社会信用代码" prop="license">
-                <el-input type="text"
+                <el-input type="text" @change="validLicense"
                   v-model="registerForm.license"
                   placeholder="请输入统一社会信用代码">
                 </el-input>
@@ -352,7 +352,7 @@
 <script>
 
 import { getCodeImg, registerEntApi,getEntUserById,entUserAudit,enterUserNoToken,getEnclosureApi,deleteEnclosureApi } from "@/api/login";
-import {getProvinceDataApi,getRegionChildrenApi} from "@/api/common/common"
+import {getProvinceDataApi,getRegionChildrenApi,validLicenseApi} from "@/api/common/common"
 import { regTypeOptions,mainProductsOptions,yesOrNoOptions } from "@/utils/dataFormat"
 import FileUpload from '@/components/FileUpload'
 import ImageUpload from '@/components/ImageUpload'
@@ -383,7 +383,7 @@ export default {
       },
       dialogVisible: false,
       dialogImageUrl: "",
-      activeNames: ['1','2','3','4','5','6','7','8','9','10','11'],
+      activeName: '1',
       provinceName: '',
       attachType: 'ENT',
       dataId: '',
@@ -567,6 +567,14 @@ export default {
     }
   },
   methods: {
+    validLicense(val) {
+      validLicenseApi(val).then(res => {
+        // true存在
+        if(res.data) {
+          this.$message.error('统一社会信用代码已经存在,不可以重复注册');
+        }
+      })
+    },
     getEnclosureData() {
       getEnclosureApi(this.token,this.attachType, this.dataId).then(res => {
         this.list = res.data.records
@@ -708,7 +716,14 @@ export default {
       this.$router.go(-1);
     },
     handleRegister() {
-      this.registerForm.mainProducts = this.registerForm.mainProductArray.join(',')
+      this.registerForm.mainProducts = this.registerForm.mainProductArray.join(',')
+      validLicenseApi(this.registerForm.license).then(res => {
+        // true存在
+        if(res.data) {
+          this.$message.error('统一社会信用代码已经存在,不可以重复注册');
+          return
+        }   
+      })
       this.$refs.registerForm.validate(valid => {
         if (valid) {
           this.loading = true;
@@ -767,8 +782,7 @@ export default {
 .title {
   margin: 0px auto 30px auto;
   text-align: center;
-  color: #707070;
-  font-weight: bold;
+  color: #707070;
 }
 
 .register-form {

+ 97 - 27
src/views/enterprise/declare/components/EnclosureInfo.vue

@@ -3,31 +3,37 @@
     <h3 class="toolbar">
       <div class="tool">
         <el-button type="primary" plain icon="el-icon-download" size="mini" @click="handleDownloadBatch">批量下载</el-button>
-        <el-button type="primary" plain icon="el-icon-download" size="mini" @click="handlePrint">一键打印</el-button>
+        <el-button type="primary" plain icon="el-icon-download" size="mini" v-print="'print'">一键打印</el-button>
+        <!-- <button v-print="'#printArea'"></button> -->
       </div>
     </h3>
-    <el-table v-loading="loading" :data="list" border @selection-change="handleSelectionChange" style="width: 100%" @select-all="selectAll">
-      <el-table-column type="selection" width="55"></el-table-column>
-      <el-table-column label="序号" type="index" width="50" align="center"></el-table-column>
-      <el-table-column label="文件名称" prop="fileName" align="center"></el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="text" @click="handleView(scope.row)">查看</el-button>
-          <el-button type="text" @click="handleDownload(scope.row)">下载</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"/>
+    <div id="printArea">
+      <el-table v-loading="loading" :data="list" border @selection-change="handleSelectionChange" style="width: 100%" width="100%">
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column label="序号" type="index" width="50" align="center"></el-table-column>
+        <el-table-column label="文件名称" prop="fileName" align="center"></el-table-column>
+        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button type="text" @click="handleView(scope.row)">查看</el-button>
+            <el-button type="text" @click="handleDownload(scope.row)">下载</el-button>
+            <el-button type="text" @click="handlePrint(scope.row)">打印</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        v-show="total>0"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"/>
+    </div>
   </div>
 </template>
 
 <script>
   import {getEnclosureApi,deleteEnclosureApi,getProjectInfoApi,getProjectInfoCommonApi} from '@/api/enterprise/project/project'
+  // 先导入getLodop方法
+  import { getLodop } from "@/plugins/lodopFuncs"
   export default {
     props: {
       finEnclosure: {
@@ -49,6 +55,29 @@
         queryParams: {
           pageNum: 1,
           pageSize: 10
+        },
+        print: {
+          // id: 'printArea',
+          popTitle: '', // 打印配置页上方的标题
+          extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>,<style> #printMe { height: auto !important; } <style>', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
+          preview: true, // 是否启动预览模式,默认是false
+          previewTitle: '预览的标题', // 打印预览的标题
+          previewPrintBtnLabel: '预览结束,开始打印', // 打印预览的标题下方的按钮文本,点击可进入打印
+          zIndex: 20002, // 预览窗口的z-index,默认是20002,最好比默认值更高
+          // previewBeforeOpenCallback () { console.log('正在加载预览窗口!'); console.log(this.msg) }, // 预览窗口打开之前的callback
+          // previewOpenCallback () { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
+          // beforeOpenCallback () { console.log('开始打印之前!') }, // 开始打印之前的callback
+          // openCallback () { console.log('执行打印了!') }, // 调用打印时的callback
+          // closeCallback () { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
+          // clickMounted () { console.log('点击v-print绑定的按钮了!') },
+          url: 'http://124.232.146.72:7015/api/profile/upload/88a09dbc8e2f4a6096e6ea3dc934ba77.xls', // 打印指定的URL,确保同源策略相同
+          // asyncUrl (reslove) {
+          //   setTimeout(() => {
+          //     reslove('http://124.232.146.72:7015/api/profile/upload/88a09dbc8e2f4a6096e6ea3dc934ba77.xls')
+          //   }, 2000)
+          // },
+          // standard: '',
+          // extarCss: ''
         }
       };
     },
@@ -57,6 +86,24 @@
       this.getData()
     },
     methods: {
+       // 获取打印机列表
+       getPrintList() {
+           let LODOP = getLodop();
+           if (!LODOP)return
+           // 获取打印机个数
+           let count = LODOP.GET_PRINTER_COUNT()
+           let printValue = LODOP.GET_PRINTER_NAME(-1) //获取默认打印机
+           this.printList = Array(count).fill(null).map((...args) => {
+               if (printValue === LODOP.GET_PRINTER_NAME(args[1])){
+                   this.printDefault = args[1]
+               }
+               return {
+                   value: args[1], // args[1]为数组索引
+                   label: LODOP.GET_PRINTER_NAME(args[1]) // 获取打印机名称
+               }
+           })
+
+       },
       getData() {
         getProjectInfoCommonApi(this.id).then(res => {
           this.info = res.data.finProject || {}
@@ -111,13 +158,6 @@
             this.$modal.msgSuccess("删除成功");
           })
       },
-      // 取消全选
-      selectAll(selection) {
-        if (selection.length == 0) {
-          let list = this.selectedList.filter(item => !this.list.some(ele => ele.id === item.id));
-          this.selectionList = list;
-        }
-      },
       handleSelectionChange(val) {
         this.selectionList = val;
         if(this.selectionList.length > 0) {
@@ -130,9 +170,39 @@
           this.ids = ''
         }
       },
-      handlePrint() {
-        
+      handlePrint(row) {
+        this.getPrintData(row.url)
       },
+      // 获取面单信息数组数据
+          async getPrintData(url) {
+            if(url) {
+             this.printUrlList = url.split(';')
+             this.printInfo()
+            }
+          },
+          // 打印面单
+          async printInfo() {
+            for await (const item of this.printUrlList) {
+              this.printEveryItem(item)
+            }
+          },
+          // 打印每项
+          printEveryItem(item) {
+            let self = this;
+            let LODOP = getLodop(); //调用getLodop获取LODOP对象
+            return new Promise(function (resolve) {
+              setTimeout(() => {
+               // LODOP.PRINT_INIT("");
+               let strStyleCSS = `<style type='text/css' rel='stylesheet'>.img1{display:block;margin:10px;width:360;height:360}</style>`
+               let html = `<head>${strStyleCSS}</head><body><div class='print-card'>
+                      <img src=${item} class='img1' />
+                  </div><body>`
+               LODOP.ADD_PRINT_HTM(0,0,380,380,html);
+               LODOP.SET_PRINT_PAGESIZE(1,1000,1000,"");
+               LODOP.PRINT();
+              }, 1000);
+            });
+          },
       handleDownloadBatch() {
         if(this.selectionList.length <=0) {
           this.$message.error('请选择要下载的数据');

+ 2 - 2
src/views/enterprise/declare/index.vue

@@ -57,7 +57,7 @@
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleDownloadBatch">下载</el-button>
       </div>
     </h3>
-    <el-table v-loading="loading" :data="list" border @selection-change="handleSelectionChange">
+    <el-table v-loading="loading" :data="list" border @selection-change="handleSelectionChange" style="width: 100%">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="项目编号" prop="projectNo" width="150" align="center" />
       <el-table-column label="项目名称" prop="projectName" align="center" width="150"></el-table-column>
@@ -66,7 +66,7 @@
       <el-table-column label="项目年份" prop="projectYear" align="center" width="150" />
       <el-table-column label="项目跨年" prop="overYearFlag" align="center" width="150"></el-table-column>
       <el-table-column label="创建时间" align="center" prop="createTime" width="160"></el-table-column>
-      <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button type="text" @click="handleView(scope.row)">查看</el-button>
           <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>

+ 45 - 15
src/views/enterprise/ent/edit.vue

@@ -69,7 +69,7 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="统一社会信用代码" prop="license">
-            <el-input type="text"
+            <el-input type="text" @change="validLicense" :disabled="disabledVisible"
               v-model="form.license"
               placeholder="请输入统一社会信用代码">
             </el-input>
@@ -328,16 +328,18 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <h3 class="toolbar">
-        <span class="title">服务时间</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="24">
-          <el-form-item label="服务时间段" prop="serviceDate">
-            <el-date-picker v-model="form.serviceDate" placeholder="选择日期" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-          </el-form-item>
-        </el-col>
-      </el-row>
+      <div v-if="type == 'add'">
+        <h3 class="toolbar">
+          <span class="title">服务时间</span>
+        </h3>
+        <el-row :gutter="40">
+          <el-col :span="24">
+            <el-form-item label="服务时间段" prop="serviceDate">
+              <el-date-picker v-model="form.serviceDate" placeholder="选择日期" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </div>
       <el-row :gutter="40">
         <el-col :span="24">
           <el-form-item style="width:100%;text-align: center;" label-width="0px">
@@ -372,7 +374,7 @@
 
 import { getEntInfoByIdApi,updateEntInfoApi } from "@/api/admin/ent/ent"
 import { registerEnterUserApi } from "@/api/admin/ent/ent";
-import {getProvinceDataApi,getRegionChildrenApi} from "@/api/common/common"
+import {getProvinceDataApi,getRegionChildrenApi,validLicenseApi} from "@/api/common/common"
 import { regTypeOptions,mainProductsOptions,yesOrNoOptions } from "@/utils/dataFormat"
 import FileUpload from '@/components/FileUpload'
 import ImageUpload from '@/components/ImageUpload'
@@ -430,7 +432,8 @@ export default {
       yesOrNoOptions: yesOrNoOptions,
       provinceDataList: [],
       cityDataList: [],
-      districtDataList: [],
+      districtDataList: [],
+      disabledVisible: false,
       form: {
         id: '',
         fileList: [],
@@ -443,8 +446,8 @@ export default {
         startDate: '',
         endDate: '',
         attachIds: [],
-        provinceId: '',
-        cityId: '',
+        provinceId: '1481196860266852481',
+        cityId: '1481196860266852482',
         districtId: '',
         mainProductArray: ['电子信息'],
         mainProducts: '',
@@ -599,12 +602,32 @@ export default {
     this.form.id = this.$route.params.id || undefined;
     this.type = this.$route.query.type || undefined
     if(this.form.id) {
+      this.disabledVisible = true
       this.params.dataId = this.$route.params.id
       this.getData()
       this.getEnclosureData()
+    }
+    if(this.form.provinceId) {
+      console.log("&&&&&&&&&&&&&&&&&&&")
+      getRegionChildrenApi(this.form.provinceId).then(res => {
+        if(res.code == 200) {
+          this.cityDataList = res.data
+          this.form.cityId = '1481196860266852482'
+          console.log("@@@@@@@@@@@@@@@@@@@@")
+        }
+      })
     }
   },
   methods: {
+    validLicense(val) {
+      console.log(val)
+      validLicenseApi(val).then(res => {
+        // true存在
+        if(res.data) {
+          this.$message.error('统一社会信用代码已经存在,不可以重复注册');
+        }
+      })
+    },
     getEnclosureData() {
       getEnclosureApi(this.attachType, this.dataId).then(res => {
         this.list = res.data.records
@@ -744,6 +767,13 @@ export default {
     },
     handleRegister() {
       this.form.mainProducts = this.form.mainProductArray.join(',')
+      validLicenseApi(this.registerForm.license).then(res => {
+        // true存在
+        if(res.data) {
+          this.$message.error('统一社会信用代码已经存在,不可以重复注册');
+          return
+        }
+      })
       if(this.type == 'update') {
         this.$refs.form.validate(valid => {
           if (valid) {

+ 10 - 8
src/views/enterprise/project/components/EntBasic.vue

@@ -265,7 +265,7 @@ export default {
           { required: true, trigger: "change", message: "请上传高新企业证书" }
         ],
         lisenceTime: [
-          { required: true, trigger: "change", message: "请选择证书有效期限", type: 'array' }
+          { required: true, trigger: "change", message: "请选择证书有效期限" }
         ]
       },
       loading: false,
@@ -305,15 +305,17 @@ export default {
         }
 
         if(obj.projectStartDate) {
-          this.form.projectTime = []
-          this.form.projectTime[0] = obj.projectStartDate
-          this.form.projectTime[1] = obj.projectEndDate
+          this.$set(this.form, 'projectTime',[obj.projectStartDate,obj.projectEndDate])
+          // this.form.projectTime = []
+          // this.form.projectTime[0] = obj.projectStartDate
+          // this.form.projectTime[1] = obj.projectEndDate
         }
 
         if(obj.techStartDate) {
-          this.form.lisenceTime = []
-          this.form.lisenceTime[0] = obj.techStartDate
-          this.form.lisenceTime[1] = obj.techEndDate
+          this.$set(this.form, 'lisenceTime',[obj.techStartDate,obj.techEndDate])
+          // this.form.lisenceTime = []
+          // this.form.lisenceTime[0] = obj.techStartDate
+          // this.form.lisenceTime[1] = obj.techEndDate
         }
         if(obj.techFlag == 1) {
           this.techVisible = true
@@ -361,8 +363,8 @@ export default {
     },
     'form.lisenceTime'(val) {
       if(this.form.lisenceTime) {
-        this.form.techEndDate = this.form.lisenceTime[1]
         this.form.techStartDate = this.form.lisenceTime[0]
+        this.form.techEndDate = this.form.lisenceTime[1]
       }else {
         this.form.techStartDate = ''
         this.form.techEndDate = ''