Browse Source

新增合同差异项及使用周期文件同步及解决冲突

duanxiaoduan 1 year ago
parent
commit
cb74030f86

+ 0 - 1
.env.development

@@ -9,7 +9,6 @@ ENV = 'development'
 # VUE_APP_BASE_API = 'http://192.168.1.77:8082/'
 # 线上测试
 VUE_APP_BASE_API = 'http://tmrwatch.cn:8082/'
-# VUE_APP_BASE_API = 'http://tmrwatch.cn:8082/'
 # VUE_APP_BASE_API = 'http://127.0.0.1:8082/'
 
 # VUE_APP_BASE_API = 'http://36.155.144.182:18090/'

File diff suppressed because it is too large
+ 0 - 0
dist/index.html


+ 7 - 7
src/api/common.js

@@ -92,7 +92,7 @@ export function SapTrans(data) {
     method: 'post',
     data
   })
-} 
+}
 
 export function SapQuit(data) {
   return request({
@@ -100,7 +100,7 @@ export function SapQuit(data) {
     method: 'post',
     data
   })
-} 
+}
 
 export function SapRef(data) {
   return request({
@@ -108,7 +108,7 @@ export function SapRef(data) {
     method: 'post',
     data
   })
-} 
+}
 
 export function SapUse(data) {
   return request({
@@ -116,7 +116,7 @@ export function SapUse(data) {
     method: 'post',
     data
   })
-} 
+}
 
 
 export function SapLaid(data) {
@@ -125,7 +125,7 @@ export function SapLaid(data) {
     method: 'post',
     data
   })
-} 
+}
 
 
 export function SapOrder(data) {
@@ -134,7 +134,7 @@ export function SapOrder(data) {
     method: 'post',
     data
   })
-} 
+}
 
 
 export function SrmOrder(data) {
@@ -336,4 +336,4 @@ export function getMonthFinalDay(year,month){
 	}
 	day = new Date(new Date(year,month).setDate(0)).getDate();
 	return year+"-"+month+"-"+day;
-}
+}

+ 2 - 2
src/api/user.js

@@ -19,7 +19,7 @@ export function getInfo() { // token
 
 export function logout() {
   return request({
-    url: '/authdata/logout',
-    method: 'post'
+    url: '/api/v1/logout',
+    method: 'get'
   })
 }

+ 1 - 0
src/icons/svg/sap日志.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1704352357783" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8718" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M311.2 288H682v64H311.2zM311.2 480H682v64H311.2zM311.2 672H682v64H311.2z" fill="#ffffff" p-id="8719"></path><path d="M960 512c0-59.4-39.5-109.1-92.7-123.4V192c0-52.9-41.6-96-92.7-96H218.5c-51.1 0-92.7 43.1-92.7 96v160H64v64h61.8v192H64v64h61.8v160c0 52.9 41.6 96 92.7 96h556.1c51.1 0 92.7-43.1 92.7-96V635.4c53.2-14.3 92.7-64 92.7-123.4zM774.6 864H218.5c-17 0-30.9-14.4-30.9-32V672h61.8v-64h-61.8V416h61.8v-64h-61.8V192c0-17.6 13.8-32 30.9-32h556.1c17 0 30.9 14.4 30.9 32v196.6c-53.2 14.3-92.7 64-92.7 123.4s39.5 109.1 92.7 123.4V832c0 17.6-13.8 32-30.9 32z m61.8-288c-34.1 0-61.8-28.7-61.8-64s27.7-64 61.8-64c34.1 0 61.8 28.7 61.8 64s-27.7 64-61.8 64z" fill="#ffffff" p-id="8720"></path></svg>

+ 1 - 0
src/icons/svg/冲销.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1704352222014" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7663" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M926.647887 126.197183h-288.450704c0-72.112676-57.690141-126.197183-126.197183-126.197183s-126.197183 57.690141-126.197183 126.197183h-288.450704c-18.028169 0-32.450704 14.422535-32.450705 32.450704v829.295775c0 18.028169 14.422535 32.450704 32.450705 32.450704h829.295774c18.028169 0 32.450704-14.422535 32.450705-32.450704v-829.295775c0-18.028169-14.422535-32.450704-32.450705-32.450704zM512 64.901408c36.056338 0 64.901408 28.84507 64.901408 64.901409s-28.84507 64.901408-64.901408 64.901408-64.901408-28.84507-64.901408-64.901408 28.84507-64.901408 64.901408-64.901409z m382.197183 894.197184H126.197183V191.098592H252.394366V288.450704c0 18.028169 14.422535 32.450704 32.450704 32.450704h447.098592c18.028169 0 32.450704-14.422535 32.450704-32.450704V191.098592h126.197183v768z" p-id="7664" fill="#ffffff"></path><path d="M692.28169 530.028169c-43.267606 0-79.323944 36.056338-79.323944 79.323944 0 43.267606 36.056338 79.323944 79.323944 79.323943 43.267606 0 79.323944-36.056338 79.323944-79.323943 0-43.267606-36.056338-79.323944-79.323944-79.323944z m0-61.295775c79.323944 0 140.619718 64.901408 140.619718 140.619719s-64.901408 140.619718-140.619718 140.619718-140.619718-64.901408-140.619718-140.619718S612.957746 468.732394 692.28169 468.732394zM183.887324 609.352113C183.887324 530.028169 248.788732 468.732394 324.507042 468.732394s140.619718 64.901408 140.619719 140.619719-64.901408 140.619718-140.619719 140.619718-140.619718-61.295775-140.619718-140.619718z" p-id="7665" fill="#ffffff"></path></svg>

+ 1 - 0
src/icons/svg/资产盘点.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1704352124059" class="icon" viewBox="0 0 1030 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4584" xmlns:xlink="http://www.w3.org/1999/xlink" width="32.1875" height="32"><path d="M563.2 314.368H252.416c-15.36 0-28.16-12.8-28.16-28.16s12.8-28.16 28.16-28.16H563.2c15.36 0 28.16 12.8 28.16 28.16s-12.8 28.16-28.16 28.16zM563.2 457.728H252.416c-15.36 0-28.16-12.8-28.16-28.16s12.8-28.16 28.16-28.16H563.2c15.36 0 28.16 12.8 28.16 28.16s-12.8 28.16-28.16 28.16zM630.784 900.096c-103.936 0-188.928-84.992-188.928-188.928s84.992-188.928 188.928-188.928 188.928 84.992 188.928 188.928-84.992 188.928-188.928 188.928z m0-321.536c-73.216 0-132.608 59.392-132.608 132.608s59.392 132.608 132.608 132.608 132.608-59.392 132.608-132.608-59.392-132.608-132.608-132.608z" p-id="4585"></path><path d="M875.52 999.424c-7.68 0-15.36-3.072-20.992-9.216l-130.56-145.92c-10.24-11.776-9.216-29.184 2.048-39.936 11.776-10.24 29.184-9.216 39.936 2.048l130.56 145.92c10.24 11.776 9.216 29.184-2.048 39.936-5.632 4.608-12.288 7.168-18.944 7.168zM322.56 1005.056H43.52c-14.336 0-25.6-11.264-25.6-25.6V35.84c0-14.336 11.264-25.6 25.6-25.6h733.696c14.336 0 25.6 11.264 25.6 25.6v276.992c0 14.336-11.264 25.6-25.6 25.6s-25.6-11.264-25.6-25.6V61.44H69.12v892.416H322.56c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6z" p-id="4586"></path></svg>

+ 1 - 1
src/layout/components/Navbar.vue

@@ -104,7 +104,7 @@ export default {
     async logout() {
       await this.$store.dispatch('user/logout')
       this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
-        this.$router.push(`/login`) // 跳转到主页
+        console.log("注销了")
       })
       // this.$router.push(`/login?redirect=${this.$route.fullPath}`)   //跳转到登陆前页面
     },

+ 21 - 3
src/permission.js

@@ -3,9 +3,11 @@ import store from './store'
 import { Message } from 'element-ui'
 import NProgress from 'nprogress' // progress bar
 import 'nprogress/nprogress.css' // progress bar style
-import { getToken } from '@/utils/auth' // get token from cookie
+import { getToken,removeToken } from '@/utils/auth' // get token from cookie
+import Cookies from 'js-cookie'
 import getPageTitle from '@/utils/get-page-title'
-
+// 1为单点登录,其他不是
+Cookies.set('sso',1)
 NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
 const whiteList = ['/login'] // no redirect whitelist
@@ -20,6 +22,7 @@ router.beforeEach(async(to, from, next) => {
   // determine whether the user has logged in
   const hasToken = getToken()
 
+    console.log('hasToken==>',hasToken)
   if (hasToken) {
     if (to.path === '/login') {
       // if is logged in, redirect to the home page
@@ -40,7 +43,7 @@ router.beforeEach(async(to, from, next) => {
 
           // generate accessible routes map based on roles
           const accessRoutes = await store.dispatch('permission/generateRoutes', roles)
-
+          console.log(accessRoutes,'accessRoutes')
           // dynamically add accessible routes
           router.addRoutes(accessRoutes)
 
@@ -53,6 +56,7 @@ router.beforeEach(async(to, from, next) => {
           await store.dispatch('user/resetToken')
           Message.error(error || 'Has Error')
           // next(`/login?redirect=${to.path}`)    //跳转到退出前界面
+          removeToken()
           next(`/login`)
           NProgress.done()
         }
@@ -71,6 +75,20 @@ router.beforeEach(async(to, from, next) => {
 
       next({ path: '/login' })
       NProgress.done()
+      if(Cookies.get('sso') == 1){
+        // 单点登录
+        // 构建要跳转的URL
+        var url = process.env.VUE_APP_BASE_API
+        console.log(url,'url')
+        //获取当前url
+        if(url.indexOf('/')==0 && url.length==1){
+          url= window.location.protocol + "//"+window.location.host+url
+        }
+        const externalURL = "https://id.xiandaimuye.com/api/v1/oauth2/authorize?response_type=code&client_id=fTBm64I4k3kqHYtoFTUpvirCDxxCfx7I&redirect_uri="+url+'api/v1/oauth2/token';
+        // 使用 $router.push 进行页面跳转
+        // 注意: 这里的跳转是在当前窗口进行的,如果需要在新标签页打开,可以使用 window.open(externalURL)
+        window.open(externalURL, "_self");
+      }
     }
   }
 })

+ 96 - 16
src/store/modules/user.js

@@ -99,21 +99,49 @@ const actions = {
     const { username, password } = userInfo
     return new Promise((resolve, reject) => {
       login({ username: username.trim(), password: password }).then(response => {
-        const { data, msg } = response
-        if (msg !== 'ok') {
-          Message({
-            message: data,
-            type: 'error',
-            duration: 5 * 1000
-          })
-          reject(data)
-        }
-        commit('SET_TOKEN', data.token)
-        if (Cookies == null) {
-          console.log(1)
+        if(Cookies.get('sso') == 1){
+        // 单点登录=============================
+          const fullURL = window.location.href;
+          // 使用正则表达式提取code参数的值
+          const codeMatch = fullURL.match(/[\?&]access=([^&]+)/);
+          console.log('codeMatch===>',codeMatch)
+          if (codeMatch) {
+            // 如果匹配成功,将code的值存储在组件的data中
+            var code = codeMatch[1];
+              //TODO 保存token
+              // 去除后面的#/login
+            if ( code &&  code.includes("#/login")) {
+              code =  code.replace("#/login", "");
+            }
+           //base64解密this.cose
+            console.log('解密token',atob(code))
+            let token = atob(code)
+            commit('SET_TOKEN', token)
+            setToken(token)
+            resolve()
+            let url = window.location.href;
+            // 使用split方法将URL拆分为数组
+            let jmpurl = url.split('?')[0]+'#/dashboard'
+            window.open(jmpurl, "_self");
+          }
+        // =============================
+        }else{
+          const { data, msg } = response
+          if (msg !== 'ok') {
+            Message({
+              message: data,
+              type: 'error',
+              duration: 5 * 1000
+            })
+            reject(data)
+          }
+          commit('SET_TOKEN', data.token)
+          if (Cookies == null) {
+            console.log(1)
+          }
+          setToken(data.token)
+          resolve()
         }
-        setToken(data.token)
-        resolve()
       }).catch(error => {
         reject(error)
       })
@@ -134,7 +162,33 @@ const actions = {
 
         // roles must be a non-empty array
         if (!role || role.length <= 0) {
-          reject('getInfo: roles must be a non-null array!')
+          reject('该用户未分配角色!')
+          console.log('no=============')
+          if(Cookies.get('sso') == 1){
+            setTimeout(()=>{
+              commit('SET_BUTTONS', [])
+              // console.log('-------------', state)
+              commit('SET_TOKEN', '')
+              commit('SET_ROLES', [])
+              Cookies.remove('employename')
+              Cookies.remove('employeid')
+              Cookies.remove('pastureid')
+              removeToken()
+              resetRouter()
+              resolve()
+              // 单点登录
+              var url = process.env.VUE_APP_BASE_API
+              //获取当前url
+
+              if(url.indexOf('/')==0 && url.length==1){
+                url= window.location.protocol + "//"+window.location.host+url
+              }
+              const externalURL = "https://id.xiandaimuye.com/api/v1/logout?redirect_url="+url+ '&client_id=fTBm64I4k3kqHYtoFTUpvirCDxxCfx7I';
+              // 使用 $router.push 进行页面跳转
+              // 注意: 这里的跳转是在当前窗口进行的,如果需要在新标签页打开,可以使用 window.open(externalURL)
+              window.open(externalURL, "_self");
+            },2000)
+          }
         }
 
         GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'jwt_username': username }}).then(response => {
@@ -222,7 +276,33 @@ const actions = {
         removeToken()
         resetRouter()
         resolve()
-        location.reload()
+        if(Cookies.get('sso') == 1){
+        // 单点登录
+          var url = process.env.VUE_APP_BASE_API
+          console.log(url,'url')
+          //获取当前url
+
+          if(url.indexOf('/')==0 && url.length==1){
+            url= window.location.protocol + "//"+window.location.host+url
+          }
+          const externalURL = "https://id.xiandaimuye.com/api/v1/logout?redirect_url=" + url + '&client_id=fTBm64I4k3kqHYtoFTUpvirCDxxCfx7I';
+          // 使用 $router.push 进行页面跳转
+          // 注意: 这里的跳转是在当前窗口进行的,如果需要在新标签页打开,可以使用 window.open(externalURL)
+          window.open(externalURL, "_self");
+          // location.reload()
+        }else{
+          commit('SET_BUTTONS', [])
+          // console.log('-------------', state)
+          commit('SET_TOKEN', '')
+          commit('SET_ROLES', [])
+          Cookies.remove('employename')
+          Cookies.remove('employeid')
+          Cookies.remove('pastureid')
+          removeToken()
+          resetRouter()
+          resolve()
+          location.reload()
+        }
       }).catch(error => {
         reject(error)
       })

+ 1 - 0
src/utils/auth.js

@@ -7,6 +7,7 @@ export function getToken() {
 }
 
 export function setToken(token) {
+  // console.log(token,'token')
   return Cookies.set(TokenKey, token)
 }
 

+ 2 - 1
src/utils/request.js

@@ -110,13 +110,14 @@ service.interceptors.response.use(
     config.__retryCount = config.__retryCount || 0
    if (config.__retryCount >= 3) {
       // Message({ message:error.message, type: 'error', duration: 5 * 1000 })
+      console.log('err' + error)
       Message({ message:'请求超时', type: 'error', duration: 5 * 1000 })
       // Message.error((error && error.data && error.data.msg) || '请求超时')
       return Promise.reject(error)
     }
     config.__retryCount += 1
 
- 
+
     let backoff = new Promise((resolve) => {
       setTimeout(() => {
         resolve()

+ 500 - 0
src/views/asset/assetinventory/index.vue

@@ -0,0 +1,500 @@
+<template>
+  <div class="app-container">
+    <div v-if="isPercentage" class="percentage" style="width: 210px;height: 90px;background: #fff;position: fixed;bottom: 0;left: 0;z-index: 9999999999999;">
+      <h4 style="padding-left: 10px;line-height: 0;">导出进度:</h4>
+      <el-progress style="padding-left: 10px;" :text-inside="true" :stroke-width="26" :percentage="percentage" />
+    </div>
+    <div class="filter-container">
+      <el-select v-model="getdataListParm.parammaps.pastureId" placeholder="牧场" class="filter-item" style="width: 120px;" @change="changePastureName">
+        <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.id" />
+      </el-select>
+      <el-select v-model="getdataListParm.parammaps.departmentId" clearable placeholder="部门" class="filter-item" style="width: 120px;">
+        <el-option v-for="item in findAllDepart" :key="item.id" :label="item.name" :value="item.id" />
+      </el-select>
+      <el-date-picker ref="inputDatetime" v-model="getdataListParm.parammaps.inputDatetime" class="inputDatetime" type="monthrange" style="width: 250px;top:-3px;" format="yyyy-MM" value-format="yyyy-MM" range-separator="至" start-placeholder="盘点日期" end-placeholder="盘点日期" />
+      <el-button class="filter-item" type="primary" icon="el-icon-search" @click="form_search">搜索</el-button>
+      <el-button class="filter-item" type="info" icon="el-icon-tickets" style="" @click="handleDownloadTemp">模板</el-button>
+      <el-upload style="display: inline-block;" :headers="headers" :data="uploadData" :action="uploadExcelUrl" :show-file-list="false" :before-upload="beforeImportExcel" :on-success="handleImportExcelSuccess">
+        <el-button class="filter-item" type="warning" icon="el-icon-upload2">导入</el-button>
+      </el-upload>
+
+      <el-button class="filter-item" type="success" icon="el-icon-download" style="" @click="handleDownload">导出</el-button>
+      <el-button class="filter-item" type="primary" icon="el-icon-edit" @click="handleDelete">批量删除</el-button>
+    </div>
+    <el-table
+        :key="tableKey"
+        v-loading="listLoading"
+        element-loading-text="给我一点时间"
+        :data="list"
+        border
+        fit
+        highlight-current-row
+        style="width: 100%;"
+        :row-style="rowStyle"
+        :cell-style="cellStyle"
+        class="elTable"
+        @selection-change="handleSelectionChange"
+        :max-height="myHeight"
+      >
+        <el-table-column type="selection" width="55" />
+        <el-table-column label="序号" align="center" type="index" width="50px">
+          <template slot-scope="scope">
+            <span>{{ scope.$index + (pageNum-1) * pageSize + 1 }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="牧场" align="center" prop="pastureName" />
+        <el-table-column label="部门" align="center" prop="departmentName" />
+        <el-table-column label="资产编号" align="center" prop="assetCode" />
+       <el-table-column label="资产名称" align="center" prop="eqName" />
+        <el-table-column label="设备内部编号" align="center" prop="eqCode" />
+        <el-table-column label="实物入账日期" align="center" prop="rzdate" />
+        <el-table-column label="计量单位"   align="center" prop="unit" />
+        <el-table-column label="规格" align="center" prop="specification" />
+        <el-table-column label="资产数量" align="center" prop="quantity" />
+        <el-table-column label="资产原值" sortable align="center" prop="yuanzhi" />
+        <el-table-column label="实际盘点数" sortable align="center" prop="count" />
+        <el-table-column label="盈亏量" sortable align="center" prop="profit" />
+        <el-table-column label="有无标签" sortable align="center" prop="tag" />
+        <el-table-column label="导入日期" sortable align="center" prop="importdate" />
+        <el-table-column label="盘点时间" sortable align="center" prop="inventorydate" />
+        <el-table-column label="盘点人" sortable align="center" prop="checkTakerName" />
+        <el-table-column label="备注" sortable align="center" prop="remark" />
+        <el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width" fixed="right">
+          <template slot-scope="{row}">
+            <el-button type="primary" size="mini" @click="form_see(row)">查看</el-button>
+            <el-button type="danger" size="mini" @click="form_delete(row)">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination v-show="total>=0" :total="total" :page.sync="getdataListParm.offset" :limit.sync="getdataListParm.pagecount" @pagination="get_table_data" />
+      <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" :close-on-click-modal="false" width="80%">
+        <div class="app-change">
+          <el-form ref="seeTemp" :model="see.temp" label-position="right" label-width="115px" style="width: 90%;margin:0 auto 30px" @click.native.prevent @submit.native.prevent>
+            <el-row>
+              <el-col :span="6">
+                <el-form-item label="牧场:" prop="pastureName">
+                  <el-input ref="pastureName" v-model="see.temp.pastureName" placeholder="牧场" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="部门:" prop="departmentName">
+                 <el-input ref="departmentName" v-model="see.temp.departmentName" placeholder="部门" disabled />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="6">
+                <el-form-item label="设备内部编号:" prop="assetCode">
+                 <el-input ref="assetCode" v-model="see.temp.assetCode" placeholder="设备内部编号" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="资产名称:" prop="eqName">
+                 <el-input ref="eqName" v-model="see.temp.eqName" placeholder="资产名称" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="资产编号:" prop="eqCode">
+                  <el-input ref="eqCode" v-model="see.temp.eqCode" placeholder="资产编号" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="实物入账日期:" prop="rzdate">
+                 <el-input ref="rzdate" v-model="see.temp.rzdate" placeholder="实物入账日期" disabled />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="6">
+                <el-form-item label="计量单位:" prop="unit">
+                  <el-input ref="unit" v-model="see.temp.unit" placeholder="计量单位" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="规格:" prop="specification">
+                 <el-input ref="specification" v-model="see.temp.specification" placeholder="规格" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="资产数量:" prop="quantity">
+                 <el-input ref="quantity" v-model="see.temp.quantity" placeholder="资产数量" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="资产原值:" prop="yuanzhi">
+                 <el-input ref="yuanzhi" v-model="see.temp.yuanzhi" placeholder="资产原值" disabled />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="6">
+                <el-form-item label="实际盘点数:" prop="count">
+                  <el-input ref="count" v-model="see.temp.count" placeholder="实际盘点数" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="盈亏量:" prop="profit">
+                 <el-input ref="profit" v-model="see.temp.profit" placeholder="盈亏量" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="有无标签:" prop="tag">
+                 <el-input ref="tag" v-model="see.temp.tag" placeholder="有无标签" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="导入日期:" prop="importdate">
+                 <el-input ref="importdate" v-model="see.temp.importdate" placeholder="导入日期" disabled />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="6">
+                <el-form-item label="盘点时间:" prop="inventorydate">
+                  <el-input ref="inventorydate" v-model="see.temp.inventorydate" placeholder="盘点时间" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="盘点人:" prop="checkTakerName">
+                 <el-input ref="checkTakerName" v-model="see.temp.checkTakerName" placeholder="盘点人" disabled />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="备注:" prop="remark">
+                 <el-input ref="remark" v-model="see.temp.remark" placeholder="备注" disabled />
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
+          <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom:10px">
+            <el-button @click="dialogFormVisible = false;">关闭</el-button>
+          </div>
+        </div>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import { GetDataByName, GetDataByNames,checkButtons,postJson,getJson } from '@/api/common'
+import { parseTime, json2excel } from '@/utils/index.js'
+import Pagination from '@/components/Pagination'
+import { MessageBox } from 'element-ui'
+import Cookies from 'js-cookie'
+import { getToken } from '@/utils/auth'
+export default {
+  inject: ['reload'],
+  name: 'Assetinventory',
+  components: { Pagination },
+  data() {
+    return {
+      tableKey: 0,
+      list: [],
+      total: 0,
+      listLoading: true,
+      getdataListParm: {
+        name: 'getAssetList', page: 1, offset: 1, pagecount: 10, returntype: 'Map',
+        parammaps: { pastureId: parseInt(Cookies.get('pastureid')),  inputDatetime: '', startTime: '', stopTime: '', departmentId: '' }
+      },
+      isAssetinventorySee: [], isBasicsCard: [], isBasicsUpdate: [], isBasicsDel: [], isBasicsDel2: [], isBasic: [], isBasicSH: [], isBasicExamine: [],
+      requestParams: [
+        { name: 'findAllPasture', offset: 0, pagecount: 0, returntype: 'Map', parammaps: { 'id': "18" }}
+      ],
+      getDepartParam: { name: 'findAllDepart1', offset: 0, pagecount: 0, parammaps: { 'pastureId': Cookies.get('pastureid'), 'eId': Cookies.get('employeid') }},
+      findAllPasture: [], findAllDepart: [],
+      selectionList:[],
+      textMap: { see: '查看设备信息' },
+      dialogFormVisible: false,
+      dialogStatus: '',
+      see:{
+        temp:{}
+      },
+      isPercentage:false,
+      uploadImageUrl: process.env.VUE_APP_BASE_API + 'authdata/uploaderimage',
+      rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
+      cellStyle: { padding: 0 + 'px' },
+      myHeight:document.documentElement.clientHeight - 85- 150
+    }
+  },
+  computed: {
+    headers() {
+      return {
+        // 设置token
+        token: getToken()
+      }
+    },
+    uploadData() {
+      return {
+        // importParams: '牧场,部门, 资产编号, 资产名称, 设备内部编号, 实物入账日期, 计量单位, 规格, 资产数量, 资产原值, 实际盘点数, 盈亏量, 有无标签, 备注',
+        // sheetname: 'SheetJS'
+      }
+    },
+
+    // 设置上传地址
+    uploadExcelUrl() {
+      // process.env.VUE_APP_BASE_API是服务器的路径,也是axios的基本路径
+      return process.env.VUE_APP_BASE_API + 'authdata/stock/import'
+    }
+  },
+
+
+
+  created() {
+    // this.get_buttons()
+    this.get_table_data()
+
+  },
+  methods: {
+    // get_buttons() {
+    //   // 新增
+    //   const AssetinventorySee = 'asset:assetinventory:see'
+    //   const isAssetinventorySee = checkButtons(this.$store.state.user.buttons, AssetinventorySee)
+    //   this.isAssetinventorySee = isAssetinventorySee
+    // },
+    get_select_list() {
+      GetDataByNames(this.requestParams).then(response => {
+        if (response.data.list !== null) {
+          this.findAllPasture = response.data.findAllPasture.list
+          this.getDepartDownList()
+        }
+      })
+    },
+    getDepartDownList() {
+      GetDataByName(this.getDepartParam).then(response => {
+        this.findAllDepart = response.data.list
+      })
+    },
+    get_table_data() {
+      this.listLoading = true
+      if (this.getdataListParm.parammaps.inputDatetime == null || this.getdataListParm.parammaps.inputDatetime == []) {
+        this.getdataListParm.parammaps.inputDatetime = ''
+        this.getdataListParm.parammaps.startTime = ''
+        this.getdataListParm.parammaps.stopTime = ''
+      } else {
+        this.getdataListParm.parammaps.startTime = parseTime(this.getdataListParm.parammaps.inputDatetime[0],'{y}-{m}')+'-01'
+        this.getdataListParm.parammaps.stopTime = parseTime(this.getdataListParm.parammaps.inputDatetime[1],'{y}-{m}')+ '-31'
+      }
+      // if( this.getdataListParm.parammaps.startTime == undefined){ this.getdataListParm.parammaps.startTime = ''}
+      // if( this.getdataListParm.parammaps.stopTime == undefined){ this.getdataListParm.parammaps.stopTime = ''}
+      if( this.getdataListParm.parammaps.departmentId == undefined){ this.getdataListParm.parammaps.departmentId = ''}
+      let url ='/authdata/stock/list?'
+      let data = 'offset=' + this.getdataListParm.offset
+                + '&pagecount=' + this.getdataListParm.pagecount
+                + '&pastureId=' + this.getdataListParm.parammaps.pastureId
+                + '&departmentId=' + this.getdataListParm.parammaps.departmentId
+                + '&startdate=' + this.getdataListParm.parammaps.startTime
+                + '&enddate=' + this.getdataListParm.parammaps.stopTime
+      getJson(url,data).then(response => {
+        console.log('table数据', response.data.list)
+        if (response.data.list !== null) {
+          this.list = response.data.list
+          this.pageNum = 1
+          this.pageSize = response.data.pagecount
+        } else {
+          this.list = []
+        }
+        this.total = response.data.count
+        setTimeout(() => {
+          this.listLoading = false
+        }, 100)
+        this.get_select_list()
+      })
+    },
+    changePastureName(item) {
+      this.getDepartParam.parammaps.pastureId = this.getdataListParm.parammaps.pastureId
+      this.getdataListParm.parammaps.departmentId = ''
+      this.getDepartDownList()
+    },
+    handleSelectionChange(item) {
+      this.selectionList = item
+    },
+    form_search() {
+      if (this.getdataListParm.parammaps.inputDatetime == null) {
+        this.getdataListParm.parammaps.inputDatetime = ''
+        this.getdataListParm.parammaps.startTime = ''
+        this.getdataListParm.parammaps.stopTime = ''
+      } else {
+        this.getdataListParm.parammaps.startTime = this.getdataListParm.parammaps.inputDatetime[0]
+        this.getdataListParm.parammaps.stopTime = this.getdataListParm.parammaps.inputDatetime[1]
+      }
+      this.getdataListParm.offset = 1
+      this.get_table_data()
+    },
+    form_see(row){
+      this.see.temp = Object.assign({}, row) // copy obj
+      this.dialogStatus = 'see'
+      this.dialogFormVisible = true
+    },
+    form_delete(row){
+      MessageBox.confirm('确认删除此信息?', {
+        confirmButtonText: '确认',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        let url = 'authdata/stock/del'
+        let data = {
+          id:[row.id]
+        }
+        postJson(url,data).then(response => {
+          if (response.msg !== 'fail') {
+            this.$notify({ title: '成功', message: '删除成功', type: 'success', duration: 2000 })
+            this.get_table_data()
+          } else {
+            this.$notify({ title: '失败', message: response.data, type: 'warning', duration: 2000 })
+          }
+        })
+      })
+    },
+    handleDelete(){
+      if(this.selectionList.length == 0){
+        this.$message({ type: 'error', message: '请选择要删除的信息!', duration: 2000 })
+        return false
+      }
+      let array = []
+      this.selectionList.forEach((item)=>{
+        array.push(item.id)
+      })
+      let str = '确认删除选择的'+ array.length+ '条信息?'
+      MessageBox.confirm(str, {
+        confirmButtonText: '确认',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        let url = 'authdata/stock/del'
+        let data = {
+          id:array
+        }
+        postJson(url,data).then(response => {
+          if (response.msg !== 'fail') {
+            this.$notify({ title: '成功', message: '删除成功', type: 'success', duration: 2000 })
+            this.get_table_data()
+          } else {
+            this.$notify({ title: '失败', message: response.data, type: 'warning', duration: 2000 })
+          }
+        })
+      })
+    },
+    handleDownloadTemp(){
+      const elecExcelDatas = [
+        {
+          tHeader: ['序号','牧场','部门', '资产编号', '资产名称', '设备内部编号', '实物入账日期', '计量单位', '规格', '资产数量', '资产原值', '实际盘点数', '盈亏量', '有无标签', '备注'  ],
+          filterVal: ['','','', '', '', '', '', '', '', '', '', '', '', '', ''],
+          tableDatas: [],
+          sheetName: '资产盘点模板'
+        }
+      ]
+      json2excel(elecExcelDatas, '资产盘点模板', true, 'xlsx')
+    },
+    handleDownload() {
+      this.$alert('设备基础信息正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
+      this.isPercentage = true
+      this.percentage = 1
+      var timer = setInterval(() => {
+        this.percentage += 5
+        if (this.percentage > 95) {
+          this.percentage = 99
+          clearInterval(timer)
+        }
+        this.percentage = this.percentage
+      }, 1000)
+      if (this.getdataListParm.parammaps.inputDatetime == null || this.getdataListParm.parammaps.inputDatetime == []) {
+        this.getdataListParm.parammaps.inputDatetime = ''
+        this.getdataListParm.parammaps.startTime = ''
+        this.getdataListParm.parammaps.stopTime = ''
+      } else {
+        this.getdataListParm.parammaps.startTime = parseTime(this.getdataListParm.parammaps.inputDatetime[0],'{y}-{m}')+'-01'
+        this.getdataListParm.parammaps.stopTime = parseTime(this.getdataListParm.parammaps.inputDatetime[1],'{y}-{m}')+ '-31'
+      }
+      if( this.getdataListParm.parammaps.departmentId == undefined){ this.getdataListParm.parammaps.departmentId = ''}
+      let url ='/authdata/stock/list?'
+      let data = 'offset=' + this.getdataListParm.offset
+                + '&pagecount='+9999999
+                + '&pastureId=' + this.getdataListParm.parammaps.pastureId
+                + '&departmentId=' + this.getdataListParm.parammaps.departmentId
+                + '&startdate=' + this.getdataListParm.parammaps.startTime
+                + '&enddate=' + this.getdataListParm.parammaps.stopTime
+      getJson(url,data).then(response => {
+        var downLoadList = response.data.list
+        if (response.data.list !== '') {
+          this.percentage = 99
+          setTimeout(() => {
+            this.isPercentage = false
+          }, 2000)
+        }
+        const elecExcelDatas = [
+          {
+            tHeader: ['牧场','部门', '资产编号', '资产名称', '设备内部编号', '实物入账日期', '计量单位', '规格', '资产数量', '资产原值', '实际盘点数', '盈亏量', '有无标签','导入日期','盘点日期','盘点人', '备注'],
+            filterVal: ['pastureName','departmentName', 'eqCode', 'eqName', 'assetCode', 'rzdate', 'unit', 'specification', 'quantity', 'yuanzhi', 'count', 'profit', 'tag', 'importdate', 'inventorydate', 'checkTakerName', 'remark'],
+            tableDatas: downLoadList,
+            sheetName: '资产盘点'
+          }
+        ]
+        json2excel(elecExcelDatas, '资产盘点', true, 'xlsx')
+      })
+    },
+    // 导入
+     beforeImportExcel(file) {
+      const isLt2M = file.size / 1024 / 1024 < 10
+      if (!isLt2M) {
+        this.$message.error('上传文件大小不能超过 10MB!')
+      }
+      return isLt2M
+    },
+    handleImportExcelSuccess(res, file) {
+      if (res.msg === 'ok') {
+        this.$message({ title: '成功', message: '导入成功:' + res.data.success + '条!', type: 'success', duration: 2000 })
+        if (res.data.err_count > 0) {
+          this.$notify({ title: '失败', message: '导入失败:' + res.data.err_count + '条!', type: 'danger', duration: 2000 })
+          import('@/vendor/Export2Excel').then(excel => {
+            const list1 = res.data.result
+            const tHeader = [
+              '牧场','部门', '资产编号', '资产名称', '设备内部编号', '实物入账日期', '计量单位', '规格', '资产数量', '资产原值', '实际盘点数', '盈亏量', '有无标签', '备注','报错信息'
+            ]
+            const filterVal = [
+              '牧场','部门', '资产编号', '资产名称', '设备内部编号', '实物入账日期', '计量单位', '规格', '资产数量', '资产原值', '实际盘点数', '盈亏量', '有无标签', '备注','error_msg'
+            ]
+            const data1 = this.formatJson(filterVal, list1)
+            excel.export_json_to_excel({
+              header: tHeader,
+              data: data1,
+              filename: '资产盘点模板报错信息',
+              autoWidth: true,
+              bookType: 'xlsx'
+            })
+          })
+        }
+      } else {
+        this.$notify({ title: '失败', message: '上传失败', type: 'danger', duration: 2000 })
+      }
+    },
+    formatJson(filterVal, jsonData) {
+      return jsonData.map(v =>
+        filterVal.map(j => {
+          if (j === 'timestamp') {
+            return parseTime(v[j])
+          } else {
+            return v[j]
+          }
+        })
+      )
+    },
+    formatJsonTemp(filterVal, jsonData) {
+      return jsonData.map(v =>
+        filterVal.map(j => {
+          if (j === 'timestamp') { return parseTime(v[j])  } else { return v[j] } })
+      )
+    },
+  }
+}
+</script>
+<style lang="scss" scoped>
+  .el-autocomplete-suggestion li{
+    padding:0 3px!important;
+  }
+  .el-table .warning-row {
+      background: oldlace;
+  }
+  .el-table .success-row {
+      background: #f0f9eb;
+  }
+</style>

+ 23 - 1
src/views/asset/basics/index.vue

@@ -83,7 +83,29 @@
             </el-table-column>
             <el-table-column label="牧场" align="center" prop="pastureName" />
             <el-table-column label="设备类别" align="center" prop="eqClassName" />
-            <el-table-column label="设备名称" align="center" prop="eqName" />
+            <el-table-column align="center" prop="eqName" width="120">
+              <template slot="header" slot-scope="scope">
+                <div>
+                  设备名称
+                  <!-- <el-popover placement="top" width="200" trigger="click">
+                    <p>多行信息多行信息多行信息<br/>第二行信息</p>
+                    <i class="el-icon-question" slot="reference"></i>
+                  </el-popover> -->
+                  <!-- <el-tooltip placement="top" trigger="click">
+                    <div slot="content">多行信息多行信息多行信息<br/>第二 行信息</div>
+                    <i class="el-icon-question"></i>
+                  </el-tooltip> -->
+                </div>
+              </template>
+              <template slot-scope="{row}">
+                <div v-if="row.exceed == 1">
+                  <div style="background:#EC808D;display:block;line-height: 50px;">{{ row.eqName }}</div>
+                </div>
+                <div v-else>
+                  <div style="display:block;line-height: 50px;">{{ row.eqName }}</div>
+                </div>
+              </template>
+            </el-table-column> 
             <el-table-column label="设备内部编号" align="center" prop="eqCode" />
            <el-table-column label="财务编号" align="center" prop="financeCode" />
             <el-table-column label="规格" align="center" prop="specification" />

+ 25 - 12
src/views/console/user/index.vue

@@ -90,7 +90,7 @@
             <el-select v-model="dataform.deviceId" style="width:500px;" placeholder="请选择" @change="change_deviceId">
               <el-option v-for="item in viedoAccountList" :key="item.deviceId" :label="item.deviceId" :value="item.deviceId" />
             </el-select>
-          </el-form-item> 
+          </el-form-item>
           <el-form-item label="是否保养工" prop="keeper">
             <el-switch ref="keeper" v-model="dataform.keeper" active-color="#13ce66" inactive-color="#ff4949" :active-value="1" :inactive-value="0" />
           </el-form-item>
@@ -214,7 +214,7 @@ export default {
         { name: 'getEmpall', offset: 0, pagecount: 0, params: [] },
         { name: 'getMaintenanceTypeList', offset: 0, pagecount: 0, params: [] },
         { name: 'getMcsAccounts', offset: 0, pagecount: 0, params: [] },
-        
+
       ],
       requestFilterParams: { returntype: 'Map', parammaps: {}},
       UpdateDataRelationParam: { name: '', dataname: '', datavalue: '', valuename: '', values: [] },
@@ -392,17 +392,17 @@ export default {
 
 
 
-                var pastureId = Cookies.get('pastureid') 
+                var pastureId = Cookies.get('pastureid')
 
 
                 console.log(pastureid)
 
-                var deviceId = this.dataform.deviceId  
+                var deviceId = this.dataform.deviceId
                 var uId = this.dataform.uId
                 var pwd = this.dataform.pwd
 
-             
-                
+
+
 
                 console.log('pastureId', pastureId)
                 var send_data = {
@@ -439,7 +439,7 @@ export default {
 
                   ]
                 }
- 
+
 
                 console.log('记录仪保存发送参数===========', send_data)
                 ExecDataByConfig(send_data).then(response => {
@@ -454,8 +454,14 @@ export default {
                           'deviceId': this.dataform.deviceId
                         }
                       }
-
-                      MessageBox.confirm('该设备已经绑定,是否重新绑定?', {
+                      let str1 = '启用'
+                      if(this.dataform.enable == 1){
+                        str1 = '启用'
+                      }else{
+                        str1 = '禁用'
+                      }
+                      let str = '是否'+ str1 +'该用户?'
+                      MessageBox.confirm(str, {
                         confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
                       }).then(() => {
                         PostDataByName(send_data3).then(() => {
@@ -550,7 +556,7 @@ export default {
         } else {
             this.requestParam.params[4] = this.dataform.maintenancePerson
         }
-          
+
 
 
           this.requestParam.params[5] = this.dataform.keeper
@@ -617,8 +623,15 @@ export default {
                             'deviceId': this.dataform.deviceId
                           }
                         }
-
-                        MessageBox.confirm('该设备已经绑定,是否重新绑定?', {
+                        let str1 = '启用'
+                        if(this.dataform.enable == 1){
+                          str1 = '启用'
+                        }else{
+                          str1 = '禁用'
+                        }
+                        let str = '是否'+ str1 +'该用户?'
+                        MessageBox.confirm(str, {
+                        // MessageBox.confirm('该设备已经绑定,是否重新绑定?', {
                           confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
                         }).then(() => {
                           PostDataByName(send_data3).then(() => {

+ 1 - 1
src/views/cost/diesel/index.vue

@@ -1118,7 +1118,7 @@ export default {
             this.dialogFormVisible = false
             this.$notify({
               title: '成功',
-              message: '删除成功',
+              message: response.message,
               type: 'success',
               duration: 2000
             })

+ 54 - 16
src/views/custom/contractManagement/index.vue

@@ -98,6 +98,7 @@
             <el-button v-if="tab1.contractManagement.isContractAdd && parseInt(tab1.detailsSpareParts.detailsList.pastureId) == parseInt(isGroupAdministrator) || parseInt(isEmployeid) == 0" class="filter-item" type="primary" icon="el-icon-edit" :disabled="tab1.detailsSpareParts.detailsList.statued=='终止' || tab1.detailsSpareParts.detailsList.statued=='已过期' || tab1.detailsSpareParts.detailsList.statued=='新增未通过'" @click="handleTab1Create2">新增</el-button>
             <el-button v-if="tab1.contractManagement.isContractChange && parseInt(tab1.detailsSpareParts.detailsList.pastureId) == parseInt(isGroupAdministrator) || parseInt(isEmployeid) == 0" class="filter-item" type="primary" icon="el-icon-edit" :disabled="tab1.detailsSpareParts.detailsList.statued=='终止' || tab1.detailsSpareParts.detailsList.statued=='已过期' || tab1.detailsSpareParts.detailsList.statued=='新增未通过'" @click="handleTab1Change2">变更</el-button>
             <el-button v-if="tab1.contractManagement.isContractExport" class="filter-item" type="primary" icon="el-icon-edit" @click="handleTab1Export2">导出</el-button>
+            <el-button v-if="tab1.contractManagement.isContractUplaod" class="filter-item" type="success" icon="el-icon-upload2" @click="sapUpload">SAP上传</el-button>
           </div>
           <el-table
             :key="tab1.detailsSpareParts.tableKey"
@@ -136,9 +137,9 @@
             <el-table-column label="计量单位" min-width="120px" align="center" prop="unit" />
             <el-table-column label="计划量" sortable min-width="120px" align="center" prop="planAmount" />
             <el-table-column label="单价" sortable min-width="120px" align="center" prop="price" />
+            <el-table-column label="备注" sortable min-width="120px" align="center" prop="remark" />
             <el-table-column label="使用周期" min-width="120px" align="center" prop="lifeCycle" />
             <el-table-column label="合同差异项" min-width="120px" align="center" prop="contractVarianceItem" />
-            <el-table-column label="备注" min-width="120px" align="center" prop="remark" />
           </el-table>
           <pagination v-show="tab1.detailsSpareParts.total>0" :total="tab1.detailsSpareParts.total" :page.sync="tab1.detailsSpareParts.getdataListParm.offset" :limit.sync="tab1.detailsSpareParts.getdataListParm.pagecount" @pagination="getTab1List2" />
         </div>
@@ -537,6 +538,11 @@
               <el-input v-model="scope.row.price" />
             </template>
           </el-table-column>
+          <el-table-column label="备注" min-width="110px" align="center">
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.remark" type="textarea" placeholder="备注" autosize maxlength="100" show-word-limit />
+            </template>
+          </el-table-column>
           <el-table-column label="使用周期" min-width="110px" align="center" valign="middle">
               <template slot-scope="scope">
                 <el-input v-model="scope.row.lifeCycle" />
@@ -547,11 +553,6 @@
                 <el-input v-model="scope.row.contractVarianceItem" />
               </template>
             </el-table-column>
-            <el-table-column label="备注" min-width="110px" align="center">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.remark" type="textarea" placeholder="备注" autosize maxlength="100" show-word-limit />
-              </template>
-            </el-table-column>
           <el-table-column label="操作" align="center" width="100px" class-name="small-padding fixed-width" fixed="right">
             <template slot-scope="{row}">
               <a class="del" :disabled="isokDisable" @click="partDelete(row)">删除</a>
@@ -991,7 +992,7 @@
 
 <script>
 // 引入
-import { GetDataByName, GetDataByNames, checkButtons, ExecDataByConfig, UpdateDataRelation, PostDataByName, failproccess } from '@/api/common'
+import { GetDataByName, GetDataByNames, checkButtons, ExecDataByConfig, UpdateDataRelation, PostDataByName, failproccess,postJson } from '@/api/common'
 import waves from '@/directive/waves'
 import { parseTime, json2excel, sortChange } from '@/utils/index.js'
 import Pagination from '@/components/Pagination'
@@ -1055,6 +1056,7 @@ export default {
           radioAll: '全部',
           isContractAdd: [],
           isContractExport: [],
+          isContractUplaod: [],
           isContractSee: [],
           isContractChange: [],
           isDisabled: false,
@@ -1376,6 +1378,10 @@ export default {
       const ContractExport = 'customs:contract:export'
       const isContractExport = checkButtons(this.$store.state.user.buttons, ContractExport)
       this.tab1.contractManagement.isContractExport = isContractExport
+      // SAP上传
+      const ContractUplaod = 'customs:contract:sapupload'
+      const isContractUplaod = checkButtons(this.$store.state.user.buttons, ContractUplaod)
+      this.tab1.contractManagement.isContractUplaod = isContractUplaod
       // 变更
       const ContractChange = 'customs:contract:change'
       const isContractChange = checkButtons(this.$store.state.user.buttons, ContractChange)
@@ -2206,8 +2212,8 @@ export default {
           unit: '@insertSpotList.unit',
           contractId: '@insertSpotList.contractId',
           taxcode: '@insertSpotList.taxcode',
-          lifeCycle: '@insertSpotList.lifeCycle',
-          contractVarianceItem: '@insertSpotList.contractVarianceItem',
+          // lifeCycle: '@insertSpotList.lifeCycle',
+          // contractVarianceItem: '@insertSpotList.contractVarianceItem',
         }}
         ExecDataByConfig(this.postDataPramas).then(response => {
           console.log('新增保存发送参数', this.postDataPramas)
@@ -2297,8 +2303,8 @@ export default {
           unit: '@insertSpotList.unit',
           contractId: '@insertSpotList.contractId',
           taxcode: '@insertSpotList.taxcode',
-          lifeCycle: '@insertSpotList.lifeCycle',
-          contractVarianceItem: '@insertSpotList.contractVarianceItem',
+          // lifeCycle: '@insertSpotList.lifeCycle',
+          // contractVarianceItem: '@insertSpotList.contractVarianceItem',
         }}
         ExecDataByConfig(this.postDataPramas).then(response => {
           console.log('新增保存发送参数', this.postDataPramas)
@@ -2596,8 +2602,8 @@ export default {
               unit: '@insertSpotList.unit',
               contractId: '@insertSpotList.contractId',
               taxcode: '@insertSpotList.taxcode',
-              lifeCycle: '@insertSpotList.lifeCycle',
-              contractVarianceItem: '@insertSpotList.contractVarianceItem',
+              // lifeCycle: '@insertSpotList.lifeCycle',
+              // contractVarianceItem: '@insertSpotList.contractVarianceItem',
             }}
           } else {
             this.postDataPramas.data[1].children[0] = { 'name': 'checkcontracPartCode', 'type': 'v', 'parammaps': { pastureId: this.tab1.detailsSpareParts.detailsList.pastureId, providerId: this.tab1.detailsSpareParts.detailsList.providerId, stopTime: this.tab1.detailsSpareParts.detailsList.stopTime, flag: this.tab1.detailsSpareParts.detailsList.flag, isZeroStock: this.tab1.detailsSpareParts.detailsList.isZeroStock, statue: this.tab1.detailsSpareParts.detailsList.statue, partCode: '@insertSpotList.partCode', brandId: '@insertSpotList.brandId' }}
@@ -2616,9 +2622,9 @@ export default {
               remark: '@insertSpotList.remark',
               unit: '@insertSpotList.unit',
               contractId: '@insertSpotList.contractId',
-              lifeCycle: '@insertSpotList.lifeCycle',
-              contractVarianceItem: '@insertSpotList.contractVarianceItem',
-              taxcode: '@insertSpotList.taxcode'
+              // lifeCycle: '@insertSpotList.lifeCycle',
+              // contractVarianceItem: '@insertSpotList.contractVarianceItem',
+              // taxcode: '@insertSpotList.taxcode'
             }}
           }
           this.postDataPramas.data[2] = { 'name': 'updateBigcontract', 'type': 'e', 'parammaps': {
@@ -2922,6 +2928,30 @@ export default {
           json2excel(ExcelDatas, '合同明细', true, 'xlsx')
         })
       })
+    },
+    sapUpload(){
+      if(this.selectList.length == 0){
+        this.$notify({ title: '失败', message: '请勾选数据!'  , type: 'error', duration: 2000 })
+        return false
+      }
+      let url = 'authdata/contract/push'
+      let ids = []
+      this.selectList.forEach((i)=>{
+        ids.push(i.id)
+        console.log(i,'===')
+      })
+      let data = {
+        pastureId:parseInt(Cookies.get('pastureid')),
+        providerId:this.tab1.detailsSpareParts.detailsList.providerId,
+        contractIdList:ids
+      }
+      postJson(url,data).then(response => {
+        if (response.msg !== 'fail') {
+          this.$notify({ title: '成功', message: '上传成功', type: 'success', duration: 2000 })
+        } else {
+          this.$notify({ title: '上传失败', message: response.data, type: 'warning', duration: 2000 })
+        }
+      })
     }
   }
 }
@@ -2930,4 +2960,12 @@ export default {
   /deep/ .el-badge__content.is-fixed{
     z-index: 1;
   }
+  .el-notification__content {
+    white-space: pre-line !important;
+  }
+</style>
+<style lang="scss">
+  .el-notification__content {
+      white-space: pre-line !important;
+    }
 </style>

+ 0 - 2838
src/views/custom/contractManagement/index1.vue

@@ -1,2838 +0,0 @@
-<template>
-  <div class="app-container">
-    <div v-if="isPercentage" class="percentage" style="width: 210px;height: 90px;background: #fff;position: fixed;bottom: 0;left: 0;z-index: 9999999999999;">
-      <h4 style="padding-left: 10px;line-height: 0;">导出进度:</h4>
-      <el-progress style="padding-left: 10px;" :text-inside="true" :stroke-width="26" :percentage="percentage" />
-    </div>
-    <el-tabs v-model="activeName" @tab-click="handleClick">
-      <el-tab-pane label="合同管理" name="first">
-        <div v-if="isContractManagement" class="contractManagement">
-          <div class="filter-container">
-            <el-select v-model="tab1.contractManagement.getdataListParm.parammaps.pastureName" placeholder="牧场" style="width:120px" class="filter-item">
-              <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.name" />
-            </el-select>
-            <el-input v-model="tab1.contractManagement.getdataListParm.parammaps.contractCode" placeholder="合同编号" style="width: 140px;" class="filter-item" />
-            <el-select v-model="tab1.contractManagement.getdataListParm.parammaps.statue" clearable placeholder="合同状态" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in contractStatusList" :key="item.id" :label="item.name" :value="item.name" />
-            </el-select>
-            <el-select v-model="tab1.contractManagement.getdataListParm.parammaps.providerName" filterable clearable style="width: 140px;" placeholder="供应商" class="filter-item">
-              <el-option v-for="item in findAllProvider" :key="item.id" :label="item.name" :value="item.name" />
-            </el-select>
-            <el-select v-model="tab1.contractManagement.getdataListParm.parammaps.isZeroStock" clearable placeholder="是否零库存" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in isZeroInventoryList" :key="item.id" :label="item.name" :value="item.id" />
-            </el-select>
-            <el-date-picker ref="tab1InputDatetime1" v-model="tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
-            <el-date-picker ref="tab1InputDatetime2" v-model="tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="审批日期" end-placeholder="审批日期" />
-            <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleTab1Filter">搜索</el-button>
-            <div>
-              <el-button v-if="tab1.contractManagement.isContractAdd" class="filter-item" type="primary" icon="el-icon-edit" @click="handleTab1Create">新增</el-button>
-              <el-radio-group v-model="tab1.contractManagement.radioAll" style="margin-top:-9px" @change="changeContractManagementAll()">
-                <el-radio-button label="全部" />
-                <el-badge :value="pending.total" class="item">
-                  <el-radio-button label="待处理" />
-                </el-badge>
-                <el-radio-button label="已处理" />
-              </el-radio-group>
-            </div>
-          </div>
-          <el-table
-            :key="tab1.contractManagement.tableKey"
-            v-loading="tab1.contractManagement.listLoading"
-            element-loading-text="给我一点时间"
-            :data="tab1.contractManagement.list"
-            border
-            fit
-            highlight-current-row
-            style="width: 100%;"
-            :row-style="rowStyle"
-            :cell-style="cellStyle"
-            class="elTable table-fixed"
-            :max-height="myHeight"
-          >
-            <el-table-column label="序号" align="center" type="index" width="50px">
-              <template slot-scope="scope">
-                <span>{{ scope.$index + (tab1.contractManagement.pageNum-1) * tab1.contractManagement.pageSize + 1 }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="牧场" min-width="120px" align="center" prop="pastureName" />
-            <el-table-column label="合同编号" min-width="120px" align="center" prop="contractCode" />
-            <el-table-column label="合同状态" min-width="110px" align="center" prop="statued" />
-            <el-table-column label="供应商" min-width="120px" align="center" prop="providerName" />
-            <el-table-column label="合同开始日期" sortable min-width="120px" align="center" prop="startTime" />
-            <el-table-column label="合同截止日期" sortable min-width="120px" align="center" prop="stopTime" />
-            <el-table-column label="零库存" min-width="110px" align="center">
-              <template slot-scope="scope">
-                <span v-if="scope.row.isZeroStock == 0">否</span>
-                <span v-if="scope.row.isZeroStock == 1">是</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="录入人" min-width="120px" align="center" prop="creatorMan" />
-            <el-table-column label="录入时间" sortable min-width="120px" align="center" prop="creatorTime" />
-            <el-table-column label="审批时间" sortable min-width="120px" align="center" prop="SHdateTime" />
-            <el-table-column label="操作" align="center" width="350px" class-name="small-padding fixed-width" fixed="right">
-              <template slot-scope="{row}">
-                <el-button v-if="tab1.contractManagement.isContractSee" type="primary" size="mini" @click="form_see(row)">查看</el-button>
-                <el-button v-if="tab1.contractManagement.isContractSee" type="primary" style="width:70px;" size="mini" @click="handleTab1DetailsSpareParts(row)">备件明细</el-button>
-                <el-button v-if="tab1.contractManagement.isContractSee" type="primary" style="width:70px;" size="mini" @click="handleTab1ChangeRecord(row)">变更记录</el-button>
-                <el-button v-if="tab1.contractManagement.isContractChange && (row.statued == '正常' || row.statued == '已过期')" :disabled="parseInt(row.pastureId) == 18 && parseInt(isGroupAdministrator) !== 18" type="warning" size="mini" @click="handleTab1Change(row)">变更</el-button>
-              </template>
-              <!-- //parseInt(row.pastureId) == 18 && parseInt(isGroupAdministrator) == 18 -->
-            </el-table-column>
-          </el-table>
-          <pagination v-show="tab1.contractManagement.total>0" :total="tab1.contractManagement.total" :page.sync="tab1.contractManagement.getdataListParm.offset" :limit.sync="tab1.contractManagement.getdataListParm.pagecount" @pagination="getTab1List" />
-        </div>
-        <div v-if="isDetailsSpareParts" class="DetailsSpareParts">
-          <div class="title" style="height: 30px;">
-            <b style="font-size: 20px;float: left;">备件明细</b>
-            <a style="float: right;font-weight: 600;font-size: 20px;" @click="handleTab1goBack()">&lt;返回</a>
-          </div>
-          <div class="filter-container">
-            <el-input v-model="tab1.detailsSpareParts.getdataListParm.parammaps.partCode" placeholder="备件编号" style="width: 140px;" class="filter-item" />
-            <el-input v-model="tab1.detailsSpareParts.getdataListParm.parammaps.partName" placeholder="备件名称" style="width: 140px;" class="filter-item" />
-            <el-input v-model="tab1.detailsSpareParts.getdataListParm.parammaps.specification" placeholder="备件规格" style="width: 140px;" class="filter-item" />
-            <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleTab1Filter2">搜索</el-button>
-          </div>
-          <div class="filter-container">
-            <el-button v-if="tab1.contractManagement.isContractAdd && parseInt(tab1.detailsSpareParts.detailsList.pastureId) == parseInt(isGroupAdministrator) || parseInt(isEmployeid) == 0" class="filter-item" type="primary" icon="el-icon-edit" :disabled="tab1.detailsSpareParts.detailsList.statued=='终止' || tab1.detailsSpareParts.detailsList.statued=='已过期' || tab1.detailsSpareParts.detailsList.statued=='新增未通过'" @click="handleTab1Create2">新增</el-button>
-            <el-button v-if="tab1.contractManagement.isContractChange && parseInt(tab1.detailsSpareParts.detailsList.pastureId) == parseInt(isGroupAdministrator) || parseInt(isEmployeid) == 0" class="filter-item" type="primary" icon="el-icon-edit" :disabled="tab1.detailsSpareParts.detailsList.statued=='终止' || tab1.detailsSpareParts.detailsList.statued=='已过期' || tab1.detailsSpareParts.detailsList.statued=='新增未通过'" @click="handleTab1Change2">变更</el-button>
-            <el-button v-if="tab1.contractManagement.isContractExport" class="filter-item" type="primary" icon="el-icon-edit" @click="handleTab1Export2">导出</el-button>
-          </div>
-          <el-table
-            :key="tab1.detailsSpareParts.tableKey"
-            v-loading="tab1.detailsSpareParts.listLoading"
-            element-loading-text="给我一点时间"
-            :data="tab1.detailsSpareParts.list"
-            border
-            fit
-            highlight-current-row
-            style="width: 100%;"
-            :row-style="rowStyle"
-            :cell-style="cellStyle"
-            class="elTable table-fixed"
-            @sort-change="tableSort1"
-            :max-height="myHeight"
-          >
-            <el-table-column label="序号" align="center" type="index" width="50px">
-              <template slot-scope="scope">
-                <span>{{ scope.$index + (tab1.detailsSpareParts.pageNum-1) * tab1.detailsSpareParts.pageSize + 1 }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="备件编号" min-width="120px" align="center" prop="partCode" />
-            <el-table-column label="备件名称" min-width="120px" align="center" prop="partName" />
-            <el-table-column label="备件规格" min-width="120px" align="center" prop="specification" />
-            <el-table-column label="备件图片" prop="specifications" align="center" min-width="110px">
-              <template slot-scope="scope">
-                <el-popover placement="right" title="" trigger="hover">
-                  <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
-                  <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
-                </el-popover>
-              </template>
-            </el-table-column>
-            <el-table-column label="备件品牌" min-width="120px" align="center" prop="brand" />
-            <el-table-column label="计量单位" min-width="120px" align="center" prop="unit" />
-            <el-table-column label="计划量" sortable min-width="120px" align="center" prop="planAmount" />
-            <el-table-column label="单价" sortable min-width="120px" align="center" prop="price" />
-            <el-table-column label="备注" min-width="120px" align="center" prop="remark" />
-          </el-table>
-          <pagination v-show="tab1.detailsSpareParts.total>0" :total="tab1.detailsSpareParts.total" :page.sync="tab1.detailsSpareParts.getdataListParm.offset" :limit.sync="tab1.detailsSpareParts.getdataListParm.pagecount" @pagination="getTab1List2" />
-        </div>
-
-        <div v-if="isChangeRecord" class="ChangeRecord">
-          <div class="title" style="height: 30px;">
-            <b style="font-size: 20px;float: left;">变更记录</b>
-            <a style="float: right;font-weight: 600;font-size: 20px;" @click="handleTab1goBack2()">&lt;返回</a>
-          </div>
-          <div class="filter-container">
-            <el-input v-model="tab1.changeRecord.getdataListParm.parammaps.contractCode" placeholder="流水编号" style="width: 140px;" class="filter-item" />
-            <el-select v-model="tab1.changeRecord.getdataListParm.parammaps.SHtype" clearable placeholder="变更类型" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in changeTypeList" :key="item.id" :label="item.name" :value="item.id" />
-            </el-select>
-            <el-select v-model="tab1.changeRecord.getdataListParm.parammaps.stuteSH" clearable placeholder="审核状态" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in auditStatusList" :key="item.id" :label="item.name" :value="item.id" />
-            </el-select>
-            <el-date-picker ref="tab1InputDatetime3" v-model="tab1.changeRecord.getdataListParm.parammaps.tab1InputDatetime3" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
-            <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleTab1Filter3">搜索</el-button>
-          </div>
-          <div class="filter-container">
-            <el-radio-group v-model="tab1.changeRecord.radioAll" style="margin-top:-9px" @change="changeChangeRecordAll()">
-              <el-radio-button label="全部" />
-              <el-radio-button label="待处理" />
-              <el-radio-button label="已处理" />
-            </el-radio-group>
-          </div>
-          <el-table
-            :key="tab1.changeRecord.tableKey"
-            v-loading="tab1.changeRecord.listLoading"
-            element-loading-text="给我一点时间"
-            :data="tab1.changeRecord.list"
-            border
-            fit
-            highlight-current-row
-            style="width: 100%;"
-            :row-style="rowStyle"
-            :cell-style="cellStyle"
-            class="elTable table-fixed"
-            :max-height="myHeight"
-          >
-            <el-table-column label="序号" align="center" type="index" width="50px">
-              <template slot-scope="scope">
-                <span>{{ scope.$index + (tab1.changeRecord.pageNum-1) * tab1.changeRecord.pageSize + 1 }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="流水编号" min-width="120px" align="center" prop="contractCode" />
-            <el-table-column label="变更类型" min-width="110px" align="center">
-              <template slot-scope="scope">
-                <span v-if="scope.row.SHtype == 0">新增合同</span>
-                <span v-if="scope.row.SHtype == 1">新增备件</span>
-                <span v-if="scope.row.SHtype == 2">变更备件</span>
-                <span v-if="scope.row.SHtype == 3">合同变更</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="录入人" min-width="120px" align="center" prop="creatorMan" />
-            <el-table-column label="录入时间" sortable min-width="120px" align="center" prop="creatorTime" />
-            <el-table-column label="审核状态" min-width="110px" align="center">
-              <template slot-scope="scope">
-                <span v-if="scope.row.SHStatus == 2 || scope.row.SHStatus == 3 || scope.row.SHStatus == 5">审核中</span>
-                <span v-if="scope.row.SHStatus == 4 || scope.row.SHStatus == 6 || scope.row.SHStatus == 8">未通过</span>
-                <span v-if="scope.row.SHStatus == 7">通过</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="操作" align="center" width="350px" class-name="small-padding fixed-width" fixed="right">
-              <template slot-scope="{row}">
-                <el-button type="primary" size="mini" @click="handleTab1See3(row)">查看</el-button>
-                <el-button v-if="tab1.changeRecord.isContractDelete && (row.SHStatus == 4 || row.SHStatus == 6 || row.SHStatus == 8)" type="success" size="mini" @click="handleTab1Update3(row)">编辑</el-button>
-                <el-button v-if="tab1.changeRecord.isContractExamineZG && row.SHStatus == 2" type="success" style="display:inline-block" size="mini" @click="handleTab1Examine(row)">审核1</el-button>
-                <el-button v-else type="success" style="display:none" size="mini" @click="handleTab1Examine(row)">审核1</el-button>
-                <!-- 设备助理审核 -->
-                <!-- <el-button v-if="tab1.changeRecord.isContractExamineZL && row.SHStatus == 3" type="success" style="display:inline-block" size="mini" @click="handleExamine2(row)">审核2</el-button>
-                <el-button v-else type="success" style="display:none" size="mini" @click="handleExamine2(row)">审核2</el-button> -->
-                <!-- 设备中心审核 -->
-                <el-button v-if="tab1.changeRecord.isContractExamineZX && row.SHStatus == 5" type="success" style="display:inline-block" size="mini" @click="handleTab1Examine3(row)">审核2</el-button>
-                <el-button v-else type="success" style="display:none" size="mini" @click="handleTab1Examine3(row)">审核2</el-button>
-                <el-button v-if="tab1.changeRecord.isContractDelete && (row.SHStatus == 4 || row.SHStatus == 6 || row.SHStatus == 8) " type="danger" size="mini" @click="handleTab1Delete3(row)">删除</el-button>
-                <el-button v-else style="display:none" type="danger" size="mini" @click="handleTab1Delete3(row)">删除</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-          <pagination v-show="tab1.changeRecord.total>0" :total="tab1.changeRecord.total" :page.sync="tab1.changeRecord.getdataListParm.offset" :limit.sync="tab1.changeRecord.getdataListParm.pagecount" @pagination="getTab1List3" />
-        </div>
-      </el-tab-pane>
-      <el-tab-pane label="合同明细" name="second">
-        <div class="filter-container">
-          <el-select v-model="tab2.getdataListParm.parammaps.pastureName" placeholder="牧场" style="width:120px" class="filter-item">
-            <el-option v-for="item in findAllPastureList2" :key="item.id" :label="item.name" :value="item.name" />
-          </el-select>
-          <el-input v-model="tab2.getdataListParm.parammaps.contractCode" placeholder="合同编号" style="width: 140px;" class="filter-item" />
-          <el-select v-model="tab2.getdataListParm.parammaps.statue" clearable placeholder="合同状态" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in contractStatusList" :key="item.id" :label="item.name" :value="item.name" />
-          </el-select>
-          <el-select v-model="tab2.getdataListParm.parammaps.isZeroStock" clearable placeholder="是否零库存" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in isZeroInventoryList" :key="item.id" :label="item.name" :value="item.id" />
-            </el-select>
-          <el-input v-model="tab2.getdataListParm.parammaps.partCode" placeholder="备件编号" style="width: 140px;" class="filter-item" />
-          <el-input v-model="tab2.getdataListParm.parammaps.partName" placeholder="备件名称" style="width: 140px;" class="filter-item" />
-          <el-select v-model="tab2.getdataListParm.parammaps.providerName" filterable clearable style="width: 140px;" placeholder="供应商" class="filter-item">
-            <el-option v-for="item in findAllProvider" :key="item.id" :label="item.name" :value="item.name" />
-          </el-select>
-          <el-date-picker ref="inputDatetime" v-model="tab2.getdataListParm.parammaps.inputDatetime" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
-          <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleTab2Filter">搜索</el-button>
-          <el-button v-if="tab1.contractManagement.isContractExport" class="filter-item" type="primary" icon="el-icon-edit" @click="handleTab2Export">导出</el-button>
-        </div>
-        <el-table
-          :key="tab2.tableKey"
-          v-loading="tab2.listLoading"
-          element-loading-text="给我一点时间"
-          :data="tab2.list"
-          border
-          fit
-          highlight-current-row
-          style="width: 100%;"
-          :row-style="rowStyle"
-          :cell-style="cellStyle"
-          class="elTable table-fixed"
-          @sort-change="tableSort2"
-          :max-height="myHeight"
-        >
-          <el-table-column label="序号" align="center" type="index" width="50px">
-            <template slot-scope="scope">
-              <span>{{ scope.$index + (tab2.pageNum-1) * tab2.pageSize + 1 }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="牧场" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.pastureName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="合同编号" min-width="130px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.contractCode }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="合同状态" min-width="100px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.statue }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="供应商" min-width="120px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.providerName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="合同开始日期" sortable prop="startTime" min-width="110px" align="center" />
-          <el-table-column label="合同截止日期" sortable prop="stopTime" min-width="110px" align="center" />
-          <el-table-column label="零库存" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span v-if="scope.row.isZeroStock == 0">否</span>
-              <span v-if="scope.row.isZeroStock == 1">是</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件编号" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partCode }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件名称" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件规格" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.specification }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件品牌" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.brand }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="计量单位" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.unit }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="计划量" sortable prop="planAmount" min-width="110px" align="center" />
-          <el-table-column label="单价" sortable prop="price" min-width="110px" align="center" />
-          <el-table-column label="备注" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.remark }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="录入人" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.creatorMan }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="录入日期" sortable prop="creatorTime" min-width="110px" align="center" />
-        </el-table>
-        <pagination v-show="tab2.total>0" :total="tab2.total" :page.sync="tab2.getdataListParm.offset" :limit.sync="tab2.getdataListParm.pagecount" @pagination="getTab2List" />
-      </el-tab-pane>
-    </el-tabs>
-    <!-- 合同管理新增/查看/变更 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="tab1.contractManagement.create.dialogFormVisible" :close-on-click-modal="false" width="90%">
-      <div class="app-add">
-        <el-form ref="createTemp" :rules="rules" :model="tab1.contractManagement.create.temp" label-position="right" label-width="120px" style="width: 90%;margin:0 auto;">
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="合同编号:" prop="contractCode">
-                <el-input ref="contractCode" v-model="tab1.contractManagement.create.temp.contractCode" disabled />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="牧场:" prop="pastureId">
-                <el-select v-model="tab1.contractManagement.create.temp.pastureId" placeholder="牧场" class="filter-item" style="width:100%;" :disabled="disabled">
-                  <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.id" />
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="供应商:" prop="providerName">
-                <el-autocomplete v-model="tab1.contractManagement.create.temp.providerName" :disabled="dialogStatus==='see' || tab1.contractManagement.isDisabled || dialogStatus==='change'" value-key="name" class="inline-input" :fetch-suggestions="providerSearch" placeholder="请输入供应商名称或供应商编号" style="width:100%;" @focus="handleFocusProvider" @blur="handleBlurProvider" @select="handleSelectProvider" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="开始日期:" prop="startTime">
-                <el-date-picker v-model="tab1.contractManagement.create.temp.startTime" :disabled="dialogStatus==='see' || tab1.contractManagement.isDisabled || dialogStatus==='change'" type="date" placeholder="开始日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeTime" />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="截止日期:" prop="stopTime">
-                <el-date-picker v-model="tab1.contractManagement.create.temp.stopTime" style="width:100%;" :disabled="dialogStatus==='see' || tab1.contractManagement.isDisabled" type="date" :clearable="false" placeholder="截止日期" :picker-options="pickerOptions2" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeTime" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus=='create'" :span="8">
-              <el-form-item label="合同状态:" prop="statue">
-                <el-select v-model="tab1.contractManagement.create.temp.statue" clearable placeholder="合同状态" class="filter-item" style="width: 100%;" disabled>
-                  <el-option v-for="item in contractStatus2List" :key="item.id" :label="item.name" :value="item.id" />
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus=='change' || dialogStatus=='see'" :span="8">
-              <el-form-item label="合同状态:" prop="statued">
-                <el-input ref="contractCode" v-model="tab1.contractManagement.create.temp.statued" placeholder="合同状态" disabled />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="零库存:" prop="isZeroStock">
-                <el-radio-group v-model="tab1.contractManagement.create.temp.isZeroStock" :disabled="dialogStatus==='see' || tab1.contractManagement.isDisabled || dialogStatus==='change'" @change="changeIsZero">
-                  <el-radio v-model="tab1.contractManagement.create.temp.isZeroStock" :label="1">是</el-radio>
-                  <el-radio v-model="tab1.contractManagement.create.temp.isZeroStock" :label="0">否</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="录入人:" prop="creatorId">
-                <el-select ref="creatorId" v-model="tab1.contractManagement.create.temp.creatorId" :disabled="tab1.contractManagement.isDisabled || dialogStatus==='see' || dialogStatus==='change'" placeholder="录入人" class="filter-item" style="width:100%;" @change="changeCreatorMan">
-                  <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="录入日期:" prop="creatorTime">
-                <el-date-picker v-model="tab1.contractManagement.create.temp.creatorTime" :disabled="disabled" type="date" :picker-options="pickerOptions3" placeholder="录入日期" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="备注:" prop="remark">
-                <el-input ref="remark" v-model="tab1.contractManagement.create.temp.remark" placeholder="备注" :disabled="tab1.contractManagement.isDisabled || dialogStatus==='see' || dialogStatus==='change'" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus !== 'see'" :span="8">
-              <el-form-item label="同步牧场:" prop="synchronousPasture">
-                <el-select v-model="tab1.contractManagement.create.temp.synchronousPasture" multiple collapse-tags placeholder="同步牧场" :disabled="isGroupAdministrator !== '18'">
-                  <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.id" />
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col v-else :span="16">
-              <el-form-item label="同步牧场:" prop="pastureName2">
-                <el-input v-model="tab1.contractManagement.create.temp.pastureName2" type="textarea" :rows="2" placeholder="同步牧场" :disabled="dialogStatus=='see'" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <!-- <el-row v-if="dialogStatus == 'see'">
-            <el-col>
-              <el-form-item label="流程进度1" />
-              <el-steps :active="tab1.contractManagement.create.temp.active" align-center finish-status="success">
-                <el-step
-                  v-for="(item,index) in tab1.contractManagement.create.temp.activeList"
-                  :key="index"
-                  :title="item.title"
-                  :status="item.status"
-                >
-                  <template slot="description">
-                    <div class="step-row">
-                      <div>{{ item.name }}&nbsp;&nbsp;{{ item.date }}</div>
-                      <div>{{ item.reason }}</div>
-                    </div>
-                  </template>
-                </el-step>
-              </el-steps>
-            </el-col>
-          </el-row> -->
-        </el-form>
-        <div slot="footer" class="dialog-footer" style="bottom:5px">
-          <el-button v-if="dialogStatus =='change'" type="primary" @click="terminationData()">终止合同</el-button>
-          <el-button v-if="dialogStatus !=='see'" type="primary" :disabled="isokDisable" @click="dialogStatus==='create'?add_dialog_save():changeData()">保存并关闭</el-button>
-          <el-button @click="tab1.contractManagement.create.dialogFormVisible = false;getTab1List();tab1.contractManagement.create.temp.providerName=''">取消并关闭</el-button>
-        </div>
-      </div>
-    </el-dialog>
-
-    <!-- 备件明细新增/变更 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="tab1.detailsSpareParts.create.dialogFormVisible" :close-on-click-modal="false" width="90%">
-      <div v-if="tab1.detailsSpareParts.updateList.SHtype !== 0 && tab1.detailsSpareParts.updateList.SHtype !== 3" class="app-add">
-        <el-form ref="createTemp2" :rules="rules" :model="tab1.detailsSpareParts.create.temp" label-position="right" label-width="120px" style="width: 90%;margin:0 auto;">
-          <el-row>
-            <el-col :span="10">
-              <el-form-item label="备件:" prop="partCode">
-                <el-autocomplete v-model="tab1.detailsSpareParts.partCode" value-key="name1" class="inline-input" :fetch-suggestions="sparePartSearch" placeholder="请输入备件编号或备件名称或备件规格" style="width:550px" @select="handleSelectSparePart">
-                  <template slot-scope="{ item }">
-                    <b>备件编号:</b><div class="name" style="display: inline;">{{ item.partCode }}</div>&nbsp;
-                    |  &nbsp;<b>备件名称:</b><span class="addr">{{ item.partName }}</span>&nbsp;
-                    |  &nbsp;<b>备件规格:</b><span class="addr">{{ item.specification }}</span>
-                  </template>
-                </el-autocomplete>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-        <div v-if="dialogStatus=='tab1create2'" class="filter-container" style="float: right;">
-          <el-button v-waves class="filter-item" type="info" icon="el-icon-tickets" @click="handleTab1DownloadTemp2">模板</el-button>
-          <el-upload style="display: inline-block;" :headers="headers" :data="uploadData" :action="uploadExcelUrl" :show-file-list="false" :before-upload="beforeImportExcel" :on-success="handleImportExcelSuccess">
-            <el-button v-waves :disabled="tab1.detailsSpareParts.isDisabledImport" class="filter-item" type="warning" icon="el-icon-download">导入</el-button>
-          </el-upload>
-        </div>
-        <el-table
-          :key="tab1.detailsSpareParts.tableKeyAdd"
-          v-loading="tab1.detailsSpareParts.listLoadingAdd"
-          element-loading-text="给我一点时间"
-          :data="tab1.detailsSpareParts.listAdd"
-          border
-          fit
-          highlight-current-row
-          style="width: 100%;"
-          :row-style="rowStyle"
-          :cell-style="cellStyle"
-          class="elTable table-fixed"
-        >
-          <el-table-column label="序号" align="center" type="index" width="50px" />
-          <el-table-column label="备件编号" min-width="90px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partCode }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件名称" min-width="80px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件规格" min-width="80px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.specification }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件图片" prop="specifications" align="center" min-width="110px">
-            <template slot-scope="scope">
-              <el-popover placement="right" title="" trigger="hover">
-                <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
-                <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
-              </el-popover>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件品牌" min-width="120px" align="center">
-            <template slot-scope="scope">
-              <el-autocomplete v-model="scope.row.brand" value-key="brandName" class="inline-input" :fetch-suggestions="brandSearch" placeholder="请输入品牌" style="width:100%;" @focus="handleFocusBrand( scope.row)" @blur="handleBlurBrand(scope.row)" @select="(value)=> {handleSelectBrand(value, scope.row)}" />
-            </template>
-          </el-table-column>
-          <el-table-column label="计量单位" min-width="60px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.unit }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="计划量" min-width="70px" align="center" valign="middle">
-            <template slot-scope="scope">
-              <el-form :model="scope.row" :rules="rules">
-                <el-form-item prop="planAmount">
-                  <el-input ref="planAmount" v-model="scope.row.planAmount" style="margin-top:15px" />
-                </el-form-item>
-              </el-form>
-            </template>
-          </el-table-column>
-          <el-table-column label="单价" min-width="80px" align="center" valign="middle">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.price" />
-            </template>
-          </el-table-column>
-          <el-table-column label="税码" min-width="80px" align="center" valign="middle">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.taxcode" />
-            </template>
-          </el-table-column>
-          <el-table-column label="备注" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.remark" type="textarea" placeholder="备注" autosize maxlength="100" show-word-limit />
-            </template>
-          </el-table-column>
-          <el-table-column label="操作" align="center" width="100px" class-name="small-padding fixed-width" fixed="right">
-            <template slot-scope="{row}">
-              <a class="del" :disabled="isokDisable" @click="partDelete(row)">删除</a>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div v-if="tab1.detailsSpareParts.updateList.SHtype == 0 || tab1.detailsSpareParts.updateList.SHtype == 3" class="app-add">
-        <el-form ref="createTemp2" :rules="rules" :model="tab1.detailsSpareParts.create.temp" label-position="right" label-width="130px" style="width: 90%;margin:0 auto;">
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="牧场:" prop="pastureName">
-                <el-input ref="pastureName" v-model="tab1.detailsSpareParts.create.temp.pastureName" placeholder="牧场" disabled />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="合同编号:" prop="contractCode">
-                <el-input ref="contractCode" v-model="tab1.detailsSpareParts.create.temp.contractCode" placeholder="合同编号" disabled />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="供应商:" prop="providerName">
-                <el-input ref="providerName" v-model="tab1.detailsSpareParts.create.temp.providerName" placeholder="合同编号" disabled />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="开始日期:" prop="startTime">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.startTime" :disabled="tab1.detailsSpareParts.create.temp.SHtype == 3" type="date" placeholder="开始日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus == 'tab1Update2' && tab1.detailsSpareParts.updateList.SHtype == 0" :span="8">
-              <el-form-item label="截止日期:" prop="stopTime">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.stopTime" type="date" placeholder="截止日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus == 'tab1Update2' && tab1.detailsSpareParts.updateList.SHtype !== 0" :span="8">
-              <el-form-item label="截止日期后:" prop="stopTimeHis">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.stopTimeHis" type="date" placeholder="截止日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" :picker-options="pickerOptions2" />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="合同状态:" prop="statued">
-                <span>{{ tab1.detailsSpareParts.create.temp.statued }}</span>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="零库存:" prop="isZeroStock">
-                <el-radio-group v-model="tab1.detailsSpareParts.create.temp.isZeroStock" :disabled="tab1.detailsSpareParts.create.temp.SHtype == 3">
-                  <el-radio v-model="tab1.detailsSpareParts.create.temp.isZeroStock" :label="1">是</el-radio>
-                  <el-radio v-model="tab1.detailsSpareParts.create.temp.isZeroStock" :label="0">否</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="录入人:" prop="creatorMan">
-                <el-input ref="creatorMan" v-model="tab1.detailsSpareParts.create.temp.creatorMan" placeholder="录入人" disabled />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="录入日期:" prop="creatorTime">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.creatorTime" :disabled="tab1.detailsSpareParts.create.temp.SHtype == 3 || dialogStatus=='tab1Update2' " type="date" placeholder="截止日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="备注:" prop="remark">
-                <el-input ref="remark" v-model="tab1.detailsSpareParts.create.temp.remark" placeholder="备注" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="tab1.detailsSpareParts.create.temp.SHtype !== 0 && dialogStatus !=='tab1Update2'" :span="8">
-              <el-form-item label="变更后截止日期:" prop="stopTimeHis">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.stopTimeHis" :disabled="tab1.detailsSpareParts.create.temp.SHtype !== 3" type="date" placeholder="截止日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" :picker-options="pickerOptions2" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-      </div>
-      <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom:10px">
-        <el-button v-if="dialogStatus=='tab1create2'" type="primary" :disabled="isokDisable" @click="add_dialog_save2()">保存并关闭</el-button>
-        <el-button v-if="dialogStatus=='tab1change2'" type="primary" :disabled="isokDisable" @click="changeData2()">保存并关闭</el-button>
-        <el-button v-if="dialogStatus=='tab1Update2'" type="primary" :disabled="isokDisable" @click="edit_dialog_save2()">保存并关闭</el-button>
-        <el-button @click="tab1.detailsSpareParts.create.dialogFormVisible = false;">关闭</el-button>
-      </div>
-    </el-dialog>
-
-    <!-- 变更记录查看 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="tab1.changeRecord.see.dialogFormVisible" :close-on-click-modal="false" width="90%">
-      <div class="app-see">
-        <div class="app-contentcard">
-          <el-form ref="seeTemp" :rules="rules" :model="tab1.changeRecord.see.temp" label-position="right" label-width="128px" style="width: 90%;margin:0 auto;">
-            <div v-if="tab1.changeRecord.see.temp.SHtype == 0 || tab1.changeRecord.see.temp.SHtype == 3">
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="牧场:" prop="pastureName">
-                    <span> {{ tab1.changeRecord.see.temp.pastureName }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="合同编号:" prop="contractCode">
-                    <span> {{ tab1.changeRecord.see.temp.contractCode }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="供应商:" prop="providerName">
-                    <span> {{ tab1.changeRecord.see.temp.providerName }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="开始日期:" prop="startTime">
-                    <span> {{ tab1.changeRecord.see.temp.startTime }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="dialogStatus !== 'tab1See2'" :span="8">
-                  <el-form-item label="截止日期:" prop="stopTime">
-                    <span> {{ tab1.changeRecord.see.temp.stopTime }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="dialogStatus == 'tab1See2' && tab1.changeRecord.see.temp.SHtype !== 3 && tab1.changeRecord.see.temp.SHtype !== 0" :span="8">
-                  <el-form-item label="截止日期:" prop="stopTimeHis">
-                    <span> {{ tab1.changeRecord.see.temp.stopTimeHis }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="dialogStatus == 'tab1See2' && tab1.changeRecord.see.temp.SHtype == 3" :span="8">
-                  <el-form-item label="截止日期:" prop="stopTime">
-                    <span> {{ tab1.changeRecord.see.temp.stopTime }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="dialogStatus == 'tab1See2' && tab1.changeRecord.see.temp.SHtype == 0" :span="8">
-                  <el-form-item label="截止日期:" prop="stopTime">
-                    <span> {{ tab1.changeRecord.see.temp.stopTime }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="合同状态:" prop="statued">
-                    <span>{{ tab1.changeRecord.see.temp.statued }}</span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="零库存:" prop="isZeroStock">
-                    <el-radio-group v-model="tab1.changeRecord.see.temp.isZeroStock" disabled>
-                      <el-radio v-model="tab1.changeRecord.see.temp.isZeroStock" :label="1">是</el-radio>
-                      <el-radio v-model="tab1.changeRecord.see.temp.isZeroStock" :label="0">否</el-radio>
-                    </el-radio-group>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="录入人:" prop="creatorMan">
-                    <span> {{ tab1.changeRecord.see.temp.creatorMan }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="录入日期:" prop="creatorTime">
-                    <span> {{ tab1.changeRecord.see.temp.creatorTime }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="备注:" prop="remark">
-                    <span> {{ tab1.changeRecord.see.temp.remark }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="共享牧场:" prop="pastureNamesOld">
-                    <span> {{ tab1.changeRecord.see.temp.pastureNamesOld }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="tab1.changeRecord.see.temp.SHtype == 3" :span="8">
-                  <el-form-item label="变更后截止日期:" prop="stopTimeHis">
-                    <span> {{ tab1.changeRecord.see.temp.stopTimeHis }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="变更后共享牧场:" prop="pastureNamesNow">
-                    <span> {{ tab1.changeRecord.see.temp.pastureNamesNow }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-            <div v-if="tab1.changeRecord.see.temp.SHtype == 1 || tab1.changeRecord.see.temp.SHtype == 2">
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="流水编号:" prop="contractCode">
-                    <span> {{ tab1.changeRecord.see.temp.contractCode }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="录入人:" prop="creatorMan">
-                    <span> {{ tab1.changeRecord.see.temp.creatorMan }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="录入日期:" prop="creatorTime">
-                    <span> {{ tab1.changeRecord.see.temp.creatorTime }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-          </el-form>
-          <div v-if="tab1.changeRecord.see.temp.SHtype == 1">
-            <el-table
-              :key="tab1.changeRecord.see.tableKey"
-              element-loading-text="给我一点时间"
-              :data="tab1.changeRecord.see.list"
-              border
-              fit
-              highlight-current-row
-              style="width: 100%;"
-              :row-style="rowStyle"
-              :cell-style="cellStyle"
-              class="elTable table-fixed"
-            >
-              <el-table-column label="序号" align="center" type="index" width="50px">
-                <template slot-scope="scope">
-                  <span>{{ scope.$index + (tab1.changeRecord.see.pageNum-1) * tab1.changeRecord.see.pageSize + 1 }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件编号" min-width="110px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.partCode }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件名称" min-width="130px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.partName }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件规格" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.specification }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件图片" prop="specifications" align="center" min-width="110px">
-                <template slot-scope="scope">
-                  <el-popover placement="right" title="" trigger="hover">
-                    <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
-                    <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
-                  </el-popover>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件品牌" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.brand }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="计量单位" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.unit }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="计划量" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.planAmount }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="单价" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.price }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备注" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.remark }}</span>
-                </template>
-              </el-table-column>
-            </el-table>
-            <pagination v-show="tab1.changeRecord.see.total>0" :total="tab1.changeRecord.see.total" :page.sync="tab1.changeRecord.see.getdataListParm.offset" :limit.sync="tab1.changeRecord.see.getdataListParm.pagecount" @pagination="getTab1List3See" />
-          </div>
-          <div v-if="tab1.changeRecord.see.temp.SHtype == 2">
-            <el-table
-              :key="tab1.changeRecord.see.tableKey"
-              element-loading-text="给我一点时间"
-              :data="tab1.changeRecord.see.list"
-              border
-              fit
-              highlight-current-row
-              style="width: 100%;"
-              :row-style="rowStyle"
-              :cell-style="cellStyle"
-              class="elTable table-fixed"
-            >
-              <el-table-column label="序号" align="center" type="index" width="50px">
-                <template slot-scope="scope">
-                  <span>{{ scope.$index + (tab1.changeRecord.see.pageNum-1) * tab1.changeRecord.see.pageSize + 1 }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件编号" min-width="110px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.partCode }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件名称" min-width="130px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.partName }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件规格" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.specification }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件图片" prop="specifications" align="center" min-width="110px">
-                <template slot-scope="scope">
-                  <el-popover placement="right" title="" trigger="hover">
-                    <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
-                    <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
-                  </el-popover>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件品牌" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.brandhis }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="变更后品牌" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.brand }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="计量单位" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.unit }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="计划量" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.planAmounthis }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="变更后计划量" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.planAmount }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="单价" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.pricehis }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="变更后单价" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.price }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备注" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.remark }}</span>
-                </template>
-              </el-table-column>
-            </el-table>
-            <pagination v-show="tab1.changeRecord.see.total>0" :total="tab1.changeRecord.see.total" :page.sync="tab1.changeRecord.see.getdataListParm.offset" :limit.sync="tab1.changeRecord.see.getdataListParm.pagecount" @pagination="getTab1List3See" />
-          </div>
-          <el-form ref="seeTemp" :rules="rules" :model="tab1.changeRecord.see.temp" label-position="right" label-width="120px" style="width: 90%;margin:0 auto;">
-            <el-row>
-              <el-col>
-                <el-form-item label="流程进度" />
-                <el-steps :active="tab1.changeRecord.see.active" align-center finish-status="success">
-                  <el-step
-                    v-for="(item,index) in tab1.changeRecord.see.activeList"
-                    :key="index"
-                    :title="item.title"
-                    :status="item.status"
-                  >
-                    <template slot="description">
-                      <div class="step-row">
-                        <div>{{ item.name }}&nbsp;&nbsp;{{ item.date }}</div>
-                        <div>{{ item.reason }}</div>
-                      </div>
-                    </template>
-                  </el-step>
-                </el-steps>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col>
-                <el-form-item label="操作:">
-                  <!-- 设备主管审核 -->
-                  <el-button v-if="tab1.changeRecord.isContractExamineZG &&tab1.changeRecord.see.temp.SHStatus == 2" type="success" style="display:inline-block" @click="handleTab1Examine()">审核1</el-button>
-                  <el-button v-else type="success" style="display:none" @click="handleTab1Examine()">审核1</el-button>
-                  <!-- 设备助理审核 -->
-                  <!-- <el-button v-if="isContractExamineZL && seeTemp.SHStatus == 3" type="success" style="display:inline-block" @click="handleExamine2()">审核2</el-button>
-                  <el-button v-else type="success" style="display:none" @click="handleExamine2()">审核2</el-button> -->
-
-                  <!-- 设备中心审核 -->
-                  <el-button v-if="tab1.changeRecord.isContractExamineZX && tab1.changeRecord.see.temp.SHStatus == 5" type="success" style="display:inline-block" @click="handleTab1Examine3()">审核2</el-button>
-                  <el-button v-else type="success" style="display:none" @click="handleTab1Examine3()">审核2</el-button>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </div>
-        <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom:10px">
-          <el-button @click="tab1.changeRecord.see.dialogFormVisible = false">关闭</el-button>
-        </div>
-      </div>
-    </el-dialog>
-    <!-- 变更记录审核 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="tab1.changeRecord.examine.dialogFormVisible" :close-on-click-modal="false" width="30%">
-      <div class="app-examine">
-        <h3 style="width: 100%;margin:0 0 0 5%;line-height:50px;">请确认审核结果:</h3>
-        <el-form ref="examineTemp" :rules="rules" :model="tab1.changeRecord.examine.temp" label-position="right" style="width: 50%;margin:0 auto;">
-          <el-row style="width:88%;height:150px;margin:0 auto;">
-            <el-col :span="20">
-              <el-form-item>
-                <el-radio-group v-model="tab1.changeRecord.examine.temp.statueSH" @change="changeExamineStatue">
-                  <el-radio :label="1" checked>通过</el-radio>
-                  <el-radio :label="2">不通过</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col v-if="tab1.changeRecord.examine.isReason" :span="20">
-              <el-input v-model="tab1.changeRecord.examine.temp.workflowNote" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="请输入不通过原因" />
-            </el-col>
-          </el-row>
-        </el-form>
-      </div>
-      <div slot="footer" class="dialog-footer">
-        <el-button v-if="dialogStatus==='tab1examine'" type="primary" :disabled="isokDisable" @keyup.enter.native="createExamineData()" @click="createExamineData()">确认</el-button>
-        <!-- <el-button v-if="dialogStatus==='tab1examine2'" type="primary" :disabled="isokDisable" @click="createExamineData2()">确认</el-button> -->
-        <el-button v-if="dialogStatus==='tab1examine3'" type="primary" :disabled="isokDisable" @keyup.enter.native="createExamineData3()" @click="createExamineData3()">确认</el-button>
-        <el-button @click="tab1.changeRecord.examine.dialogFormVisible = false;">关闭</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-// 引入
-import { GetDataByName, GetDataByNames, checkButtons, ExecDataByConfig, UpdateDataRelation, PostDataByName, failproccess } from '@/api/common'
-import waves from '@/directive/waves'
-import { parseTime, json2excel, sortChange } from '@/utils/index.js'
-import Pagination from '@/components/Pagination'
-import Cookies from 'js-cookie'
-import { getToken } from '@/utils/auth'
-import { MessageBox } from 'element-ui'
-export default {
-  inject: ['reload'],
-  name: 'ContractManagement',
-  components: { Pagination },
-  directives: { waves },
-  data() {
-    return {
-      isGroupAdministrator: Cookies.get('pastureid'),
-      isEmployeid: Cookies.get('employeid'),
-      isPercentage: false,
-      percentage: 1,
-      rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
-      cellStyle: { padding: 0 + 'px' },
-      buttons: [],
-      activeName: 'first',
-      contractStatusList: [{ id: '0', name: '正常' }, { id: '1', name: '已过期' }, { id: '2', name: '终止' }, { id: '3', name: '新增未通过' }],
-      contractStatus2List: [{ id: '1', name: '正常' }, { id: '0', name: '终止' }],
-      auditStatusList: [{ id: '0', name: '审核中' }, { id: '1', name: '已通过' }, { id: '2', name: '未通过' }], // 审核状态
-      changeTypeList: [{ id: '0', name: '新增合同' }, { id: '1', name: '新增备件' }, { id: '2', name: '变更备件' }, { id: '3', name: '合同变更' }],
-      isZeroInventoryList: [{ id: '0', name: '否' }, { id: '1', name: '是' }], // 是否零库存
-      findAllProvider: [], findAllAssetType: [], findAllPasture: [], findAllPastureList2: [], findAllDepart: [], findAllEmploye: [], findAllCategory: [],
-      requestParams: [
-        { name: 'findAllProvider', offset: 0, pagecount: 0, params: [] },
-        { name: 'findAllAssetType', offset: 0, pagecount: 0, params: [] },
-        { name: 'findAllPasture', offset: 0, pagecount: 0, returntype: 'Map', parammaps: { 'id': Cookies.get('pastureid') }},
-        { name: 'findAllPastureForContract', offset: 0, pagecount: 0, returntype: 'Map', parammaps: { 'id': 18 }},
-        { name: 'findAllDepart', offset: 0, pagecount: 0, params: [] },
-        { name: 'findAllEmploye', offset: 0, pagecount: 0, parammaps: { 'pastureId': 18 }},
-        { name: 'findAllCategory', offset: 0, pagecount: 0, params: [] }
-      ],
-      isokDisable: false,
-      disabled: true,
-      rules: {},
-      textMap: {
-        create: '新增合同',
-        see: '查看详情',
-        change: '变更合同',
-        tab1create2: '新增备件',
-        tab1change2: '变更备件',
-        tab1examine: '审核',
-        tab1examine2: '审核2',
-        tab1examine3: '审核2',
-        tab1See2: '查看',
-        tab1Update2: '编辑'
-      },
-      dialogStatus: '',
-      isContractManagement: true, // 备件合同
-      isDetailsSpareParts: false, // 备件明细
-      isChangeRecord: false, // 变更记录
-      tab1: {
-        // 合同管理1
-        contractManagement: {
-          radioAll: '全部',
-          isContractAdd: [],
-          isContractExport: [],
-          isContractSee: [],
-          isContractChange: [],
-          isDisabled: false,
-          tableKey: 0,
-          listLoading: false,
-          total: 0,
-          list: [],
-          getdataListParm: {
-            name: 'providerPactListV2',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              loginid: Cookies.get('employeid'),
-              pastureName: Cookies.get('pasturename'),
-              contractCode: '',
-              statue: '',
-              stuteSH: '',
-              providerName: '',
-              tab1InputDatetime1: '',
-              startTime: '',
-              stopTime: '',
-              tab1InputDatetime2: '',
-              SHdateTimeF: '',
-              SHdateTimeE: '',
-              SHnums: 2
-            }
-          },
-          getParmCreateNumber: {
-            name: 'autoCreatCode',
-            page: 0,
-            offset: 0,
-            pagecount: 0,
-            returntype: 'Map',
-            parammaps: {
-              pastureId: Cookies.get('pastureid'),
-              codeType: 'HT'
-            }
-          },
-          create: {
-            dialogFormVisible: false,
-            temp: { contractCode: '', pastureId: Cookies.get('pastureid'), providerName: '', startTime: '', stopTime: '', statue: '', isZeroStock: 0, creatorId: Cookies.get('employeid'), creatorMan: Cookies.get('employename'), creatorTime: parseTime(new Date(), '{y}-{m}-{d}'), activeList: [], active: 3, workflowNote: '', synchronousPasture: [], synchronousPastureList: [] },
-            changeEchoParm: { name: 'getBigcontractPId', page: 0, offset: 0, pagecount: 0, returntype: 'Map', parammaps: {}}
-          }
-        },
-        // 合同管理-备件明细
-        detailsSpareParts: {
-          tableKey: 1,
-          listLoading: false,
-          total: 0,
-          list: [],
-          getdataListParm: {
-            name: 'getcontratListBybigV2',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              specification: '',
-              partName: '',
-              partCode: '',
-              pastureId: '',
-              providerId: '',
-              stopTime: '',
-              flag: '',
-              isZeroStock: '',
-              statue: ''
-            }
-          },
-          partCode: '',
-          requestSparePart: {
-            name: '',
-            page: 1,
-            offset: 1,
-            pagecount: 20,
-            returntype: 'Map',
-            parammaps: {}
-          },
-          detailsList: [],
-          updateList: [],
-          tableKeyAdd: 0,
-          listLoadingAdd: false,
-          listAdd: [],
-          requestBrand: {
-            name: 'getBrandByPartCode',
-            page: 0,
-            offset: 0,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {}
-          },
-          BrandList: [],
-          create: {
-            dialogFormVisible: false,
-            temp: { contractCode: '', pastureId: Cookies.get('pastureid'), providerName: '', startTime: '', stopTime: '', statue: '', isZeroStock: 0, creatorId: Cookies.get('employeid'), creatorMan: Cookies.get('employename'), creatorTime: parseTime(new Date(), '{y}-{m}-{d}'), activeList: [], active: 3, workflowNote: '' }
-          },
-          isDisabledImport: true,
-          clearImportExcelParm: {
-            name: 'deletecontract_upload',
-            page: 0,
-            offset: 0,
-            pagecount: '',
-            returntype: 'Map',
-            parammaps: {
-              user: Cookies.get('name')
-            }
-          },
-          importExcelParm: {
-            name: 'getcontract_uploadlist',
-            page: 0,
-            offset: 0,
-            pagecount: '',
-            returntype: 'Map',
-            parammaps: {
-              user: Cookies.get('name')
-            }
-          }
-        },
-        // 变更记录
-        changeRecord: {
-          isContractExamineZG: [],
-          //  isContractExamineZL: [],
-          isContractExamineZX: [],
-          isContractDelete: [],
-          isStatueReason: false,
-          isReason: false,
-          radioAll: '全部',
-          tableKey: 2,
-          listLoading: false,
-          total: 0,
-          list: [],
-          getdataListParm: {
-            name: 'providerPactListSH',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              loginid: Cookies.get('employeid'),
-              contractCode: '',
-              tab1InputDatetime3: '',
-              startTime: '',
-              stopTime: '',
-              SHStatus: '',
-              SHtype: '',
-              pastureId: '',
-              providerId: '',
-              stopTime1: '',
-              flag: '',
-              isZeroStock: '',
-              statue: '',
-              SHnums: 2,
-              stuteSH: ''
-            }
-          },
-          see: {
-            dialogFormVisible: false,
-            activeList: [], active: 3,
-            temp: {},
-            tableKey: 0,
-            listLoading: false,
-            total: 0,
-            list: [],
-            getdataListParm: {
-              name: 'getcontratListBybigSH',
-              returntype: 'Map',
-              page: 0,
-              offset: 0,
-              pagecount: 10,
-              parammaps: {}
-            }
-          },
-          examine: {
-            dialogFormVisible: false,
-            temp: {
-              statueSH: 1
-            },
-            isReason: false
-          }
-        }
-      },
-      postDataPramas: {},
-      // 开始日期
-      // pickerOptions1: {
-      //   disabledDate: (time) => {
-      //     if (this.tab1.contractManagement.create.temp.stopTime !== '') {
-      //       return parseTime(time.getTime(), '{y}-{m}-{d}') > parseTime(Date.now(), '{y}-{m}-{d}') || parseTime(time.getTime(), '{y}-{m}-{d}') >= this.tab1.contractManagement.create.temp.stopTime
-      //     } else {
-      //       return time.getTime() > Date.now()
-      //     }
-      //   }
-      // },
-      // 截止日期
-      pickerOptions2: {
-        disabledDate: (time) => {
-          return parseTime(time.getTime(), '{y}-{m}-{d}') <= this.tab1.contractManagement.create.temp.startTime || parseTime(time.getTime(), '{y}-{m}-{d}') < parseTime(Date.now(), '{y}-{m}-{d}')
-        }
-      },
-      pickerOptions3: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()// 当天之前的时间可选
-        }
-      },
-      // 合同明细
-      tab2: {
-        tableKey: 0,
-        listLoading: false,
-        total: 0,
-        getdataListParm: {
-          name: 'contractDetailV2',
-          page: 1,
-          offset: 1,
-          pagecount: 10,
-          returntype: 'Map',
-          parammaps: {
-            inputDatetime: '',
-            providerName: '',
-            contractCode: '',
-            stopTime: '',
-            startTime: '',
-            statue: '',
-            partCode: '',
-            partName: '',
-            isZeroStock: '',
-            // pastureName: Cookies.get('pasturename')
-            pastureName: ''
-          }
-        },
-        list: []
-      },
-      UpdateDataParam: {},
-      UpdateDataParam2: {},
-      pending: {
-        total: 0,
-        getdataListParm: {
-          name: 'providerPactListV2', page: 1, offset: 1, getTotal: 'total3', pagecount: 10, returntype: 'Map',
-          parammaps: {}
-        }
-      },
-      myHeight:document.documentElement.clientHeight - 85- 150
-    }
-  },
-  computed: {
-    // 设置请求头
-    headers() {
-      return {
-        token: getToken()
-      }
-    },
-    uploadData() {
-      return {
-        name: 'insertcontract_upload',
-        importParams: '备件编号,备件名称,规格型号,计量单位,品牌,计划量,单价,备注',
-        sheetname: 'SheetJS'
-      }
-    },
-    // 设置上传地址
-    uploadExcelUrl() {
-      return process.env.VUE_APP_BASE_API + 'authdata/ImportExcel'
-    }
-  },
-  created() {
-    // this.keyupSubmit()
-    console.log(this.$route.query.contractCode)
-    this.get_select_list()
-    const that = this
-    GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'jwt_username': Cookies.get('name') }}).then(response => {
-      that.buttons = response.data.list
-      that.get_auto_buttons()
-    })
-
-    this.getTab1List()
-    this.getPendingList()
-    if (this.$route.query.contractCode == undefined) {
-      this.tab1.contractManagement.getdataListParm.parammaps.contractCode = ''
-    } else {
-      this.tab1.contractManagement.getdataListParm.parammaps.contractCode = this.$route.query.contractCode
-    }
-  },
-
-  methods: {
-    tableSort1(column) {
-      sortChange(column, this.tab1.detailsSpareParts.list)
-    },
-    tableSort2(column) {
-      sortChange(column, this.tab2.list)
-    },
-    get_auto_buttons() {
-      // 新增
-      const ContractAdd = 'customs:contract:add'
-      const isContractAdd = checkButtons(this.$store.state.user.buttons, ContractAdd)
-      this.tab1.contractManagement.isContractAdd = isContractAdd
-
-      // 查看
-      const ContractSee = 'customs:contract:see'
-      const isContractSee = checkButtons(this.$store.state.user.buttons, ContractSee)
-      this.tab1.contractManagement.isContractSee = isContractSee
-
-      // 办公室主任
-      const ContractExamineZG = 'customs:contract:examineZG'
-      const isContractExamineZG = checkButtons(this.$store.state.user.buttons, ContractExamineZG)
-      this.tab1.changeRecord.isContractExamineZG = isContractExamineZG
-      // 设备中心审核
-      const ContractExamineZX = 'customs:contract:examineZX'
-      const isContractExamineZX = checkButtons(this.$store.state.user.buttons, ContractExamineZX)
-      this.tab1.changeRecord.isContractExamineZX = isContractExamineZX
-      // 审核删除
-      const ContractDelete = 'customs:contract:delete'
-      const isContractDelete = checkButtons(this.$store.state.user.buttons, ContractDelete)
-      this.tab1.changeRecord.isContractDelete = isContractDelete
-      // 导出
-      const ContractExport = 'customs:contract:export'
-      const isContractExport = checkButtons(this.$store.state.user.buttons, ContractExport)
-      this.tab1.contractManagement.isContractExport = isContractExport
-      // 变更
-      const ContractChange = 'customs:contract:change'
-      const isContractChange = checkButtons(this.$store.state.user.buttons, ContractChange)
-      this.tab1.contractManagement.isContractChange = isContractChange
-    },
-    get_select_list() {
-      GetDataByNames(this.requestParams).then(response => {
-        this.findAllProvider = response.data.findAllProvider.list
-        this.findAllAssetType = response.data.findAllAssetType.list
-        this.findAllPasture = response.data.findAllPasture.list
-        this.findAllPastureList2 = response.data.findAllPastureForContract.list
-        this.findAllDepart = response.data.findAllDepart.list
-        this.findAllEmploye = response.data.findAllEmploye.list
-        this.findAllCategory = response.data.findAllCategory.list
-      })
-    },
-    handleClick() {
-      if (this.tab1.contractManagement.create.temp.activeName == 'first') {
-        console.log('点击了合同管理')
-        this.getTab1List()
-      } else {
-        console.log('点击了合同明细')
-        this.getTab2List()
-      }
-    },
-    getPendingList() {
-      this.pending.getdataListParm.parammaps.loginid = this.tab1.contractManagement.getdataListParm.parammaps.loginid
-      this.pending.getdataListParm.parammaps.pastureName = this.tab1.contractManagement.getdataListParm.parammaps.pastureName
-      this.pending.getdataListParm.parammaps.contractCode = this.tab1.contractManagement.getdataListParm.parammaps.contractCode
-      this.pending.getdataListParm.parammaps.statue = this.tab1.contractManagement.getdataListParm.parammaps.statue
-      this.pending.getdataListParm.parammaps.stuteSH = this.tab1.contractManagement.getdataListParm.parammaps.stuteSH
-      this.pending.getdataListParm.parammaps.providerName = this.tab1.contractManagement.getdataListParm.parammaps.providerName
-      this.pending.getdataListParm.parammaps.tab1InputDatetime1 = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1
-      this.pending.getdataListParm.parammaps.startTime = this.tab1.contractManagement.getdataListParm.parammaps.startTime
-      this.pending.getdataListParm.parammaps.stopTime = this.tab1.contractManagement.getdataListParm.parammaps.stopTime
-      this.pending.getdataListParm.parammaps.tab1InputDatetime2 = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2
-      this.pending.getdataListParm.parammaps.SHdateTimeF = this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeF
-      this.pending.getdataListParm.parammaps.SHdateTimeE = this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeE
-      this.pending.getdataListParm.parammaps.SHnums = 0
-      GetDataByName(this.pending.getdataListParm).then(response => {
-        this.pending.total = response.data.total3
-      })
-    },
-    getTab1List() {
-      this.tab1.contractManagement.listLoading = true
-      if (this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 !== '' && this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 !== null) {
-        this.tab1.contractManagement.getdataListParm.parammaps.startTime = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1[0]
-        this.tab1.contractManagement.getdataListParm.parammaps.stopTime = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1[1]
-      } else {
-        this.tab1.contractManagement.getdataListParm.parammaps.startTime = ''
-        this.tab1.contractManagement.getdataListParm.parammaps.stopTime = ''
-      }
-      if (this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2 !== '' && this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2 !== null) {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeF = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2[0]
-        this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeE = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2[1]
-      } else {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeF = ''
-        this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeE = ''
-      }
-      GetDataByName(this.tab1.contractManagement.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          this.tab1.contractManagement.list = response.data.list
-          this.tab1.contractManagement.pageNum = response.data.pageNum
-          this.tab1.contractManagement.pageSize = response.data.pageSize
-        } else {
-          this.tab1.contractManagement.list = []
-        }
-        this.tab1.contractManagement.total = response.data.total
-        setTimeout(() => {
-          this.tab1.contractManagement.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab1Filter() {
-      this.tab1.contractManagement.listLoading = true
-      if (this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 == null) {
-        this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 = ''
-      }
-      if (this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2 == null) {
-        this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2 = ''
-      }
-      this.tab1.contractManagement.getdataListParm.offset = 1
-      this.getTab1List()
-      this.getPendingList()
-      if (this.tab1.contractManagement.radioAll == '全部') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 2
-        this.getTab1List()
-      } else if (this.tab1.contractManagement.radioAll == '待处理') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 0
-        this.getTab1List()
-      } else if (this.tab1.contractManagement.radioAll == '已处理') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 1
-        this.getTab1List()
-      }
-    },
-    changeContractManagementAll() {
-      if (this.tab1.contractManagement.radioAll == '全部') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 2
-      } else if (this.tab1.contractManagement.radioAll == '待处理') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 0
-      } else if (this.tab1.contractManagement.radioAll == '已处理') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 1
-      }
-      this.tab1.contractManagement.getdataListParm.offset = 1
-      this.getTab1List()
-    },
-    changeTime(val) {
-      if (this.tab1.contractManagement.create.temp.stopTime !== '') {
-        if (this.tab1.contractManagement.create.temp.stopTime <= this.tab1.contractManagement.create.temp.startTime) {
-          this.tab1.contractManagement.create.temp.stopTime = ''
-          this.tab1.contractManagement.create.temp.statue = ''
-          this.tab1.contractManagement.create.temp.statueId = ''
-        } else {
-          if (parseTime(new Date(), '{y}-{m}-{d}') <= this.tab1.contractManagement.create.temp.stopTime) {
-            this.tab1.contractManagement.create.temp.statue = '1'
-            // this.tab1.contractManagement.create.temp.statueId = 1
-          } else {
-            this.tab1.contractManagement.create.temp.statue = '0'
-            // this.tab1.contractManagement.create.temp.statueId = 2
-          }
-        }
-      } else {
-        this.tab1.contractManagement.create.temp.statue = ''
-        this.tab1.contractManagement.create.temp.statueId = ''
-      }
-    },
-    changeIsZero(val) {
-      console.log(val)
-    },
-    providerSearch(queryString, cb) {
-      var returnList = this.findAllProvider
-      var results = queryString ? returnList.filter(this.createFilter(queryString)) : returnList
-      // 调用 callback 返回建议列表的数据
-      cb(results)
-    },
-    createFilter(queryString) {
-      return returnValue => {
-        return (
-          returnValue.name.toLowerCase().indexOf(queryString.toLowerCase()) >= 0
-        )
-      }
-    },
-    handleSelectProvider(item) {
-      this.$set(this.tab1.contractManagement.create.temp, 'providerId', item.id)
-      this.$set(this.tab1.contractManagement.create.temp, 'providerName', item.name)
-    },
-    handleFocusProvider() {
-      this.tab1.contractManagement.create.temp.providerId = ''
-      this.tab1.contractManagement.create.temp.providerName = ''
-    },
-    handleBlurProvider() {
-      if (this.tab1.contractManagement.create.temp.providerId == '') {
-        this.tab1.contractManagement.create.temp.providerId = ''
-        this.tab1.contractManagement.create.temp.providerName = ''
-      }
-    },
-    changeCreatorMan(val) {
-      this.tab1.contractManagement.create.temp.creatorMan = this.findAllEmploye.find(obj => obj.id == val).name
-    },
-    resetCreateTemp() {
-      this.tab1.contractManagement.create.temp.synchronousPastureList = []
-      if (Cookies.get('pastureid') == 18) {
-        for (let i = 0; i < this.findAllPasture.length; i++) {
-          this.tab1.contractManagement.create.temp.synchronousPastureList.push(this.findAllPasture[i].id)
-        }
-      } else {
-        this.tab1.contractManagement.create.temp.synchronousPastureList.push(parseInt(Cookies.get('pastureid')))
-      }
-      this.tab1.contractManagement.create.temp = { contractCode: '', pastureId: parseFloat(Cookies.get('pastureid')), providerName: '', startTime: '', stopTime: '', statue: '', isZeroStock: 0, creatorId: parseFloat(Cookies.get('employeid')), creatorMan: Cookies.get('employename'), creatorTime: parseTime(new Date(), '{y}-{m}-{d}'), synchronousPasture: this.tab1.contractManagement.create.temp.synchronousPastureList, synchronousPasture2: [] }
-    },
-    handleTab1Create() {
-      this.resetCreateTemp()
-      this.dialogStatus = 'create'
-      this.tab1.contractManagement.create.dialogFormVisible = true
-      this.getCreateNumber()
-    },
-    getCreateNumber() {
-      GetDataByName(this.tab1.contractManagement.getParmCreateNumber).then(response => {
-        this.$nextTick(() => {
-          console.log('合同编号', response.data.list[0].orderCode)
-          this.tab1.contractManagement.create.temp.contractCode = response.data.list[0].orderCode
-          this.$forceUpdate()
-        })
-      })
-    },
-    add_dialog_save() {
-      console.log('点击了新增保存')
-      this.isokDisable = true
-      setTimeout(() => {
-        this.isokDisable = false
-      }, 1000)
-      this.$refs['createTemp'].validate(valid => {
-        if (valid) {
-          if (this.tab1.contractManagement.create.temp.contractCode == '') {
-            GetDataByName(this.getParmCreateNumber).then(response => {
-              this.$nextTick(() => {
-                this.tab1.contractManagement.create.temp.contractCode = response.data.list[0].orderCode
-                this.$forceUpdate()
-                this.saveCreateData()
-              })
-            })
-          } else {
-            this.saveCreateData()
-          }
-        }
-      })
-    },
-    saveCreateData() {
-      this.postDataPramas = {}
-      if (Cookies.get('pastureid') == 18) {
-        if (this.tab1.contractManagement.create.temp.synchronousPasture.indexOf(18) == -1) {
-          this.$message({ type: 'error', message: '当前合同归属于现代牧业,未选中,共享牧场请选中现代牧业!', duration: 2000 })
-          return false
-        }
-      }
-      this.postDataPramas.common = { 'returnmap': '0' }
-      this.postDataPramas.data = []
-      this.postDataPramas.data[0] = { 'name': 'checkbigcontract', 'type': 'v', 'parammaps': {
-        pastureId: this.tab1.contractManagement.create.temp.pastureId,
-        providerId: this.tab1.contractManagement.create.temp.providerId
-      }}
-      this.postDataPramas.data[1] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-        pastureId: this.tab1.contractManagement.create.temp.pastureId,
-        providerId: this.tab1.contractManagement.create.temp.providerId,
-        providerName: this.tab1.contractManagement.create.temp.providerName,
-        startTime: this.tab1.contractManagement.create.temp.startTime,
-        stopTime: this.tab1.contractManagement.create.temp.stopTime,
-        contractCode: this.tab1.contractManagement.create.temp.contractCode,
-        creatorId: this.tab1.contractManagement.create.temp.creatorId,
-        creatorMan: this.tab1.contractManagement.create.temp.creatorMan,
-        creatorTime: this.tab1.contractManagement.create.temp.creatorTime,
-        isZeroStock: this.tab1.contractManagement.create.temp.isZeroStock,
-        statue: 1,
-        remark: this.tab1.contractManagement.create.temp.remark,
-        SHtype: 0
-      }}
-      var groupRanchList = []
-      for (let i = 0; i < this.tab1.contractManagement.create.temp.synchronousPasture.length; i++) {
-        var obj = {}
-        obj.pastureId = this.tab1.contractManagement.create.temp.synchronousPasture[i]
-        groupRanchList.push(obj)
-      }
-      if (Cookies.get('pastureid') == 18) {
-        this.postDataPramas.data[2] = { 'name': 'insertSpotList', 'resultmaps': { 'list': groupRanchList }}
-        this.postDataPramas.data[2].children = []
-        this.postDataPramas.data[2].children[0] = { 'name': 'insertPastureBigcontract', 'type': 'e', 'parammaps': {
-          bigcontractId: '@insertBigContractV2.LastInsertId',
-          pastureId: '@insertSpotList.pastureId'
-        }}
-      }
-      ExecDataByConfig(this.postDataPramas).then(response => {
-        console.log('新增保存发送参数', this.postDataPramas)
-        if (response.msg == 'fail') {
-          this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-        } else {
-          this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 = ''
-          this.getTab1List()
-          this.getPendingList()
-          this.tab1.contractManagement.create.dialogFormVisible = false
-          this.tab1.contractManagement.create.temp.providerName = ''
-          this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-        }
-      })
-    },
-    form_see(row) {
-      console.log('查看', row)
-      row.statue = String(row.statue)
-      row.synchronousPasture2 = []
-      row.synchronousPastureName2 = []
-      row.synchronousPasture = []
-      this.tab1.contractManagement.create.temp = Object.assign({}, row)
-      this.dialogStatus = 'see'
-      this.tab1.contractManagement.create.dialogFormVisible = true
-      var reason = '未通过原因:' + this.tab1.contractManagement.create.temp.workflowNote
-      if (this.tab1.contractManagement.create.temp.SHStatus == 2) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核' }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 1
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 3) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 2
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 4) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson, status: 'error', reason: reason }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 2
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 5) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 2
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 6) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 3
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 7) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核', date: this.tab1.contractManagement.create.temp.CGChargedate, name: this.tab1.contractManagement.create.temp.CGChargePerson }]
-        this.tab1.contractManagement.create.temp.active = 4
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 8) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核', date: this.tab1.contractManagement.create.temp.CGChargedate, name: this.tab1.contractManagement.create.temp.CGChargePerson, status: 'error', reason: reason }]
-        this.tab1.contractManagement.create.temp.active = 4
-      }
-      this.tab1.contractManagement.create.changeEchoParm.parammaps.bigcontract_id = row.id
-      GetDataByName(this.tab1.contractManagement.create.changeEchoParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            this.tab1.contractManagement.create.temp.synchronousPasture2.push(response.data.list[i].pasture_id)
-            this.tab1.contractManagement.create.temp.synchronousPasture.push(response.data.list[i].pasture_id)
-            this.tab1.contractManagement.create.temp.synchronousPastureName2.push(this.findAllPasture.find(obj => obj.id == response.data.list[i].pasture_id).name)
-          }
-        } else {
-          this.tab1.contractManagement.create.temp.synchronousPasture = []
-        }
-        console.log(this.tab1.contractManagement.create.temp.synchronousPastureName2, 'synchronousPastureName2')
-      })
-    },
-    handleTab1Change(row) {
-      console.log('变更', row)
-      // row.statue = String(row.statue)
-      this.$set(row, 'mystopTime', row.stopTime)
-      row.synchronousPasture2 = []
-      row.synchronousPastureName2 = []
-      row.synchronousPasture = []
-      this.tab1.contractManagement.create.temp = Object.assign({}, row)
-      this.tab1.contractManagement.create.temp.statue = String(this.tab1.contractManagement.create.temp.statue)
-
-      this.dialogStatus = 'change'
-      this.tab1.contractManagement.create.dialogFormVisible = true
-      this.tab1.contractManagement.create.changeEchoParm.parammaps.bigcontract_id = row.id
-      GetDataByName(this.tab1.contractManagement.create.changeEchoParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            this.tab1.contractManagement.create.temp.synchronousPasture2.push(response.data.list[i].pasture_id)
-            this.tab1.contractManagement.create.temp.synchronousPasture.push(response.data.list[i].pasture_id)
-            this.tab1.contractManagement.create.temp.synchronousPastureName2.push(this.findAllPasture.find(obj => obj.id == response.data.list[i].pasture_id).name)
-          }
-        } else {
-          this.tab1.contractManagement.create.temp.synchronousPasture = []
-        }
-        console.log(this.tab1.contractManagement.create.temp.synchronousPastureName2, 'synchronousPastureName2')
-      })
-    },
-
-    terminationData() {
-      var aa = '确认终止合同?'
-      if (this.tab1.contractManagement.create.temp.isZeroStock == 1) {
-        aa = '若此合同库存中有剩余库存,建议先进行退货操作。'
-      } else {
-        aa = '确认终止合同?'
-      }
-      MessageBox.confirm(aa, { confirmButtonText: '确认终止', cancelButtonText: '取消', type: 'warning'
-      }).then(() => {
-        this.postDataPramas = {}
-        this.postDataPramas.name = 'updatecontractstatuV2'
-        this.postDataPramas.parammaps = {}
-        this.postDataPramas.parammaps = this.tab1.contractManagement.create.temp
-        this.postDataPramas.parammaps.creatorId = Cookies.get('employeid')
-        this.postDataPramas.parammaps.creatorMan = Cookies.get('employename')
-        this.postDataPramas.parammaps.creatorTime = parseTime(new Date(), '{y}-{m}-{d}')
-        PostDataByName(this.postDataPramas).then(response => {
-          console.log('变更保存发送参数', this.postDataPramas)
-          if (response.msg == 'fail') {
-            this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-          } else {
-            this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 = ''
-            this.getTab1List()
-            this.getPendingList()
-            this.tab1.contractManagement.create.dialogFormVisible = false
-            this.tab1.contractManagement.create.temp.providerName = ''
-            this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-          }
-        })
-      })
-    },
-    changeData() {
-      if (Cookies.get('pastureid') == 18) {
-        this.UpdateDataParam = {}
-        this.UpdateDataParam.name = 'pasture_bigcontract'
-        this.UpdateDataParam.dataname = 'bigcontract_id'
-        this.UpdateDataParam.datavalue = this.tab1.contractManagement.create.temp.id
-        this.UpdateDataParam.valuename = 'pasture_id'
-        this.UpdateDataParam.values = this.tab1.contractManagement.create.temp.synchronousPasture
-        UpdateDataRelation(this.UpdateDataParam).then(response => {
-          if (response.msg !== 'fail') {
-            this.UpdateDataParam2.name = 'updateBigcontractPId'
-            this.UpdateDataParam2.parammaps = {}
-            this.UpdateDataParam2.parammaps.bigcontract_id = this.tab1.contractManagement.create.temp.id
-            this.UpdateDataParam2.parammaps.enable = 0
-            PostDataByName(this.UpdateDataParam2).then(response => {})
-          }
-        })
-      }
-      this.postDataPramas = {}
-      this.postDataPramas.common = { 'returnmap': '0' }
-      this.postDataPramas.data = []
-      this.postDataPramas.data[0] = { 'name': 'checkbigcontractSH', 'type': 'v', 'parammaps': {
-        pastureId: this.tab1.contractManagement.create.temp.pastureId,
-        providerId: this.tab1.contractManagement.create.temp.providerId,
-        stopTime: this.tab1.contractManagement.create.temp.mystopTime,
-        flag: this.tab1.contractManagement.create.temp.flag,
-        isZeroStock: this.tab1.contractManagement.create.temp.isZeroStock,
-        statue: this.tab1.contractManagement.create.temp.statue
-      }}
-      if (Cookies.get('pastureid') == 18) {
-        var synchronousPastureName = []
-        for (let i = 0; i < this.tab1.contractManagement.create.temp.synchronousPasture.length; i++) {
-          synchronousPastureName.push(this.findAllPasture.find(obj => obj.id == this.tab1.contractManagement.create.temp.synchronousPasture[i]).name)
-        }
-        this.postDataPramas.data[1] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-          pastureId: this.tab1.contractManagement.create.temp.pastureId,
-          providerId: this.tab1.contractManagement.create.temp.providerId,
-          providerName: this.tab1.contractManagement.create.temp.providerName,
-          startTime: this.tab1.contractManagement.create.temp.startTime,
-          stopTime: this.tab1.contractManagement.create.temp.mystopTime,
-          stopTime1: this.tab1.contractManagement.create.temp.stopTime,
-          contractCode: '',
-          contractCode1: this.tab1.contractManagement.create.temp.contractCode,
-          creatorId: this.tab1.contractManagement.create.temp.creatorId,
-          creatorMan: this.tab1.contractManagement.create.temp.creatorMan,
-          creatorTime: this.tab1.contractManagement.create.temp.creatorTime,
-          isZeroStock: this.tab1.contractManagement.create.temp.isZeroStock,
-          statue: this.tab1.contractManagement.create.temp.statue,
-          remark: this.tab1.contractManagement.create.temp.remark,
-          flag: this.tab1.contractManagement.create.temp.flag,
-          SHtype: 3,
-          pastureNamesOld: this.tab1.contractManagement.create.temp.synchronousPastureName2.toString(),
-          pastureNamesNow: synchronousPastureName.toString()
-        }}
-      } else {
-        this.postDataPramas.data[1] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-          pastureId: this.tab1.contractManagement.create.temp.pastureId,
-          providerId: this.tab1.contractManagement.create.temp.providerId,
-          providerName: this.tab1.contractManagement.create.temp.providerName,
-          startTime: this.tab1.contractManagement.create.temp.startTime,
-          stopTime: this.tab1.contractManagement.create.temp.mystopTime,
-          stopTime1: this.tab1.contractManagement.create.temp.stopTime,
-          contractCode: '',
-          contractCode1: this.tab1.contractManagement.create.temp.contractCode,
-          creatorId: this.tab1.contractManagement.create.temp.creatorId,
-          creatorMan: this.tab1.contractManagement.create.temp.creatorMan,
-          creatorTime: this.tab1.contractManagement.create.temp.creatorTime,
-          isZeroStock: this.tab1.contractManagement.create.temp.isZeroStock,
-          statue: this.tab1.contractManagement.create.temp.statue,
-          remark: this.tab1.contractManagement.create.temp.remark,
-          flag: this.tab1.contractManagement.create.temp.flag,
-          SHtype: 3
-        }}
-      }
-      ExecDataByConfig(this.postDataPramas).then(response => {
-        console.log('变更保存发送参数', this.postDataPramas)
-        if (response.msg == 'fail') {
-          this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-        } else {
-          this.getTab1List()
-          this.getPendingList()
-          this.tab1.contractManagement.create.dialogFormVisible = false
-          this.tab1.contractManagement.create.temp.providerName = ''
-          this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-        }
-      })
-    },
-    // 备件明细
-    handleTab1DetailsSpareParts(row) {
-      console.log('备件明细', row)
-      this.tab1.detailsSpareParts.updateList = Object.assign({}, row)
-      this.tab1.detailsSpareParts.detailsList = Object.assign({}, row)
-      this.isContractManagement = false
-      this.isDetailsSpareParts = true
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.pastureId = row.pastureId
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.providerId = row.providerId
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.stopTime = row.stopTime
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.flag = row.flag
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.isZeroStock = row.isZeroStock
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.statue = row.statue
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.partCode = ''
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.partName = ''
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.specification = ''
-      this.getTab1List2()
-    },
-    handleTab1goBack() {
-      // this.reload()
-      this.isContractManagement = true
-      this.isDetailsSpareParts = false
-      this.tab1.detailsSpareParts.total = 0
-      this.getTab1List()
-    },
-    getTab1List2() {
-      this.tab1.detailsSpareParts.listLoading = true
-      GetDataByName(this.tab1.detailsSpareParts.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            if (response.data.list[i].srcpath !== null && response.data.list[i].picpath !== null && response.data.list[i].srcpath !== undefined && response.data.list[i].picpath !== undefined) {
-              const srcpath = process.env.VUE_APP_BASE_API + response.data.list[i].srcpath
-              const picpath = process.env.VUE_APP_BASE_API + response.data.list[i].picpath
-              response.data.list[i].srcpath = srcpath
-              response.data.list[i].picpath = picpath
-            } else {
-              response.data.list[i].srcpath = ''
-              response.data.list[i].picpath = ''
-            }
-          }
-          this.tab1.detailsSpareParts.list = response.data.list
-          this.tab1.detailsSpareParts.pageNum = response.data.pageNum
-          this.tab1.detailsSpareParts.pageSize = response.data.pageSize
-          if (response.data.list !== null) {
-            this.tab1.detailsSpareParts.total = response.data.total
-          } else {
-            this.tab1.detailsSpareParts.total = 0
-          }
-        } else {
-          this.tab1.detailsSpareParts.list = []
-        }
-        setTimeout(() => {
-          this.tab1.detailsSpareParts.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab1Filter2() {
-      this.tab1.detailsSpareParts.listLoading = true
-      this.tab1.detailsSpareParts.getdataListParm.offset = 1
-      this.getTab1List2()
-    },
-    sparePartSearch(queryString, cb) {
-      this.tab1.detailsSpareParts.requestSparePart.parammaps['partCode'] = queryString
-      GetDataByName(this.tab1.detailsSpareParts.requestSparePart).then(response => {
-        if (response.data.list == null) {
-          cb([])
-        } else {
-          cb(response.data.list)
-        }
-      })
-    },
-    handleSelectSparePart(item) {
-      console.log('备件模糊查询选中值', item)
-      if (this.tab1.detailsSpareParts.listAdd.length > 0) {
-        if (this.tab1.detailsSpareParts.listAdd.find(obj => obj.partCode == item.partCode)) {
-          this.$message({ type: 'warning', message: '此备件已存在,请重新选择备件' })
-        } else {
-          if (item.srcpath !== null && item.picpath !== null && item.srcpath !== undefined && item.picpath !== undefined) {
-            this.$set(item, 'srcpath', process.env.VUE_APP_BASE_API + item.srcpath)
-            this.$set(item, 'picpath', process.env.VUE_APP_BASE_API + item.picpath)
-          } else {
-            item.srcpath = ''
-            item.picpath = ''
-          }
-          this.$set(item, 'myid', new Date().getTime())
-          this.$set(item, 'taxcode', '')
-          this.tab1.detailsSpareParts.listAdd.unshift(item)
-        }
-      } else {
-        if (item.srcpath !== null && item.picpath !== null && item.srcpath !== undefined && item.picpath !== undefined) {
-          this.$set(item, 'srcpath', process.env.VUE_APP_BASE_API + item.srcpath)
-          this.$set(item, 'picpath', process.env.VUE_APP_BASE_API + item.picpath)
-        } else {
-          item.srcpath = ''
-          item.picpath = ''
-        }
-        this.$set(item, 'myid', new Date().getTime())
-        this.tab1.detailsSpareParts.listAdd.unshift(item)
-      }
-    },
-    brandSearch(queryString, cb) {
-      this.tab1.detailsSpareParts.requestBrand.parammaps['brandName'] = queryString
-      GetDataByName(this.tab1.detailsSpareParts.requestBrand).then(response => {
-        this.tab1.detailsSpareParts.BrandList = response.data.list
-        cb(this.tab1.detailsSpareParts.BrandList)
-      })
-    },
-    handleSelectBrand(item, row) {
-      this.$set(row, 'brandName', item.brandName)
-      this.$set(row, 'brandId', item.brandId)
-      this.$forceUpdate()
-    },
-    handleFocusBrand(row) {
-      this.$set(row, 'brandName', '')
-      this.$set(row, 'brandId', '')
-    },
-    handleBlurBrand(row) {
-      if (row.brandId == '') {
-        this.$set(row, 'brand', '')
-        this.$set(row, 'brandName', '')
-        this.$set(row, 'brandId', '')
-      }
-    },
-    partDelete(row) {
-      console.log('备件明细-备件删除', row)
-      MessageBox.confirm('设备名称:' + row.partName, '确认删除?', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
-      }).then(() => {
-        for (var i = 0; i < this.tab1.detailsSpareParts.listAdd.length; i++) {
-          console.log(this.tab1.detailsSpareParts.listAdd[i])
-          if (this.tab1.detailsSpareParts.listAdd[i].myid === row.myid) {
-            var listAddIndex = this.tab1.detailsSpareParts.listAdd.indexOf(this.tab1.detailsSpareParts.listAdd[i])
-          }
-          if (listAddIndex > -1) {
-            this.tab1.detailsSpareParts.listAdd.splice(listAddIndex, 1)
-            return
-          }
-        }
-      })
-    },
-    handleTab1DownloadTemp2() {
-      console.log('备件明细-备件模板')
-      import('@/vendor/Export2Excel').then(excel => {
-        const list1 = []
-        const tHeader = ['备件编号', '备件名称', '规格型号', '计量单位', '品牌', '计划量', '单价', '备注']
-        const filterVal = ['备件编号', '备件名称', '规格型号', '计量单位', '品牌', '计划量', '单价', '备注']
-        const data1 = this.formatJsonTemp(filterVal, list1)
-        excel.export_json_to_excel({ header: tHeader, data: data1, filename: '备件明细模板', autoWidth: true, bookType: 'xlsx' })
-      })
-    },
-    formatJsonTemp(filterVal, jsonData) {
-      return jsonData.map(v =>
-        filterVal.map(j => {
-          if (j === 'timestamp') {
-            return parseTime(v[j])
-          } else {
-            return v[j]
-          }
-        })
-      )
-    },
-    beforeImportExcel(file) {
-      const isLt2M = file.size / 1024 / 1024 < 6
-      if (!isLt2M) {
-        this.$message.error('上传文件大小不能超过 6MB!')
-      }
-      return isLt2M
-    },
-    handleImportExcelSuccess(res, file) {
-      console.log(res)
-      if (res.msg == 'ok') {
-        this.$message({ title: '成功', message: '导入成功:' + res.data.success + '条!', type: 'success', duration: 2000 })
-        if (res.data.err_count > 0) {
-          this.$notify({ title: '失败', message: '导入失败:' + res.data.err_count + '条!', type: 'danger', duration: 2000 })
-           import('@/vendor/Export2Excel').then(excel => {
-             const list1 = res.data.result
-             const tHeader = ['备件编号', '备件名称', '规格型号', '计量单位', '品牌', '计划量', '单价', '备注', '报错信息']
-             const filterVal = ['备件编号', '备件名称', '规格型号', '计量单位', '品牌', '计划量', '单价', '备注', 'error_msg']
-             const data1 = this.formatJson(filterVal, list1)
-             excel.export_json_to_excel({ header: tHeader, data: data1, filename: '合同报错信息', autoWidth: true, bookType: 'xlsx' })
-           })
-        }
-        this.getImportExcelList()
-      } else {
-        this.$notify({ title: '失败', message: '上传失败,文件格式错误', type: 'danger', duration: 2000 })
-      }
-    },
-    formatJson(filterVal, jsonData) {
-      return jsonData.map(v =>
-        filterVal.map(j => {
-          if (j == 'timestamp') {
-            return parseTime(v[j])
-          } else {
-            return v[j]
-          }
-        })
-      )
-    },
-    getClearImportExcelList() {
-      PostDataByName(this.tab1.detailsSpareParts.clearImportExcelParm).then(response => {
-        console.log(response.msg)
-        if (response.msg == 'ok') {
-          this.tab1.detailsSpareParts.isDisabledImport = false
-        }
-      })
-    },
-    getImportExcelList() {
-      GetDataByName(this.tab1.detailsSpareParts.importExcelParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            if (response.data.list[i].picpath == undefined) {
-              response.data.list[i].picpath = ''
-              response.data.list[i].srcpath = ''
-            } else {
-              this.$set(response.data.list[i], 'srcpath', process.env.VUE_APP_BASE_API + response.data.list[i].srcpath)
-              this.$set(response.data.list[i], 'picpath', process.env.VUE_APP_BASE_API + response.data.list[i].picpath)
-            }
-            response.data.list[i].myid = new Date().getTime() + i
-          }
-          this.tab1.detailsSpareParts.listAdd = response.data.list
-        } else {
-          this.tab1.detailsSpareParts.list = []
-        }
-      })
-    },
-    handleTab1Create2() {
-      console.log('备件明细-新增/变更')
-      this.dialogStatus = 'tab1create2'
-      this.tab1.detailsSpareParts.create.dialogFormVisible = true
-      this.tab1.detailsSpareParts.listAdd = []
-      this.tab1.detailsSpareParts.partCode = ''
-      this.tab1.detailsSpareParts.requestSparePart.name = 'getcontratListBybigALLParts'
-      this.tab1.detailsSpareParts.requestSparePart.parammaps = {}
-      this.getClearImportExcelList()
-    },
-    add_dialog_save2() {
-      console.log('备件明细-新增保存')
-      if (this.tab1.detailsSpareParts.listAdd.length !== 0) {
-        for (let i = 0; i < this.tab1.detailsSpareParts.listAdd.length; i++) {
-          if (this.tab1.detailsSpareParts.listAdd[i].planAmount == null || this.tab1.detailsSpareParts.listAdd[i].brand == null || this.tab1.detailsSpareParts.listAdd[i].price == null || this.tab1.detailsSpareParts.listAdd[i].planAmount == '' || this.tab1.detailsSpareParts.listAdd[i].brand === '' || this.tab1.detailsSpareParts.listAdd[i].brandId === '' || this.tab1.detailsSpareParts.listAdd[i].price == '' || this.tab1.detailsSpareParts.listAdd[i].brand == undefined || this.tab1.detailsSpareParts.listAdd[i].brandId == undefined) {
-            this.$message({ type: 'warning', message: '请检查备件品牌或计划量或单价是否为空', duration: 2000 })
-            return false
-          } else {
-            var rulesPlanAmount = /^[1-9]\d*$/
-            if (!rulesPlanAmount.test(parseFloat(this.tab1.detailsSpareParts.listAdd[i].planAmount))) {
-              this.$message({ type: 'error', message: '计划量请输入正整数', duration: 2000 })
-              return false
-            }
-            if (parseFloat(this.tab1.detailsSpareParts.listAdd[i].price) == 0) {
-              this.$message({ type: 'warning', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-              return false
-            } else {
-              var rulesPrice = /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,5})?$/
-              if (rulesPrice.test(this.tab1.detailsSpareParts.listAdd[i].price) == false) {
-                this.$message({ type: 'error', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                return false
-              }
-            }
-          }
-        }
-        this.postDataPramas = {}
-        this.postDataPramas.common = { 'returnmap': '0' }
-        this.postDataPramas.data = []
-        this.postDataPramas.data[0] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-          pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-          flag: this.tab1.detailsSpareParts.detailsList.flag,
-          providerId: this.tab1.detailsSpareParts.detailsList.providerId,
-          providerName: this.tab1.detailsSpareParts.detailsList.providerName,
-          startTime: this.tab1.detailsSpareParts.detailsList.startTime,
-          stopTime: this.tab1.detailsSpareParts.detailsList.stopTime,
-          contractCode: '',
-          contractCode1: this.tab1.detailsSpareParts.detailsList.contractCode,
-          creatorId: Cookies.get('employeid'),
-          creatorMan: Cookies.get('employename'),
-          creatorTime: parseTime(new Date(), '{y}-{m}-{d}'),
-          isZeroStock: this.tab1.detailsSpareParts.detailsList.isZeroStock,
-          statue: this.tab1.detailsSpareParts.detailsList.statue,
-          remark: this.tab1.detailsSpareParts.detailsList.remark,
-          SHtype: 1
-        }}
-        this.postDataPramas.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.tab1.detailsSpareParts.listAdd }}
-        this.postDataPramas.data[1].children = []
-        this.postDataPramas.data[1].children[0] = { 'name': 'checkcontracPartCode', 'type': 'v', 'parammaps': {
-          pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-          providerId: this.tab1.detailsSpareParts.detailsList.providerId,
-          stopTime: this.tab1.detailsSpareParts.detailsList.stopTime,
-          flag: this.tab1.detailsSpareParts.detailsList.flag,
-          isZeroStock: this.tab1.detailsSpareParts.detailsList.isZeroStock,
-          statue: this.tab1.detailsSpareParts.detailsList.statue,
-          partCode: '@insertSpotList.partCode',
-          brandId: '@insertSpotList.brandId'
-        }}
-        this.postDataPramas.data[1].children[1] = { 'name': 'insertContractV2', 'type': 'e', 'parammaps': {
-          bigId: '@insertBigContractV2.LastInsertId',
-          pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-          pastureName: this.tab1.detailsSpareParts.detailsList.pastureName,
-          partId: '@insertSpotList.id',
-          partName: '@insertSpotList.partName',
-          partCode: '@insertSpotList.partCode',
-          specification: '@insertSpotList.specification',
-          price: '@insertSpotList.price',
-          brandId: '@insertSpotList.brandId',
-          brand: '@insertSpotList.brand',
-          planAmount: '@insertSpotList.planAmount',
-          remark: '@insertSpotList.remark',
-          unit: '@insertSpotList.unit',
-          contractId: '@insertSpotList.contractId',
-          taxcode: '@insertSpotList.taxcode'
-        }}
-        ExecDataByConfig(this.postDataPramas).then(response => {
-          console.log('新增保存发送参数', this.postDataPramas)
-          if (response.msg == 'fail') {
-            this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-          } else {
-            this.getTab1List2()
-            this.getPendingList()
-            this.tab1.detailsSpareParts.create.dialogFormVisible = false
-            this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-          }
-        })
-      } else {
-        this.$notify({ title: '', message: '请选择备件', type: 'warning', duration: 2000 })
-        return false
-      }
-    },
-    handleTab1Change2() {
-      console.log('备件明细-变更')
-      this.dialogStatus = 'tab1change2'
-      this.tab1.detailsSpareParts.create.dialogFormVisible = true
-      this.tab1.detailsSpareParts.listAdd = []
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.pastureId = this.tab1.detailsSpareParts.detailsList.pastureId
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.providerId = this.tab1.detailsSpareParts.detailsList.providerId
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.stopTime = this.tab1.detailsSpareParts.detailsList.stopTime
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.flag = this.tab1.detailsSpareParts.detailsList.flag
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.isZeroStock = this.tab1.detailsSpareParts.detailsList.isZeroStock
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.statue = this.tab1.detailsSpareParts.detailsList.statue
-      this.tab1.detailsSpareParts.requestSparePart.name = 'getcontratListBybigParts'
-    },
-    changeData2() {
-      console.log('备件明细-变更保存')
-      if (this.tab1.detailsSpareParts.listAdd.length !== 0) {
-        for (let i = 0; i < this.tab1.detailsSpareParts.listAdd.length; i++) {
-          if (this.tab1.detailsSpareParts.listAdd[i].planAmount == null || this.tab1.detailsSpareParts.listAdd[i].brand == null || this.tab1.detailsSpareParts.listAdd[i].price == null || this.tab1.detailsSpareParts.listAdd[i].planAmount == '' || this.tab1.detailsSpareParts.listAdd[i].brand === '' || this.tab1.detailsSpareParts.listAdd[i].brandId === '' || this.tab1.detailsSpareParts.listAdd[i].price == '' || this.tab1.detailsSpareParts.listAdd[i].brand == undefined || this.tab1.detailsSpareParts.listAdd[i].brandId == undefined) {
-            this.$message({ type: 'warning', message: '请检查备件品牌或计划量或单价是否为空', duration: 2000 })
-            return false
-          } else {
-            var rulesPlanAmount = /^[1-9]\d*$/
-            if (!rulesPlanAmount.test(parseFloat(this.tab1.detailsSpareParts.listAdd[i].planAmount))) {
-              this.$message({ type: 'error', message: '计划量请输入正整数', duration: 2000 })
-              return false
-            } else {
-              if (parseFloat(this.tab1.detailsSpareParts.listAdd[i].price) == 0) {
-                this.$message({ type: 'warning', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                return false
-              } else {
-                var rulesPrice = /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,5})?$/
-                if (rulesPrice.test(this.tab1.detailsSpareParts.listAdd[i].price) == false) {
-                  this.$message({ type: 'error', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                  return false
-                }
-              }
-            }
-          }
-        }
-        this.postDataPramas = {}
-        this.postDataPramas.common = { 'returnmap': '0' }
-        this.postDataPramas.data = []
-        this.postDataPramas.data[0] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-          pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-          flag: this.tab1.detailsSpareParts.detailsList.flag,
-          providerId: this.tab1.detailsSpareParts.detailsList.providerId,
-          providerName: this.tab1.detailsSpareParts.detailsList.providerName,
-          startTime: this.tab1.detailsSpareParts.detailsList.startTime,
-          stopTime: this.tab1.detailsSpareParts.detailsList.stopTime,
-          contractCode: '',
-          contractCode1: this.tab1.detailsSpareParts.detailsList.contractCode,
-          creatorId: Cookies.get('employeid'),
-          creatorMan: Cookies.get('employename'),
-          creatorTime: parseTime(new Date(), '{y}-{m}-{d}'),
-          isZeroStock: this.tab1.detailsSpareParts.detailsList.isZeroStock,
-          statue: this.tab1.detailsSpareParts.detailsList.statue,
-          remark: this.tab1.detailsSpareParts.detailsList.remark,
-          SHtype: 2
-        }}
-        this.postDataPramas.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.tab1.detailsSpareParts.listAdd }}
-        this.postDataPramas.data[1].children = []
-        this.postDataPramas.data[1].children[0] = { 'name': 'insertContractV2', 'type': 'e', 'parammaps': {
-          bigId: '@insertBigContractV2.LastInsertId',
-          pastureId: '@insertSpotList.pastureId',
-          pastureName: '@insertSpotList.pastureName',
-          partId: '@insertSpotList.partId',
-          partName: '@insertSpotList.partName',
-          partCode: '@insertSpotList.partCode',
-          specification: '@insertSpotList.specification',
-          price: '@insertSpotList.price',
-          brandId: '@insertSpotList.brandId',
-          brand: '@insertSpotList.brand',
-          planAmount: '@insertSpotList.planAmount',
-          remark: '@insertSpotList.remark',
-          unit: '@insertSpotList.unit',
-          contractId: '@insertSpotList.contractId',
-          taxcode: '@insertSpotList.taxcode'
-        }}
-        ExecDataByConfig(this.postDataPramas).then(response => {
-          console.log('新增保存发送参数', this.postDataPramas)
-          if (response.msg == 'fail') {
-            this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-          } else {
-            this.getTab1List2()
-            this.getPendingList()
-            this.tab1.detailsSpareParts.create.dialogFormVisible = false
-            this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-          }
-        })
-      } else {
-        this.$notify({ title: '', message: '请选择备件', type: 'warning', duration: 2000 })
-        return false
-      }
-    },
-    handleTab1Export2() {
-      console.log('备件明细-导出')
-      this.$alert('备件明细正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
-      this.isPercentage = true
-      this.percentage = 1
-      var timer = setInterval(() => {
-        this.percentage += 5
-        if (this.percentage > 95) {
-          this.percentage = 99
-          clearInterval(timer)
-          this.tab1.detailsSpareParts.getdataListParm.pagecount = 10
-        }
-        this.percentage = this.percentage
-      }, 1000)
-      this.tab1.detailsSpareParts.getdataListParm.pagecount = ''
-      GetDataByName(this.tab1.detailsSpareParts.getdataListParm).then(response => {
-        if (response.data.list !== '') {
-          this.percentage = 99
-          setTimeout(() => {
-            this.isPercentage = false
-          }, 2000)
-        }
-        if (response.data.list !== null) {
-          this.$nextTick(() => {
-            const ExcelDatas = [
-              {
-                tHeader: ['备件编号', '备件名称', '备件规格', '备件品牌', '计量单位', '计划量', '单价', '备注'],
-                filterVal: ['partCode', 'partName', 'specification', 'brand', 'unit', 'planAmount', 'price', 'remark'],
-                tableDatas: response.data.list,
-                sheetName: '合同管理-备件明细'
-              }
-            ]
-            json2excel(ExcelDatas, '合同管理-备件明细', true, 'xlsx')
-          })
-        }
-      })
-    },
-
-    // 变更记录
-    handleTab1ChangeRecord(row) {
-      console.log('变更记录')
-      this.tab1.detailsSpareParts.detailsList = Object.assign({}, row)
-      this.isContractManagement = false
-      this.isChangeRecord = true
-      this.tab1.changeRecord.getdataListParm.parammaps.pastureId = row.pastureId
-      this.tab1.changeRecord.getdataListParm.parammaps.providerId = row.providerId
-      this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = row.stopTime
-      this.tab1.changeRecord.getdataListParm.parammaps.flag = row.flag
-      this.tab1.changeRecord.getdataListParm.parammaps.isZeroStock = row.isZeroStock
-      this.tab1.changeRecord.getdataListParm.parammaps.statue = row.statue
-      this.tab1.changeRecord.getdataListParm.parammaps.contractCode = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.tab1InputDatetime3 = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.startTime = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.stopTime = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.SHtype = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.stuteSH = ''
-      this.getTab1List3()
-    },
-    handleTab1goBack2() {
-      // this.reload()
-      this.isContractManagement = true
-      this.isChangeRecord = false
-      this.tab1.changeRecord.total = 0
-      // this.tab1.contractManagement.getdataListParm.offset = 1
-      this.getTab1List()
-    },
-    getTab1List3() {
-      this.tab1.changeRecord.listLoading = true
-      if (this.$refs['tab1InputDatetime3'] !== undefined && this.$refs['tab1InputDatetime3'].value !== null) {
-        this.tab1.changeRecord.getdataListParm.parammaps.startTime = this.$refs['tab1InputDatetime3'].value[0]
-        this.tab1.changeRecord.getdataListParm.parammaps.stopTime = this.$refs['tab1InputDatetime3'].value[1]
-      } else {
-        this.tab1.changeRecord.getdataListParm.parammaps.startTime = ''
-        this.tab1.changeRecord.getdataListParm.parammaps.stopTime = ''
-      }
-      GetDataByName(this.tab1.changeRecord.getdataListParm).then(response => {
-        this.tab1.changeRecord.list = response.data.list
-        this.tab1.changeRecord.pageNum = response.data.pageNum
-        this.tab1.changeRecord.pageSize = response.data.pageSize
-        if (response.data.list !== null) {
-          this.tab1.changeRecord.total = response.data.total
-        } else {
-          this.tab1.changeRecord.total = 0
-        }
-        setTimeout(() => {
-          this.tab1.changeRecord.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab1Filter3() {
-      this.tab1.changeRecord.listLoading = true
-      if (this.tab1.changeRecord.getdataListParm.parammaps.tab1InputDatetime3 == null) {
-        this.tab1.changeRecord.getdataListParm.parammaps.tab1InputDatetime3 = ''
-      }
-      this.tab1.changeRecord.getdataListParm.offset = 1
-      if (this.tab1.changeRecord.radioAll == '全部') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 2
-        this.getTab1List3()
-      } else if (this.tab1.changeRecord.radioAll == '待处理') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 0
-        this.getTab1List3()
-      } else if (this.tab1.changeRecord.radioAll == '已处理') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 1
-        this.getTab1List3()
-      }
-    },
-    changeChangeRecordAll() {
-      if (this.tab1.changeRecord.radioAll == '全部') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 2
-        this.getTab1List3()
-      } else if (this.tab1.changeRecord.radioAll == '待处理') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 0
-        this.getTab1List3()
-      } else if (this.tab1.changeRecord.radioAll == '已处理') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 1
-        this.getTab1List3()
-      }
-    },
-    handleTab1See3(row) {
-      console.log('变更记录-查看')
-      this.tab1.changeRecord.see.temp = Object.assign({}, row)
-      this.dialogStatus = 'tab1See2'
-      this.tab1.changeRecord.see.dialogFormVisible = true
-      if (row.SHtype == 0 || row.SHtype == 1 || row.SHtype == 2) {
-        this.tab1.changeRecord.see.getdataListParm.parammaps.id = row.id
-        this.getTab1List3See()
-      }
-      var reason = '未通过原因:' + this.tab1.changeRecord.see.temp.workflowNote
-      if (this.tab1.changeRecord.see.temp.SHStatus == 2) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核' }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 1
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 3) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 2
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 4) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson, status: 'error', reason: reason }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 2
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 5) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 2
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 6) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 3
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 7) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核', date: this.tab1.changeRecord.see.temp.CGChargedate, name: this.tab1.changeRecord.see.temp.CGChargePerson }]
-        this.tab1.changeRecord.see.active = 4
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 8) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核', date: this.tab1.changeRecord.see.temp.CGChargedate, name: this.tab1.changeRecord.see.temp.CGChargePerson, status: 'error', reason: reason }]
-        this.tab1.changeRecord.see.active = 4
-      }
-    },
-    getTab1List3See() {
-      GetDataByName(this.tab1.changeRecord.see.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          this.tab1.changeRecord.see.pageNum = response.data.pageNum
-          this.tab1.changeRecord.see.pageSize = response.data.pageSize
-          if (response.data.total) {
-            this.tab1.changeRecord.see.total = response.data.total
-          }
-          for (let i = 0; i < response.data.list.length; i++) {
-            response.data.list[i].myid = new Date().getTime() + i
-            if (response.data.list[i].srcpath !== null && response.data.list[i].picpath !== null && response.data.list[i].srcpath !== undefined && response.data.list[i].picpath !== undefined) {
-              const srcpath = process.env.VUE_APP_BASE_API + response.data.list[i].srcpath
-              const picpath = process.env.VUE_APP_BASE_API + response.data.list[i].picpath
-              response.data.list[i].srcpath = srcpath
-              response.data.list[i].picpath = picpath
-            } else {
-              response.data.list[i].srcpath = ''
-              response.data.list[i].picpath = ''
-            }
-          }
-          this.tab1.changeRecord.see.list = response.data.list
-          this.tab1.detailsSpareParts.listAdd = response.data.list
-        } else {
-          this.tab1.changeRecord.see.list = []
-          this.tab1.detailsSpareParts.listAdd = []
-        }
-        setTimeout(() => {
-          this.tab1.changeRecord.see.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab1Update3(row) {
-      console.log('变更记录-编辑', row)
-      this.tab1.detailsSpareParts.updateList = Object.assign({}, row)
-      this.tab1.detailsSpareParts.create.temp = Object.assign({}, row)
-      this.dialogStatus = 'tab1Update2'
-      this.tab1.detailsSpareParts.create.dialogFormVisible = true
-      this.tab1.changeRecord.see.getdataListParm.parammaps.id = row.id
-      this.getTab1List3See()
-      if (row.SHtype == 1) {
-        this.tab1.detailsSpareParts.requestSparePart.name = 'getcontratListBybigALLParts'
-        this.tab1.detailsSpareParts.requestSparePart.parammaps = {}
-      } else {
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.pastureId = this.tab1.detailsSpareParts.detailsList.pastureId
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.providerId = this.tab1.detailsSpareParts.detailsList.providerId
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.stopTime = this.tab1.detailsSpareParts.detailsList.stopTime
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.flag = this.tab1.detailsSpareParts.detailsList.flag
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.isZeroStock = this.tab1.detailsSpareParts.detailsList.isZeroStock
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.statue = this.tab1.detailsSpareParts.detailsList.statue
-        this.tab1.detailsSpareParts.requestSparePart.name = 'getcontratListBybigParts'
-      }
-    },
-    edit_dialog_save2() {
-      console.log('编辑保存')
-      // 新增合同 || 变更日期
-      if (this.tab1.detailsSpareParts.updateList.SHtype == 0 || this.tab1.detailsSpareParts.updateList.SHtype == 3) {
-        this.postDataPramas = {}
-        this.postDataPramas.common = { 'returnmap': '0' }
-        this.postDataPramas.data = []
-        this.postDataPramas.data[0] = { 'name': 'updateBigcontractV2', 'type': 'e', 'parammaps': {
-          id: this.tab1.detailsSpareParts.create.temp.id,
-          startTime: this.tab1.detailsSpareParts.create.temp.startTime,
-          stopTime: this.tab1.detailsSpareParts.create.temp.stopTime,
-          isZeroStock: this.tab1.detailsSpareParts.create.temp.isZeroStock,
-          remark: this.tab1.detailsSpareParts.create.temp.remark,
-          stopTimeHis: this.tab1.detailsSpareParts.create.temp.stopTimeHis
-        }}
-        ExecDataByConfig(this.postDataPramas).then(response => {
-          console.log('新增保存发送参数', this.postDataPramas)
-          if (response.msg == 'fail') {
-            this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-          } else {
-            if (this.tab1.detailsSpareParts.updateList.SHtype == 0) {
-              this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = this.tab1.detailsSpareParts.create.temp.stopTime
-            }
-            this.getTab1List3()
-            this.getPendingList()
-            this.tab1.detailsSpareParts.create.dialogFormVisible = false
-            this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-          }
-        })
-      } else {
-        if (this.tab1.detailsSpareParts.listAdd.length !== 0) {
-          for (let i = 0; i < this.tab1.detailsSpareParts.listAdd.length; i++) {
-            if (this.tab1.detailsSpareParts.listAdd[i].planAmount == null || this.tab1.detailsSpareParts.listAdd[i].brand == null || this.tab1.detailsSpareParts.listAdd[i].price == null || this.tab1.detailsSpareParts.listAdd[i].planAmount == '' || this.tab1.detailsSpareParts.listAdd[i].brand == '' || this.tab1.detailsSpareParts.listAdd[i].brandId === '' || this.tab1.detailsSpareParts.listAdd[i].price == '' || this.tab1.detailsSpareParts.listAdd[i].brand == undefined || this.tab1.detailsSpareParts.listAdd[i].brandId == undefined) {
-              console.log(this.tab1.detailsSpareParts.listAdd[i])
-              this.$message({ type: 'warning', message: '请检查备件品牌或计划量或单价是否为空', duration: 2000 })
-              return false
-            } else {
-              var rulesPlanAmount = /^[1-9]\d*$/
-              if (!rulesPlanAmount.test(parseFloat(this.tab1.detailsSpareParts.listAdd[i].planAmount))) {
-                this.$message({ type: 'error', message: '计划量请输入正整数', duration: 2000 })
-                return false
-              } else {
-                if (parseFloat(this.tab1.detailsSpareParts.listAdd[i].price) == 0) {
-                  this.$message({ type: 'warning', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                  return false
-                } else {
-                  var rulesPrice = /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,5})?$/
-                  if (rulesPrice.test(this.tab1.detailsSpareParts.listAdd[i].price) == false) {
-                    this.$message({ type: 'error', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                    return false
-                  }
-                }
-              }
-            }
-          }
-          this.postDataPramas = {}
-          this.postDataPramas.common = { 'returnmap': '0' }
-          this.postDataPramas.data = []
-          this.postDataPramas.data[0] = { 'name': 'deleteContract', 'type': 'e', 'parammaps': {
-            bigId: this.tab1.detailsSpareParts.updateList.id
-          }}
-          this.postDataPramas.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.tab1.detailsSpareParts.listAdd }}
-          this.postDataPramas.data[1].children = []
-
-          if (this.tab1.detailsSpareParts.updateList.SHtype == 2) {
-            this.postDataPramas.data[1].children[0] = { 'name': 'insertContractV2', 'type': 'e', 'parammaps': {
-              bigId: this.tab1.detailsSpareParts.updateList.id,
-              pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-              pastureName: this.tab1.detailsSpareParts.detailsList.pastureName,
-              partId: '@insertSpotList.id',
-              partName: '@insertSpotList.partName',
-              partCode: '@insertSpotList.partCode',
-              specification: '@insertSpotList.specification',
-              price: '@insertSpotList.price',
-              brandId: '@insertSpotList.brandId',
-              brand: '@insertSpotList.brand',
-              planAmount: '@insertSpotList.planAmount',
-              remark: '@insertSpotList.remark',
-              unit: '@insertSpotList.unit',
-              contractId: '@insertSpotList.contractId',
-              taxcode: '@insertSpotList.taxcode'
-            }}
-          } else {
-            this.postDataPramas.data[1].children[0] = { 'name': 'checkcontracPartCode', 'type': 'v', 'parammaps': { pastureId: this.tab1.detailsSpareParts.detailsList.pastureId, providerId: this.tab1.detailsSpareParts.detailsList.providerId, stopTime: this.tab1.detailsSpareParts.detailsList.stopTime, flag: this.tab1.detailsSpareParts.detailsList.flag, isZeroStock: this.tab1.detailsSpareParts.detailsList.isZeroStock, statue: this.tab1.detailsSpareParts.detailsList.statue, partCode: '@insertSpotList.partCode', brandId: '@insertSpotList.brandId' }}
-            this.postDataPramas.data[1].children[1] = { 'name': 'insertContractV2', 'type': 'e', 'parammaps': {
-              bigId: this.tab1.detailsSpareParts.updateList.id,
-              pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-              pastureName: this.tab1.detailsSpareParts.detailsList.pastureName,
-              partId: '@insertSpotList.id',
-              partName: '@insertSpotList.partName',
-              partCode: '@insertSpotList.partCode',
-              specification: '@insertSpotList.specification',
-              price: '@insertSpotList.price',
-              brandId: '@insertSpotList.brandId',
-              brand: '@insertSpotList.brand',
-              planAmount: '@insertSpotList.planAmount',
-              remark: '@insertSpotList.remark',
-              unit: '@insertSpotList.unit',
-              contractId: '@insertSpotList.contractId',
-              // taxcode: '@insertSpotList.taxcode'
-            }}
-          }
-          this.postDataPramas.data[2] = { 'name': 'updateBigcontract', 'type': 'e', 'parammaps': {
-            id: this.tab1.detailsSpareParts.updateList.id
-          }}
-          ExecDataByConfig(this.postDataPramas).then(response => {
-            console.log('新增保存发送参数', this.postDataPramas)
-            if (response.msg == 'fail') {
-              this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-            } else {
-              this.getTab1List3()
-              this.getPendingList()
-              this.tab1.detailsSpareParts.create.dialogFormVisible = false
-              this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-            }
-          })
-        } else {
-          this.$notify({ title: '', message: '请选择备件', type: 'warning', duration: 2000 })
-          return false
-        }
-      }
-    },
-    changeExamineStatue(val) {
-      if (val == 2) {
-        this.tab1.changeRecord.examine.isReason = true
-      } else {
-        this.tab1.changeRecord.examine.isReason = false
-      }
-    },
-    // 审核1
-    handleTab1Examine(row) {
-      console.log('变更记录-审核')
-      this.dialogStatus = 'tab1examine'
-      this.tab1.changeRecord.examine.dialogFormVisible = true
-      this.tab1.changeRecord.examine.temp = Object.assign({}, row)
-      this.tab1.changeRecord.examine.isReason = false
-      if (row == undefined) {
-        this.tab1.changeRecord.examine.temp = this.tab1.changeRecord.see.temp
-        this.$set(this.tab1.changeRecord.see.temp, 'statueSH', 1)
-        this.$set(this.tab1.changeRecord.see.temp, 'workflowNote', '')
-      } else {
-        this.tab1.changeRecord.examine.temp = Object.assign({}, row)
-        this.$set(this.tab1.changeRecord.examine.temp, 'statueSH', 1)
-        this.$set(this.tab1.changeRecord.examine.temp, 'workflowNote', '')
-      }
-      this.keyupSubmit()
-    },
-    keyupSubmit() {
-      if (this.dialogStatus == 'tab1examine' || this.dialogStatus == 'tab1examine2' || this.dialogStatus == 'tab1examine3') {
-        document.onkeydown = e => {
-          const _key = window.event.keyCode
-          if (_key === 13) {
-            if (this.dialogStatus == 'tab1examine') {
-              this.createExamineData()
-            } else {
-              this.createExamineData3()
-            }
-          }
-        }
-      }
-    },
-    createExamineData() {
-      console.log('点击了设备主管审核确认1')
-      this.isokDisable = true
-      setTimeout(() => {
-        this.isokDisable = false
-      }, 1000)
-      this.$refs['examineTemp'].validate(valid => {
-        if (valid) {
-          this.postDataPramas = {}
-          this.postDataPramas.name = 'contractCharge'
-          this.postDataPramas.parammaps = {}
-          this.postDataPramas.parammaps.id = this.tab1.changeRecord.examine.temp.id
-          if (this.tab1.changeRecord.examine.temp.statueSH === 1) {
-            this.postDataPramas.parammaps.statue = 5
-          } else {
-            this.postDataPramas.parammaps.statue = 4
-          }
-          this.postDataPramas.parammaps.empId	 = Cookies.get('employeid')
-          this.postDataPramas.parammaps.workflowNote = this.tab1.changeRecord.examine.temp.workflowNote
-          PostDataByName(this.postDataPramas).then(response => {
-            console.log('设备主管审核确认发送参数', this.postDataPramas)
-            if (response.msg !== 'fail') {
-              this.tab1.changeRecord.examine.dialogFormVisible = false
-              this.tab1.changeRecord.see.dialogFormVisible = false
-              this.tab1.changeRecord.isStatueReason = false
-              this.$notify({ title: '成功', message: '审核成功', type: 'success', duration: 2000 })
-              this.getTab1List3()
-              this.getTab1List()
-              this.getPendingList()
-            } else {
-              failproccess(response, this.$notify)
-            }
-          })
-        }
-      })
-    },
-    // 审核2
-    handleTab1Examine3(row) {
-      console.log(' 变更记录-审核3')
-      if (row == undefined) {
-        this.tab1.changeRecord.examine.temp = this.tab1.changeRecord.see.temp
-        this.$set(this.tab1.changeRecord.see.temp, 'statueSH', 1)
-        this.$set(this.tab1.changeRecord.see.temp, 'workflowNote', '')
-      } else {
-        this.tab1.changeRecord.examine.temp = Object.assign({}, row)
-        this.$set(this.tab1.changeRecord.examine.temp, 'statueSH', 1)
-        this.$set(this.tab1.changeRecord.examine.temp, 'workflowNote', '')
-      }
-      this.dialogStatus = 'tab1examine3'
-      this.tab1.changeRecord.examine.dialogFormVisible = true
-      this.tab1.changeRecord.examine.isReason = false
-      this.keyupSubmit()
-    },
-    createExamineData3() {
-      console.log('点击了设备中心审核确认3')
-      this.isokDisable = true
-      setTimeout(() => {
-        this.isokDisable = false
-      }, 1000)
-      this.$refs['examineTemp'].validate(valid => {
-        if (valid) {
-          this.postDataPramas = {}
-          this.postDataPramas.common = { 'returnmap': '0' }
-          this.postDataPramas.data = []
-          if (this.tab1.changeRecord.examine.temp.statueSH == 1) {
-            this.postDataPramas.data[0] = { 'name': 'contractCharge1', 'type': 'e', 'parammaps': {
-              statue: 7,
-              empId: Cookies.get('employeid'),
-              workflowNote: this.tab1.changeRecord.examine.temp.workflowNote,
-              id: this.tab1.changeRecord.examine.temp.id
-            }}
-            if (this.tab1.changeRecord.examine.temp.SHtype == 1 || this.tab1.changeRecord.examine.temp.SHtype == 2) {
-              this.postDataPramas.data[1] = { 'name': 'updateContractEnable', 'type': 'e', 'parammaps': {
-                id: this.tab1.changeRecord.examine.temp.id
-              }}
-            } else if (this.tab1.changeRecord.examine.temp.SHtype == 3) {
-              this.postDataPramas.data[1] = { 'name': 'updatecontractdate', 'type': 'e', 'parammaps': {
-                pastureId: this.tab1.changeRecord.examine.temp.pastureId,
-                providerId: this.tab1.changeRecord.examine.temp.providerId,
-                stopTimeHis: this.tab1.changeRecord.examine.temp.stopTimeHis,
-                flag: this.tab1.changeRecord.examine.temp.flag,
-                isZeroStock: this.tab1.changeRecord.examine.temp.isZeroStock,
-                statue: this.tab1.changeRecord.examine.temp.statue,
-                startTime: this.tab1.changeRecord.examine.temp.startTime,
-                stopTime: this.tab1.changeRecord.examine.temp.stopTime,
-                id: this.tab1.changeRecord.examine.temp.id
-              }}
-            }
-          } else {
-            this.postDataPramas.data[0] = { 'name': 'contractCharge1', 'type': 'e', 'parammaps': {
-              statue: 8,
-              empId: Cookies.get('employeid'),
-              workflowNote: this.tab1.changeRecord.examine.temp.workflowNote,
-              id: this.tab1.changeRecord.examine.temp.id
-            }}
-          }
-          ExecDataByConfig(this.postDataPramas).then(response => {
-            console.log('新增保存发送参数', this.postDataPramas)
-            if (response.msg === 'fail') {
-              this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-            } else {
-              if (this.postDataPramas.data[0].parammaps.statue == 7) {
-                if (this.tab1.changeRecord.examine.temp.SHtype == 3) {
-                  this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = this.tab1.changeRecord.examine.temp.stopTimeHis
-                } else {
-                  this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = this.tab1.changeRecord.examine.temp.stopTime
-                }
-              } else {
-                this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = this.tab1.detailsSpareParts.detailsList.stopTime
-              }
-              this.tab1.changeRecord.examine.dialogFormVisible = false
-              this.tab1.changeRecord.see.dialogFormVisible = false
-              this.tab1.changeRecord.examine.isStatueReason = false
-              this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-              this.getTab1List3()
-              this.getTab1List()
-              this.getPendingList()
-            }
-          })
-        }
-      })
-    },
-    handleTab1Delete3(row) {
-      console.log('变更记录-删除')
-      console.log('点击了删除')
-      MessageBox.confirm('确认删除此条信息?', {
-        confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
-      }).then(() => {
-        this.postDataPramas = {}
-        this.postDataPramas.common = { 'returnmap': '0' }
-        this.postDataPramas.data = []
-        this.postDataPramas.data[0] = { 'name': 'deleteBigContract', 'type': 'e', 'parammaps': {
-          id: row.id
-        }}
-        this.postDataPramas.data[1] = { 'name': 'deleteContract', 'type': 'e', 'parammaps': {
-          bigId: row.id
-        }}
-        ExecDataByConfig(this.postDataPramas).then(response => {
-          this.$notify({ title: '成功', message: '删除成功', type: 'success', duration: 2000 })
-          this.getTab1List3()
-          this.getPendingList()
-        })
-      }).catch(() => {
-        this.$message({ type: 'info', message: '已取消删除' })
-      })
-    },
-
-    // 合同明细
-    getTab2List() {
-      this.tab2.listLoading = true
-      if (this.$refs['inputDatetime'] !== undefined && this.$refs['inputDatetime'].value !== null) {
-        this.tab2.getdataListParm.parammaps.startTime = this.$refs['inputDatetime'].value[0]
-        this.tab2.getdataListParm.parammaps.stopTime = this.$refs['inputDatetime'].value[1]
-      } else {
-        this.tab2.getdataListParm.parammaps.startTime = ''
-        this.tab2.getdataListParm.parammaps.stopTime = ''
-      }
-      GetDataByName(this.tab2.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          this.tab2.list = response.data.list
-          this.tab2.pageNum = response.data.pageNum
-          this.tab2.pageSize = response.data.pageSize
-          if (response.data.total) {
-            this.tab2.total = response.data.total
-          }
-        } else {
-          this.tab2.list = []
-        }
-        setTimeout(() => {
-          this.tab2.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab2Filter() {
-      this.listLoading2 = true
-      if (this.tab2.getdataListParm.parammaps.inputDatetime === null) {
-        this.tab2.getdataListParm.parammaps.inputDatetime = ''
-      }
-      this.tab2.getdataListParm.offset = 1
-      this.getTab2List()
-    },
-    handleTab2Export() {
-      this.$alert('合同明细正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
-      this.isPercentage = true
-      this.percentage = 1
-      var timer = setInterval(() => {
-        this.percentage += 5
-        if (this.percentage > 95) {
-          this.percentage = 99
-          clearInterval(timer)
-        }
-        this.percentage = this.percentage
-      }, 1000)
-      if (this.$refs['inputDatetime'] !== undefined && this.$refs['inputDatetime'].value !== null) {
-        this.tab2.getdataListParm.parammaps.startTime = this.$refs['inputDatetime'].value[0]
-        this.tab2.getdataListParm.parammaps.stopTime = this.$refs['inputDatetime'].value[1]
-      } else {
-        this.tab2.getdataListParm.parammaps.startTime = ''
-        this.tab2.getdataListParm.parammaps.stopTime = ''
-      }
-      this.tab2.getdataListParm.pagecount = ''
-      GetDataByName(this.tab2.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            if (response.data.list[i].isZeroStock == 0) {
-              response.data.list[i].isZeroStock = '否'
-            } else {
-              response.data.list[i].isZeroStock = '是'
-            }
-          }
-          this.percentage = 99
-          setTimeout(() => {
-            this.isPercentage = false
-          }, 2000)
-        } else {
-          this.percentage = 99
-          setTimeout(() => {
-            this.isPercentage = false
-          }, 2000)
-        }
-        this.tab2.getdataListParm.pagecount = 10
-        this.$nextTick(() => {
-          const ExcelDatas = [
-            {
-              tHeader: ['牧场', '合同编号', '合同状态', '供应商', '合同开始日期', '合同截止日期', '零库存', '备件编号', '备件名称', '规格', '备件品牌', '计量单位', '计划量', '单价', '备注', '录入人', '录入日期'],
-              filterVal: ['pastureName', 'contractCode', 'statue', 'providerName', 'startTime', 'stopTime', 'isZeroStock', 'partCode', 'partName', 'specification', 'brand', 'unit', 'planAmount', 'price', 'remark', 'creatorMan', 'creatorTime'],
-              tableDatas: response.data.list,
-              sheetName: '合同明细'
-            }
-          ]
-          json2excel(ExcelDatas, '合同明细', true, 'xlsx')
-        })
-      })
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-  /deep/ .el-badge__content.is-fixed{
-    z-index: 1;
-  }
-</style>

+ 0 - 2838
src/views/custom/contractManagement/index2.vue

@@ -1,2838 +0,0 @@
-<template>
-  <div class="app-container">
-    <div v-if="isPercentage" class="percentage" style="width: 210px;height: 90px;background: #fff;position: fixed;bottom: 0;left: 0;z-index: 9999999999999;">
-      <h4 style="padding-left: 10px;line-height: 0;">导出进度:</h4>
-      <el-progress style="padding-left: 10px;" :text-inside="true" :stroke-width="26" :percentage="percentage" />
-    </div>
-    <el-tabs v-model="activeName" @tab-click="handleClick">
-      <el-tab-pane label="合同管理" name="first">
-        <div v-if="isContractManagement" class="contractManagement">
-          <div class="filter-container">
-            <el-select v-model="tab1.contractManagement.getdataListParm.parammaps.pastureName" placeholder="牧场" style="width:120px" class="filter-item">
-              <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.name" />
-            </el-select>
-            <el-input v-model="tab1.contractManagement.getdataListParm.parammaps.contractCode" placeholder="合同编号" style="width: 140px;" class="filter-item" />
-            <el-select v-model="tab1.contractManagement.getdataListParm.parammaps.statue" clearable placeholder="合同状态" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in contractStatusList" :key="item.id" :label="item.name" :value="item.name" />
-            </el-select>
-            <el-select v-model="tab1.contractManagement.getdataListParm.parammaps.providerName" filterable clearable style="width: 140px;" placeholder="供应商" class="filter-item">
-              <el-option v-for="item in findAllProvider" :key="item.id" :label="item.name" :value="item.name" />
-            </el-select>
-            <el-select v-model="tab1.contractManagement.getdataListParm.parammaps.isZeroStock" clearable placeholder="是否零库存" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in isZeroInventoryList" :key="item.id" :label="item.name" :value="item.id" />
-            </el-select>
-            <el-date-picker ref="tab1InputDatetime1" v-model="tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
-            <el-date-picker ref="tab1InputDatetime2" v-model="tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="审批日期" end-placeholder="审批日期" />
-            <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleTab1Filter">搜索</el-button>
-            <div>
-              <el-button v-if="tab1.contractManagement.isContractAdd" class="filter-item" type="primary" icon="el-icon-edit" @click="handleTab1Create">新增</el-button>
-              <el-radio-group v-model="tab1.contractManagement.radioAll" style="margin-top:-9px" @change="changeContractManagementAll()">
-                <el-radio-button label="全部" />
-                <el-badge :value="pending.total" class="item">
-                  <el-radio-button label="待处理" />
-                </el-badge>
-                <el-radio-button label="已处理" />
-              </el-radio-group>
-            </div>
-          </div>
-          <el-table
-            :key="tab1.contractManagement.tableKey"
-            v-loading="tab1.contractManagement.listLoading"
-            element-loading-text="给我一点时间"
-            :data="tab1.contractManagement.list"
-            border
-            fit
-            highlight-current-row
-            style="width: 100%;"
-            :row-style="rowStyle"
-            :cell-style="cellStyle"
-            class="elTable table-fixed"
-            :max-height="myHeight"
-          >
-            <el-table-column label="序号" align="center" type="index" width="50px">
-              <template slot-scope="scope">
-                <span>{{ scope.$index + (tab1.contractManagement.pageNum-1) * tab1.contractManagement.pageSize + 1 }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="牧场" min-width="120px" align="center" prop="pastureName" />
-            <el-table-column label="合同编号" min-width="120px" align="center" prop="contractCode" />
-            <el-table-column label="合同状态" min-width="110px" align="center" prop="statued" />
-            <el-table-column label="供应商" min-width="120px" align="center" prop="providerName" />
-            <el-table-column label="合同开始日期" sortable min-width="120px" align="center" prop="startTime" />
-            <el-table-column label="合同截止日期" sortable min-width="120px" align="center" prop="stopTime" />
-            <el-table-column label="零库存" min-width="110px" align="center">
-              <template slot-scope="scope">
-                <span v-if="scope.row.isZeroStock == 0">否</span>
-                <span v-if="scope.row.isZeroStock == 1">是</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="录入人" min-width="120px" align="center" prop="creatorMan" />
-            <el-table-column label="录入时间" sortable min-width="120px" align="center" prop="creatorTime" />
-            <el-table-column label="审批时间" sortable min-width="120px" align="center" prop="SHdateTime" />
-            <el-table-column label="操作" align="center" width="350px" class-name="small-padding fixed-width" fixed="right">
-              <template slot-scope="{row}">
-                <el-button v-if="tab1.contractManagement.isContractSee" type="primary" size="mini" @click="form_see(row)">查看</el-button>
-                <el-button v-if="tab1.contractManagement.isContractSee" type="primary" style="width:70px;" size="mini" @click="handleTab1DetailsSpareParts(row)">备件明细</el-button>
-                <el-button v-if="tab1.contractManagement.isContractSee" type="primary" style="width:70px;" size="mini" @click="handleTab1ChangeRecord(row)">变更记录</el-button>
-                <el-button v-if="tab1.contractManagement.isContractChange && (row.statued == '正常' || row.statued == '已过期')" :disabled="parseInt(row.pastureId) == 18 && parseInt(isGroupAdministrator) !== 18" type="warning" size="mini" @click="handleTab1Change(row)">变更</el-button>
-              </template>
-              <!-- //parseInt(row.pastureId) == 18 && parseInt(isGroupAdministrator) == 18 -->
-            </el-table-column>
-          </el-table>
-          <pagination v-show="tab1.contractManagement.total>0" :total="tab1.contractManagement.total" :page.sync="tab1.contractManagement.getdataListParm.offset" :limit.sync="tab1.contractManagement.getdataListParm.pagecount" @pagination="getTab1List" />
-        </div>
-        <div v-if="isDetailsSpareParts" class="DetailsSpareParts">
-          <div class="title" style="height: 30px;">
-            <b style="font-size: 20px;float: left;">备件明细</b>
-            <a style="float: right;font-weight: 600;font-size: 20px;" @click="handleTab1goBack()">&lt;返回</a>
-          </div>
-          <div class="filter-container">
-            <el-input v-model="tab1.detailsSpareParts.getdataListParm.parammaps.partCode" placeholder="备件编号" style="width: 140px;" class="filter-item" />
-            <el-input v-model="tab1.detailsSpareParts.getdataListParm.parammaps.partName" placeholder="备件名称" style="width: 140px;" class="filter-item" />
-            <el-input v-model="tab1.detailsSpareParts.getdataListParm.parammaps.specification" placeholder="备件规格" style="width: 140px;" class="filter-item" />
-            <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleTab1Filter2">搜索</el-button>
-          </div>
-          <div class="filter-container">
-            <el-button v-if="tab1.contractManagement.isContractAdd && parseInt(tab1.detailsSpareParts.detailsList.pastureId) == parseInt(isGroupAdministrator) || parseInt(isEmployeid) == 0" class="filter-item" type="primary" icon="el-icon-edit" :disabled="tab1.detailsSpareParts.detailsList.statued=='终止' || tab1.detailsSpareParts.detailsList.statued=='已过期' || tab1.detailsSpareParts.detailsList.statued=='新增未通过'" @click="handleTab1Create2">新增</el-button>
-            <el-button v-if="tab1.contractManagement.isContractChange && parseInt(tab1.detailsSpareParts.detailsList.pastureId) == parseInt(isGroupAdministrator) || parseInt(isEmployeid) == 0" class="filter-item" type="primary" icon="el-icon-edit" :disabled="tab1.detailsSpareParts.detailsList.statued=='终止' || tab1.detailsSpareParts.detailsList.statued=='已过期' || tab1.detailsSpareParts.detailsList.statued=='新增未通过'" @click="handleTab1Change2">变更</el-button>
-            <el-button v-if="tab1.contractManagement.isContractExport" class="filter-item" type="primary" icon="el-icon-edit" @click="handleTab1Export2">导出</el-button>
-          </div>
-          <el-table
-            :key="tab1.detailsSpareParts.tableKey"
-            v-loading="tab1.detailsSpareParts.listLoading"
-            element-loading-text="给我一点时间"
-            :data="tab1.detailsSpareParts.list"
-            border
-            fit
-            highlight-current-row
-            style="width: 100%;"
-            :row-style="rowStyle"
-            :cell-style="cellStyle"
-            class="elTable table-fixed"
-            @sort-change="tableSort1"
-            :max-height="myHeight"
-          >
-            <el-table-column label="序号" align="center" type="index" width="50px">
-              <template slot-scope="scope">
-                <span>{{ scope.$index + (tab1.detailsSpareParts.pageNum-1) * tab1.detailsSpareParts.pageSize + 1 }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="备件编号" min-width="120px" align="center" prop="partCode" />
-            <el-table-column label="备件名称" min-width="120px" align="center" prop="partName" />
-            <el-table-column label="备件规格" min-width="120px" align="center" prop="specification" />
-            <el-table-column label="备件图片" prop="specifications" align="center" min-width="110px">
-              <template slot-scope="scope">
-                <el-popover placement="right" title="" trigger="hover">
-                  <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
-                  <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
-                </el-popover>
-              </template>
-            </el-table-column>
-            <el-table-column label="备件品牌" min-width="120px" align="center" prop="brand" />
-            <el-table-column label="计量单位" min-width="120px" align="center" prop="unit" />
-            <el-table-column label="计划量" sortable min-width="120px" align="center" prop="planAmount" />
-            <el-table-column label="单价" sortable min-width="120px" align="center" prop="price" />
-            <el-table-column label="备注" min-width="120px" align="center" prop="remark" />
-          </el-table>
-          <pagination v-show="tab1.detailsSpareParts.total>0" :total="tab1.detailsSpareParts.total" :page.sync="tab1.detailsSpareParts.getdataListParm.offset" :limit.sync="tab1.detailsSpareParts.getdataListParm.pagecount" @pagination="getTab1List2" />
-        </div>
-
-        <div v-if="isChangeRecord" class="ChangeRecord">
-          <div class="title" style="height: 30px;">
-            <b style="font-size: 20px;float: left;">变更记录</b>
-            <a style="float: right;font-weight: 600;font-size: 20px;" @click="handleTab1goBack2()">&lt;返回</a>
-          </div>
-          <div class="filter-container">
-            <el-input v-model="tab1.changeRecord.getdataListParm.parammaps.contractCode" placeholder="流水编号" style="width: 140px;" class="filter-item" />
-            <el-select v-model="tab1.changeRecord.getdataListParm.parammaps.SHtype" clearable placeholder="变更类型" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in changeTypeList" :key="item.id" :label="item.name" :value="item.id" />
-            </el-select>
-            <el-select v-model="tab1.changeRecord.getdataListParm.parammaps.stuteSH" clearable placeholder="审核状态" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in auditStatusList" :key="item.id" :label="item.name" :value="item.id" />
-            </el-select>
-            <el-date-picker ref="tab1InputDatetime3" v-model="tab1.changeRecord.getdataListParm.parammaps.tab1InputDatetime3" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
-            <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleTab1Filter3">搜索</el-button>
-          </div>
-          <div class="filter-container">
-            <el-radio-group v-model="tab1.changeRecord.radioAll" style="margin-top:-9px" @change="changeChangeRecordAll()">
-              <el-radio-button label="全部" />
-              <el-radio-button label="待处理" />
-              <el-radio-button label="已处理" />
-            </el-radio-group>
-          </div>
-          <el-table
-            :key="tab1.changeRecord.tableKey"
-            v-loading="tab1.changeRecord.listLoading"
-            element-loading-text="给我一点时间"
-            :data="tab1.changeRecord.list"
-            border
-            fit
-            highlight-current-row
-            style="width: 100%;"
-            :row-style="rowStyle"
-            :cell-style="cellStyle"
-            class="elTable table-fixed"
-            :max-height="myHeight"
-          >
-            <el-table-column label="序号" align="center" type="index" width="50px">
-              <template slot-scope="scope">
-                <span>{{ scope.$index + (tab1.changeRecord.pageNum-1) * tab1.changeRecord.pageSize + 1 }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="流水编号" min-width="120px" align="center" prop="contractCode" />
-            <el-table-column label="变更类型" min-width="110px" align="center">
-              <template slot-scope="scope">
-                <span v-if="scope.row.SHtype == 0">新增合同</span>
-                <span v-if="scope.row.SHtype == 1">新增备件</span>
-                <span v-if="scope.row.SHtype == 2">变更备件</span>
-                <span v-if="scope.row.SHtype == 3">合同变更</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="录入人" min-width="120px" align="center" prop="creatorMan" />
-            <el-table-column label="录入时间" sortable min-width="120px" align="center" prop="creatorTime" />
-            <el-table-column label="审核状态" min-width="110px" align="center">
-              <template slot-scope="scope">
-                <span v-if="scope.row.SHStatus == 2 || scope.row.SHStatus == 3 || scope.row.SHStatus == 5">审核中</span>
-                <span v-if="scope.row.SHStatus == 4 || scope.row.SHStatus == 6 || scope.row.SHStatus == 8">未通过</span>
-                <span v-if="scope.row.SHStatus == 7">通过</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="操作" align="center" width="350px" class-name="small-padding fixed-width" fixed="right">
-              <template slot-scope="{row}">
-                <el-button type="primary" size="mini" @click="handleTab1See3(row)">查看</el-button>
-                <el-button v-if="tab1.changeRecord.isContractDelete && (row.SHStatus == 4 || row.SHStatus == 6 || row.SHStatus == 8)" type="success" size="mini" @click="handleTab1Update3(row)">编辑</el-button>
-                <el-button v-if="tab1.changeRecord.isContractExamineZG && row.SHStatus == 2" type="success" style="display:inline-block" size="mini" @click="handleTab1Examine(row)">审核1</el-button>
-                <el-button v-else type="success" style="display:none" size="mini" @click="handleTab1Examine(row)">审核1</el-button>
-                <!-- 设备助理审核 -->
-                <!-- <el-button v-if="tab1.changeRecord.isContractExamineZL && row.SHStatus == 3" type="success" style="display:inline-block" size="mini" @click="handleExamine2(row)">审核2</el-button>
-                <el-button v-else type="success" style="display:none" size="mini" @click="handleExamine2(row)">审核2</el-button> -->
-                <!-- 设备中心审核 -->
-                <el-button v-if="tab1.changeRecord.isContractExamineZX && row.SHStatus == 5" type="success" style="display:inline-block" size="mini" @click="handleTab1Examine3(row)">审核2</el-button>
-                <el-button v-else type="success" style="display:none" size="mini" @click="handleTab1Examine3(row)">审核2</el-button>
-                <el-button v-if="tab1.changeRecord.isContractDelete && (row.SHStatus == 4 || row.SHStatus == 6 || row.SHStatus == 8) " type="danger" size="mini" @click="handleTab1Delete3(row)">删除</el-button>
-                <el-button v-else style="display:none" type="danger" size="mini" @click="handleTab1Delete3(row)">删除</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-          <pagination v-show="tab1.changeRecord.total>0" :total="tab1.changeRecord.total" :page.sync="tab1.changeRecord.getdataListParm.offset" :limit.sync="tab1.changeRecord.getdataListParm.pagecount" @pagination="getTab1List3" />
-        </div>
-      </el-tab-pane>
-      <el-tab-pane label="合同明细" name="second">
-        <div class="filter-container">
-          <el-select v-model="tab2.getdataListParm.parammaps.pastureName" placeholder="牧场" style="width:120px" class="filter-item">
-            <el-option v-for="item in findAllPastureList2" :key="item.id" :label="item.name" :value="item.name" />
-          </el-select>
-          <el-input v-model="tab2.getdataListParm.parammaps.contractCode" placeholder="合同编号" style="width: 140px;" class="filter-item" />
-          <el-select v-model="tab2.getdataListParm.parammaps.statue" clearable placeholder="合同状态" class="filter-item" style="width: 120px;">
-            <el-option v-for="item in contractStatusList" :key="item.id" :label="item.name" :value="item.name" />
-          </el-select>
-          <el-select v-model="tab2.getdataListParm.parammaps.isZeroStock" clearable placeholder="是否零库存" class="filter-item" style="width: 120px;">
-              <el-option v-for="item in isZeroInventoryList" :key="item.id" :label="item.name" :value="item.id" />
-            </el-select>
-          <el-input v-model="tab2.getdataListParm.parammaps.partCode" placeholder="备件编号" style="width: 140px;" class="filter-item" />
-          <el-input v-model="tab2.getdataListParm.parammaps.partName" placeholder="备件名称" style="width: 140px;" class="filter-item" />
-          <el-select v-model="tab2.getdataListParm.parammaps.providerName" filterable clearable style="width: 140px;" placeholder="供应商" class="filter-item">
-            <el-option v-for="item in findAllProvider" :key="item.id" :label="item.name" :value="item.name" />
-          </el-select>
-          <el-date-picker ref="inputDatetime" v-model="tab2.getdataListParm.parammaps.inputDatetime" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
-          <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleTab2Filter">搜索</el-button>
-          <el-button v-if="tab1.contractManagement.isContractExport" class="filter-item" type="primary" icon="el-icon-edit" @click="handleTab2Export">导出</el-button>
-        </div>
-        <el-table
-          :key="tab2.tableKey"
-          v-loading="tab2.listLoading"
-          element-loading-text="给我一点时间"
-          :data="tab2.list"
-          border
-          fit
-          highlight-current-row
-          style="width: 100%;"
-          :row-style="rowStyle"
-          :cell-style="cellStyle"
-          class="elTable table-fixed"
-          @sort-change="tableSort2"
-          :max-height="myHeight"
-        >
-          <el-table-column label="序号" align="center" type="index" width="50px">
-            <template slot-scope="scope">
-              <span>{{ scope.$index + (tab2.pageNum-1) * tab2.pageSize + 1 }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="牧场" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.pastureName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="合同编号" min-width="130px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.contractCode }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="合同状态" min-width="100px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.statue }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="供应商" min-width="120px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.providerName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="合同开始日期" sortable prop="startTime" min-width="110px" align="center" />
-          <el-table-column label="合同截止日期" sortable prop="stopTime" min-width="110px" align="center" />
-          <el-table-column label="零库存" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span v-if="scope.row.isZeroStock == 0">否</span>
-              <span v-if="scope.row.isZeroStock == 1">是</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件编号" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partCode }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件名称" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件规格" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.specification }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件品牌" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.brand }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="计量单位" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.unit }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="计划量" sortable prop="planAmount" min-width="110px" align="center" />
-          <el-table-column label="单价" sortable prop="price" min-width="110px" align="center" />
-          <el-table-column label="备注" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.remark }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="录入人" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.creatorMan }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="录入日期" sortable prop="creatorTime" min-width="110px" align="center" />
-        </el-table>
-        <pagination v-show="tab2.total>0" :total="tab2.total" :page.sync="tab2.getdataListParm.offset" :limit.sync="tab2.getdataListParm.pagecount" @pagination="getTab2List" />
-      </el-tab-pane>
-    </el-tabs>
-    <!-- 合同管理新增/查看/变更 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="tab1.contractManagement.create.dialogFormVisible" :close-on-click-modal="false" width="90%">
-      <div class="app-add">
-        <el-form ref="createTemp" :rules="rules" :model="tab1.contractManagement.create.temp" label-position="right" label-width="120px" style="width: 90%;margin:0 auto;">
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="合同编号:" prop="contractCode">
-                <el-input ref="contractCode" v-model="tab1.contractManagement.create.temp.contractCode" disabled />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="牧场:" prop="pastureId">
-                <el-select v-model="tab1.contractManagement.create.temp.pastureId" placeholder="牧场" class="filter-item" style="width:100%;" :disabled="disabled">
-                  <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.id" />
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="供应商:" prop="providerName">
-                <el-autocomplete v-model="tab1.contractManagement.create.temp.providerName" :disabled="dialogStatus==='see' || tab1.contractManagement.isDisabled || dialogStatus==='change'" value-key="name" class="inline-input" :fetch-suggestions="providerSearch" placeholder="请输入供应商名称或供应商编号" style="width:100%;" @focus="handleFocusProvider" @blur="handleBlurProvider" @select="handleSelectProvider" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="开始日期:" prop="startTime">
-                <el-date-picker v-model="tab1.contractManagement.create.temp.startTime" :disabled="dialogStatus==='see' || tab1.contractManagement.isDisabled || dialogStatus==='change'" type="date" placeholder="开始日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeTime" />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="截止日期:" prop="stopTime">
-                <el-date-picker v-model="tab1.contractManagement.create.temp.stopTime" style="width:100%;" :disabled="dialogStatus==='see' || tab1.contractManagement.isDisabled" type="date" :clearable="false" placeholder="截止日期" :picker-options="pickerOptions2" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeTime" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus=='create'" :span="8">
-              <el-form-item label="合同状态:" prop="statue">
-                <el-select v-model="tab1.contractManagement.create.temp.statue" clearable placeholder="合同状态" class="filter-item" style="width: 100%;" disabled>
-                  <el-option v-for="item in contractStatus2List" :key="item.id" :label="item.name" :value="item.id" />
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus=='change' || dialogStatus=='see'" :span="8">
-              <el-form-item label="合同状态:" prop="statued">
-                <el-input ref="contractCode" v-model="tab1.contractManagement.create.temp.statued" placeholder="合同状态" disabled />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="零库存:" prop="isZeroStock">
-                <el-radio-group v-model="tab1.contractManagement.create.temp.isZeroStock" :disabled="dialogStatus==='see' || tab1.contractManagement.isDisabled || dialogStatus==='change'" @change="changeIsZero">
-                  <el-radio v-model="tab1.contractManagement.create.temp.isZeroStock" :label="1">是</el-radio>
-                  <el-radio v-model="tab1.contractManagement.create.temp.isZeroStock" :label="0">否</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="录入人:" prop="creatorId">
-                <el-select ref="creatorId" v-model="tab1.contractManagement.create.temp.creatorId" :disabled="tab1.contractManagement.isDisabled || dialogStatus==='see' || dialogStatus==='change'" placeholder="录入人" class="filter-item" style="width:100%;" @change="changeCreatorMan">
-                  <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="录入日期:" prop="creatorTime">
-                <el-date-picker v-model="tab1.contractManagement.create.temp.creatorTime" :disabled="disabled" type="date" :picker-options="pickerOptions3" placeholder="录入日期" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="备注:" prop="remark">
-                <el-input ref="remark" v-model="tab1.contractManagement.create.temp.remark" placeholder="备注" :disabled="tab1.contractManagement.isDisabled || dialogStatus==='see' || dialogStatus==='change'" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus !== 'see'" :span="8">
-              <el-form-item label="同步牧场:" prop="synchronousPasture">
-                <el-select v-model="tab1.contractManagement.create.temp.synchronousPasture" multiple collapse-tags placeholder="同步牧场" :disabled="isGroupAdministrator !== '18'">
-                  <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.id" />
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col v-else :span="16">
-              <el-form-item label="同步牧场:" prop="pastureName2">
-                <el-input v-model="tab1.contractManagement.create.temp.pastureName2" type="textarea" :rows="2" placeholder="同步牧场" :disabled="dialogStatus=='see'" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <!-- <el-row v-if="dialogStatus == 'see'">
-            <el-col>
-              <el-form-item label="流程进度1" />
-              <el-steps :active="tab1.contractManagement.create.temp.active" align-center finish-status="success">
-                <el-step
-                  v-for="(item,index) in tab1.contractManagement.create.temp.activeList"
-                  :key="index"
-                  :title="item.title"
-                  :status="item.status"
-                >
-                  <template slot="description">
-                    <div class="step-row">
-                      <div>{{ item.name }}&nbsp;&nbsp;{{ item.date }}</div>
-                      <div>{{ item.reason }}</div>
-                    </div>
-                  </template>
-                </el-step>
-              </el-steps>
-            </el-col>
-          </el-row> -->
-        </el-form>
-        <div slot="footer" class="dialog-footer" style="bottom:5px">
-          <el-button v-if="dialogStatus =='change'" type="primary" @click="terminationData()">终止合同</el-button>
-          <el-button v-if="dialogStatus !=='see'" type="primary" :disabled="isokDisable" @click="dialogStatus==='create'?add_dialog_save():changeData()">保存并关闭</el-button>
-          <el-button @click="tab1.contractManagement.create.dialogFormVisible = false;getTab1List();tab1.contractManagement.create.temp.providerName=''">取消并关闭</el-button>
-        </div>
-      </div>
-    </el-dialog>
-
-    <!-- 备件明细新增/变更 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="tab1.detailsSpareParts.create.dialogFormVisible" :close-on-click-modal="false" width="90%">
-      <div v-if="tab1.detailsSpareParts.updateList.SHtype !== 0 && tab1.detailsSpareParts.updateList.SHtype !== 3" class="app-add">
-        <el-form ref="createTemp2" :rules="rules" :model="tab1.detailsSpareParts.create.temp" label-position="right" label-width="120px" style="width: 90%;margin:0 auto;">
-          <el-row>
-            <el-col :span="10">
-              <el-form-item label="备件:" prop="partCode">
-                <el-autocomplete v-model="tab1.detailsSpareParts.partCode" value-key="name1" class="inline-input" :fetch-suggestions="sparePartSearch" placeholder="请输入备件编号或备件名称或备件规格" style="width:550px" @select="handleSelectSparePart">
-                  <template slot-scope="{ item }">
-                    <b>备件编号:</b><div class="name" style="display: inline;">{{ item.partCode }}</div>&nbsp;
-                    |  &nbsp;<b>备件名称:</b><span class="addr">{{ item.partName }}</span>&nbsp;
-                    |  &nbsp;<b>备件规格:</b><span class="addr">{{ item.specification }}</span>
-                  </template>
-                </el-autocomplete>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-        <div v-if="dialogStatus=='tab1create2'" class="filter-container" style="float: right;">
-          <el-button v-waves class="filter-item" type="info" icon="el-icon-tickets" @click="handleTab1DownloadTemp2">模板</el-button>
-          <el-upload style="display: inline-block;" :headers="headers" :data="uploadData" :action="uploadExcelUrl" :show-file-list="false" :before-upload="beforeImportExcel" :on-success="handleImportExcelSuccess">
-            <el-button v-waves :disabled="tab1.detailsSpareParts.isDisabledImport" class="filter-item" type="warning" icon="el-icon-download">导入</el-button>
-          </el-upload>
-        </div>
-        <el-table
-          :key="tab1.detailsSpareParts.tableKeyAdd"
-          v-loading="tab1.detailsSpareParts.listLoadingAdd"
-          element-loading-text="给我一点时间"
-          :data="tab1.detailsSpareParts.listAdd"
-          border
-          fit
-          highlight-current-row
-          style="width: 100%;"
-          :row-style="rowStyle"
-          :cell-style="cellStyle"
-          class="elTable table-fixed"
-        >
-          <el-table-column label="序号" align="center" type="index" width="50px" />
-          <el-table-column label="备件编号" min-width="90px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partCode }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件名称" min-width="80px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件规格" min-width="80px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.specification }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件图片" prop="specifications" align="center" min-width="110px">
-            <template slot-scope="scope">
-              <el-popover placement="right" title="" trigger="hover">
-                <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
-                <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
-              </el-popover>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件品牌" min-width="120px" align="center">
-            <template slot-scope="scope">
-              <el-autocomplete v-model="scope.row.brand" value-key="brandName" class="inline-input" :fetch-suggestions="brandSearch" placeholder="请输入品牌" style="width:100%;" @focus="handleFocusBrand( scope.row)" @blur="handleBlurBrand(scope.row)" @select="(value)=> {handleSelectBrand(value, scope.row)}" />
-            </template>
-          </el-table-column>
-          <el-table-column label="计量单位" min-width="60px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.unit }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="计划量" min-width="70px" align="center" valign="middle">
-            <template slot-scope="scope">
-              <el-form :model="scope.row" :rules="rules">
-                <el-form-item prop="planAmount">
-                  <el-input ref="planAmount" v-model="scope.row.planAmount" style="margin-top:15px" />
-                </el-form-item>
-              </el-form>
-            </template>
-          </el-table-column>
-          <el-table-column label="单价" min-width="80px" align="center" valign="middle">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.price" />
-            </template>
-          </el-table-column>
-          <el-table-column label="税码" min-width="80px" align="center" valign="middle">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.taxcode" />
-            </template>
-          </el-table-column>
-          <el-table-column label="备注" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.remark" type="textarea" placeholder="备注" autosize maxlength="100" show-word-limit />
-            </template>
-          </el-table-column>
-          <el-table-column label="操作" align="center" width="100px" class-name="small-padding fixed-width" fixed="right">
-            <template slot-scope="{row}">
-              <a class="del" :disabled="isokDisable" @click="partDelete(row)">删除</a>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <div v-if="tab1.detailsSpareParts.updateList.SHtype == 0 || tab1.detailsSpareParts.updateList.SHtype == 3" class="app-add">
-        <el-form ref="createTemp2" :rules="rules" :model="tab1.detailsSpareParts.create.temp" label-position="right" label-width="130px" style="width: 90%;margin:0 auto;">
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="牧场:" prop="pastureName">
-                <el-input ref="pastureName" v-model="tab1.detailsSpareParts.create.temp.pastureName" placeholder="牧场" disabled />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="合同编号:" prop="contractCode">
-                <el-input ref="contractCode" v-model="tab1.detailsSpareParts.create.temp.contractCode" placeholder="合同编号" disabled />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="供应商:" prop="providerName">
-                <el-input ref="providerName" v-model="tab1.detailsSpareParts.create.temp.providerName" placeholder="合同编号" disabled />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="开始日期:" prop="startTime">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.startTime" :disabled="tab1.detailsSpareParts.create.temp.SHtype == 3" type="date" placeholder="开始日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus == 'tab1Update2' && tab1.detailsSpareParts.updateList.SHtype == 0" :span="8">
-              <el-form-item label="截止日期:" prop="stopTime">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.stopTime" type="date" placeholder="截止日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="dialogStatus == 'tab1Update2' && tab1.detailsSpareParts.updateList.SHtype !== 0" :span="8">
-              <el-form-item label="截止日期后:" prop="stopTimeHis">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.stopTimeHis" type="date" placeholder="截止日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" :picker-options="pickerOptions2" />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="合同状态:" prop="statued">
-                <span>{{ tab1.detailsSpareParts.create.temp.statued }}</span>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="零库存:" prop="isZeroStock">
-                <el-radio-group v-model="tab1.detailsSpareParts.create.temp.isZeroStock" :disabled="tab1.detailsSpareParts.create.temp.SHtype == 3">
-                  <el-radio v-model="tab1.detailsSpareParts.create.temp.isZeroStock" :label="1">是</el-radio>
-                  <el-radio v-model="tab1.detailsSpareParts.create.temp.isZeroStock" :label="0">否</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="录入人:" prop="creatorMan">
-                <el-input ref="creatorMan" v-model="tab1.detailsSpareParts.create.temp.creatorMan" placeholder="录入人" disabled />
-              </el-form-item>
-            </el-col>
-            <el-col :span="8">
-              <el-form-item label="录入日期:" prop="creatorTime">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.creatorTime" :disabled="tab1.detailsSpareParts.create.temp.SHtype == 3 || dialogStatus=='tab1Update2' " type="date" placeholder="截止日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="8">
-              <el-form-item label="备注:" prop="remark">
-                <el-input ref="remark" v-model="tab1.detailsSpareParts.create.temp.remark" placeholder="备注" />
-              </el-form-item>
-            </el-col>
-            <el-col v-if="tab1.detailsSpareParts.create.temp.SHtype !== 0 && dialogStatus !=='tab1Update2'" :span="8">
-              <el-form-item label="变更后截止日期:" prop="stopTimeHis">
-                <el-date-picker v-model="tab1.detailsSpareParts.create.temp.stopTimeHis" :disabled="tab1.detailsSpareParts.create.temp.SHtype !== 3" type="date" placeholder="截止日期" :clearable="false" style="width:100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" :picker-options="pickerOptions2" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-      </div>
-      <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom:10px">
-        <el-button v-if="dialogStatus=='tab1create2'" type="primary" :disabled="isokDisable" @click="add_dialog_save2()">保存并关闭</el-button>
-        <el-button v-if="dialogStatus=='tab1change2'" type="primary" :disabled="isokDisable" @click="changeData2()">保存并关闭</el-button>
-        <el-button v-if="dialogStatus=='tab1Update2'" type="primary" :disabled="isokDisable" @click="edit_dialog_save2()">保存并关闭</el-button>
-        <el-button @click="tab1.detailsSpareParts.create.dialogFormVisible = false;">关闭</el-button>
-      </div>
-    </el-dialog>
-
-    <!-- 变更记录查看 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="tab1.changeRecord.see.dialogFormVisible" :close-on-click-modal="false" width="90%">
-      <div class="app-see">
-        <div class="app-contentcard">
-          <el-form ref="seeTemp" :rules="rules" :model="tab1.changeRecord.see.temp" label-position="right" label-width="128px" style="width: 90%;margin:0 auto;">
-            <div v-if="tab1.changeRecord.see.temp.SHtype == 0 || tab1.changeRecord.see.temp.SHtype == 3">
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="牧场:" prop="pastureName">
-                    <span> {{ tab1.changeRecord.see.temp.pastureName }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="合同编号:" prop="contractCode">
-                    <span> {{ tab1.changeRecord.see.temp.contractCode }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="供应商:" prop="providerName">
-                    <span> {{ tab1.changeRecord.see.temp.providerName }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="开始日期:" prop="startTime">
-                    <span> {{ tab1.changeRecord.see.temp.startTime }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="dialogStatus !== 'tab1See2'" :span="8">
-                  <el-form-item label="截止日期:" prop="stopTime">
-                    <span> {{ tab1.changeRecord.see.temp.stopTime }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="dialogStatus == 'tab1See2' && tab1.changeRecord.see.temp.SHtype !== 3 && tab1.changeRecord.see.temp.SHtype !== 0" :span="8">
-                  <el-form-item label="截止日期:" prop="stopTimeHis">
-                    <span> {{ tab1.changeRecord.see.temp.stopTimeHis }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="dialogStatus == 'tab1See2' && tab1.changeRecord.see.temp.SHtype == 3" :span="8">
-                  <el-form-item label="截止日期:" prop="stopTime">
-                    <span> {{ tab1.changeRecord.see.temp.stopTime }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="dialogStatus == 'tab1See2' && tab1.changeRecord.see.temp.SHtype == 0" :span="8">
-                  <el-form-item label="截止日期:" prop="stopTime">
-                    <span> {{ tab1.changeRecord.see.temp.stopTime }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="合同状态:" prop="statued">
-                    <span>{{ tab1.changeRecord.see.temp.statued }}</span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="零库存:" prop="isZeroStock">
-                    <el-radio-group v-model="tab1.changeRecord.see.temp.isZeroStock" disabled>
-                      <el-radio v-model="tab1.changeRecord.see.temp.isZeroStock" :label="1">是</el-radio>
-                      <el-radio v-model="tab1.changeRecord.see.temp.isZeroStock" :label="0">否</el-radio>
-                    </el-radio-group>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="录入人:" prop="creatorMan">
-                    <span> {{ tab1.changeRecord.see.temp.creatorMan }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="录入日期:" prop="creatorTime">
-                    <span> {{ tab1.changeRecord.see.temp.creatorTime }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="备注:" prop="remark">
-                    <span> {{ tab1.changeRecord.see.temp.remark }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="共享牧场:" prop="pastureNamesOld">
-                    <span> {{ tab1.changeRecord.see.temp.pastureNamesOld }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col v-if="tab1.changeRecord.see.temp.SHtype == 3" :span="8">
-                  <el-form-item label="变更后截止日期:" prop="stopTimeHis">
-                    <span> {{ tab1.changeRecord.see.temp.stopTimeHis }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="变更后共享牧场:" prop="pastureNamesNow">
-                    <span> {{ tab1.changeRecord.see.temp.pastureNamesNow }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-            <div v-if="tab1.changeRecord.see.temp.SHtype == 1 || tab1.changeRecord.see.temp.SHtype == 2">
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="流水编号:" prop="contractCode">
-                    <span> {{ tab1.changeRecord.see.temp.contractCode }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="录入人:" prop="creatorMan">
-                    <span> {{ tab1.changeRecord.see.temp.creatorMan }} </span>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="录入日期:" prop="creatorTime">
-                    <span> {{ tab1.changeRecord.see.temp.creatorTime }} </span>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-          </el-form>
-          <div v-if="tab1.changeRecord.see.temp.SHtype == 1">
-            <el-table
-              :key="tab1.changeRecord.see.tableKey"
-              element-loading-text="给我一点时间"
-              :data="tab1.changeRecord.see.list"
-              border
-              fit
-              highlight-current-row
-              style="width: 100%;"
-              :row-style="rowStyle"
-              :cell-style="cellStyle"
-              class="elTable table-fixed"
-            >
-              <el-table-column label="序号" align="center" type="index" width="50px">
-                <template slot-scope="scope">
-                  <span>{{ scope.$index + (tab1.changeRecord.see.pageNum-1) * tab1.changeRecord.see.pageSize + 1 }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件编号" min-width="110px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.partCode }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件名称" min-width="130px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.partName }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件规格" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.specification }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件图片" prop="specifications" align="center" min-width="110px">
-                <template slot-scope="scope">
-                  <el-popover placement="right" title="" trigger="hover">
-                    <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
-                    <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
-                  </el-popover>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件品牌" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.brand }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="计量单位" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.unit }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="计划量" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.planAmount }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="单价" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.price }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备注" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.remark }}</span>
-                </template>
-              </el-table-column>
-            </el-table>
-            <pagination v-show="tab1.changeRecord.see.total>0" :total="tab1.changeRecord.see.total" :page.sync="tab1.changeRecord.see.getdataListParm.offset" :limit.sync="tab1.changeRecord.see.getdataListParm.pagecount" @pagination="getTab1List3See" />
-          </div>
-          <div v-if="tab1.changeRecord.see.temp.SHtype == 2">
-            <el-table
-              :key="tab1.changeRecord.see.tableKey"
-              element-loading-text="给我一点时间"
-              :data="tab1.changeRecord.see.list"
-              border
-              fit
-              highlight-current-row
-              style="width: 100%;"
-              :row-style="rowStyle"
-              :cell-style="cellStyle"
-              class="elTable table-fixed"
-            >
-              <el-table-column label="序号" align="center" type="index" width="50px">
-                <template slot-scope="scope">
-                  <span>{{ scope.$index + (tab1.changeRecord.see.pageNum-1) * tab1.changeRecord.see.pageSize + 1 }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件编号" min-width="110px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.partCode }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件名称" min-width="130px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.partName }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件规格" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.specification }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件图片" prop="specifications" align="center" min-width="110px">
-                <template slot-scope="scope">
-                  <el-popover placement="right" title="" trigger="hover">
-                    <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
-                    <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
-                  </el-popover>
-                </template>
-              </el-table-column>
-              <el-table-column label="备件品牌" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.brandhis }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="变更后品牌" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.brand }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="计量单位" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.unit }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="计划量" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.planAmounthis }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="变更后计划量" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.planAmount }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="单价" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.pricehis }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="变更后单价" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.price }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="备注" min-width="80px" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.remark }}</span>
-                </template>
-              </el-table-column>
-            </el-table>
-            <pagination v-show="tab1.changeRecord.see.total>0" :total="tab1.changeRecord.see.total" :page.sync="tab1.changeRecord.see.getdataListParm.offset" :limit.sync="tab1.changeRecord.see.getdataListParm.pagecount" @pagination="getTab1List3See" />
-          </div>
-          <el-form ref="seeTemp" :rules="rules" :model="tab1.changeRecord.see.temp" label-position="right" label-width="120px" style="width: 90%;margin:0 auto;">
-            <el-row>
-              <el-col>
-                <el-form-item label="流程进度" />
-                <el-steps :active="tab1.changeRecord.see.active" align-center finish-status="success">
-                  <el-step
-                    v-for="(item,index) in tab1.changeRecord.see.activeList"
-                    :key="index"
-                    :title="item.title"
-                    :status="item.status"
-                  >
-                    <template slot="description">
-                      <div class="step-row">
-                        <div>{{ item.name }}&nbsp;&nbsp;{{ item.date }}</div>
-                        <div>{{ item.reason }}</div>
-                      </div>
-                    </template>
-                  </el-step>
-                </el-steps>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col>
-                <el-form-item label="操作:">
-                  <!-- 设备主管审核 -->
-                  <el-button v-if="tab1.changeRecord.isContractExamineZG &&tab1.changeRecord.see.temp.SHStatus == 2" type="success" style="display:inline-block" @click="handleTab1Examine()">审核1</el-button>
-                  <el-button v-else type="success" style="display:none" @click="handleTab1Examine()">审核1</el-button>
-                  <!-- 设备助理审核 -->
-                  <!-- <el-button v-if="isContractExamineZL && seeTemp.SHStatus == 3" type="success" style="display:inline-block" @click="handleExamine2()">审核2</el-button>
-                  <el-button v-else type="success" style="display:none" @click="handleExamine2()">审核2</el-button> -->
-
-                  <!-- 设备中心审核 -->
-                  <el-button v-if="tab1.changeRecord.isContractExamineZX && tab1.changeRecord.see.temp.SHStatus == 5" type="success" style="display:inline-block" @click="handleTab1Examine3()">审核2</el-button>
-                  <el-button v-else type="success" style="display:none" @click="handleTab1Examine3()">审核2</el-button>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </div>
-        <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom:10px">
-          <el-button @click="tab1.changeRecord.see.dialogFormVisible = false">关闭</el-button>
-        </div>
-      </div>
-    </el-dialog>
-    <!-- 变更记录审核 -->
-    <el-dialog :title="textMap[dialogStatus]" :visible.sync="tab1.changeRecord.examine.dialogFormVisible" :close-on-click-modal="false" width="30%">
-      <div class="app-examine">
-        <h3 style="width: 100%;margin:0 0 0 5%;line-height:50px;">请确认审核结果:</h3>
-        <el-form ref="examineTemp" :rules="rules" :model="tab1.changeRecord.examine.temp" label-position="right" style="width: 50%;margin:0 auto;">
-          <el-row style="width:88%;height:150px;margin:0 auto;">
-            <el-col :span="20">
-              <el-form-item>
-                <el-radio-group v-model="tab1.changeRecord.examine.temp.statueSH" @change="changeExamineStatue">
-                  <el-radio :label="1" checked>通过</el-radio>
-                  <el-radio :label="2">不通过</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col v-if="tab1.changeRecord.examine.isReason" :span="20">
-              <el-input v-model="tab1.changeRecord.examine.temp.workflowNote" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="请输入不通过原因" />
-            </el-col>
-          </el-row>
-        </el-form>
-      </div>
-      <div slot="footer" class="dialog-footer">
-        <el-button v-if="dialogStatus==='tab1examine'" type="primary" :disabled="isokDisable" @keyup.enter.native="createExamineData()" @click="createExamineData()">确认</el-button>
-        <!-- <el-button v-if="dialogStatus==='tab1examine2'" type="primary" :disabled="isokDisable" @click="createExamineData2()">确认</el-button> -->
-        <el-button v-if="dialogStatus==='tab1examine3'" type="primary" :disabled="isokDisable" @keyup.enter.native="createExamineData3()" @click="createExamineData3()">确认</el-button>
-        <el-button @click="tab1.changeRecord.examine.dialogFormVisible = false;">关闭</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-// 引入
-import { GetDataByName, GetDataByNames, checkButtons, ExecDataByConfig, UpdateDataRelation, PostDataByName, failproccess } from '@/api/common'
-import waves from '@/directive/waves'
-import { parseTime, json2excel, sortChange } from '@/utils/index.js'
-import Pagination from '@/components/Pagination'
-import Cookies from 'js-cookie'
-import { getToken } from '@/utils/auth'
-import { MessageBox } from 'element-ui'
-export default {
-  inject: ['reload'],
-  name: 'ContractManagement',
-  components: { Pagination },
-  directives: { waves },
-  data() {
-    return {
-      isGroupAdministrator: Cookies.get('pastureid'),
-      isEmployeid: Cookies.get('employeid'),
-      isPercentage: false,
-      percentage: 1,
-      rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
-      cellStyle: { padding: 0 + 'px' },
-      buttons: [],
-      activeName: 'first',
-      contractStatusList: [{ id: '0', name: '正常' }, { id: '1', name: '已过期' }, { id: '2', name: '终止' }, { id: '3', name: '新增未通过' }],
-      contractStatus2List: [{ id: '1', name: '正常' }, { id: '0', name: '终止' }],
-      auditStatusList: [{ id: '0', name: '审核中' }, { id: '1', name: '已通过' }, { id: '2', name: '未通过' }], // 审核状态
-      changeTypeList: [{ id: '0', name: '新增合同' }, { id: '1', name: '新增备件' }, { id: '2', name: '变更备件' }, { id: '3', name: '合同变更' }],
-      isZeroInventoryList: [{ id: '0', name: '否' }, { id: '1', name: '是' }], // 是否零库存
-      findAllProvider: [], findAllAssetType: [], findAllPasture: [], findAllPastureList2: [], findAllDepart: [], findAllEmploye: [], findAllCategory: [],
-      requestParams: [
-        { name: 'findAllProvider', offset: 0, pagecount: 0, params: [] },
-        { name: 'findAllAssetType', offset: 0, pagecount: 0, params: [] },
-        { name: 'findAllPasture', offset: 0, pagecount: 0, returntype: 'Map', parammaps: { 'id': Cookies.get('pastureid') }},
-        { name: 'findAllPastureForContract', offset: 0, pagecount: 0, returntype: 'Map', parammaps: { 'id': 18 }},
-        { name: 'findAllDepart', offset: 0, pagecount: 0, params: [] },
-        { name: 'findAllEmploye', offset: 0, pagecount: 0, parammaps: { 'pastureId': 18 }},
-        { name: 'findAllCategory', offset: 0, pagecount: 0, params: [] }
-      ],
-      isokDisable: false,
-      disabled: true,
-      rules: {},
-      textMap: {
-        create: '新增合同',
-        see: '查看详情',
-        change: '变更合同',
-        tab1create2: '新增备件',
-        tab1change2: '变更备件',
-        tab1examine: '审核',
-        tab1examine2: '审核2',
-        tab1examine3: '审核2',
-        tab1See2: '查看',
-        tab1Update2: '编辑'
-      },
-      dialogStatus: '',
-      isContractManagement: true, // 备件合同
-      isDetailsSpareParts: false, // 备件明细
-      isChangeRecord: false, // 变更记录
-      tab1: {
-        // 合同管理1
-        contractManagement: {
-          radioAll: '全部',
-          isContractAdd: [],
-          isContractExport: [],
-          isContractSee: [],
-          isContractChange: [],
-          isDisabled: false,
-          tableKey: 0,
-          listLoading: false,
-          total: 0,
-          list: [],
-          getdataListParm: {
-            name: 'providerPactListV2',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              loginid: Cookies.get('employeid'),
-              pastureName: Cookies.get('pasturename'),
-              contractCode: '',
-              statue: '',
-              stuteSH: '',
-              providerName: '',
-              tab1InputDatetime1: '',
-              startTime: '',
-              stopTime: '',
-              tab1InputDatetime2: '',
-              SHdateTimeF: '',
-              SHdateTimeE: '',
-              SHnums: 2
-            }
-          },
-          getParmCreateNumber: {
-            name: 'autoCreatCode',
-            page: 0,
-            offset: 0,
-            pagecount: 0,
-            returntype: 'Map',
-            parammaps: {
-              pastureId: Cookies.get('pastureid'),
-              codeType: 'HT'
-            }
-          },
-          create: {
-            dialogFormVisible: false,
-            temp: { contractCode: '', pastureId: Cookies.get('pastureid'), providerName: '', startTime: '', stopTime: '', statue: '', isZeroStock: 0, creatorId: Cookies.get('employeid'), creatorMan: Cookies.get('employename'), creatorTime: parseTime(new Date(), '{y}-{m}-{d}'), activeList: [], active: 3, workflowNote: '', synchronousPasture: [], synchronousPastureList: [] },
-            changeEchoParm: { name: 'getBigcontractPId', page: 0, offset: 0, pagecount: 0, returntype: 'Map', parammaps: {}}
-          }
-        },
-        // 合同管理-备件明细
-        detailsSpareParts: {
-          tableKey: 1,
-          listLoading: false,
-          total: 0,
-          list: [],
-          getdataListParm: {
-            name: 'getcontratListBybigV2',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              specification: '',
-              partName: '',
-              partCode: '',
-              pastureId: '',
-              providerId: '',
-              stopTime: '',
-              flag: '',
-              isZeroStock: '',
-              statue: ''
-            }
-          },
-          partCode: '',
-          requestSparePart: {
-            name: '',
-            page: 1,
-            offset: 1,
-            pagecount: 20,
-            returntype: 'Map',
-            parammaps: {}
-          },
-          detailsList: [],
-          updateList: [],
-          tableKeyAdd: 0,
-          listLoadingAdd: false,
-          listAdd: [],
-          requestBrand: {
-            name: 'getBrandByPartCode',
-            page: 0,
-            offset: 0,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {}
-          },
-          BrandList: [],
-          create: {
-            dialogFormVisible: false,
-            temp: { contractCode: '', pastureId: Cookies.get('pastureid'), providerName: '', startTime: '', stopTime: '', statue: '', isZeroStock: 0, creatorId: Cookies.get('employeid'), creatorMan: Cookies.get('employename'), creatorTime: parseTime(new Date(), '{y}-{m}-{d}'), activeList: [], active: 3, workflowNote: '' }
-          },
-          isDisabledImport: true,
-          clearImportExcelParm: {
-            name: 'deletecontract_upload',
-            page: 0,
-            offset: 0,
-            pagecount: '',
-            returntype: 'Map',
-            parammaps: {
-              user: Cookies.get('name')
-            }
-          },
-          importExcelParm: {
-            name: 'getcontract_uploadlist',
-            page: 0,
-            offset: 0,
-            pagecount: '',
-            returntype: 'Map',
-            parammaps: {
-              user: Cookies.get('name')
-            }
-          }
-        },
-        // 变更记录
-        changeRecord: {
-          isContractExamineZG: [],
-          //  isContractExamineZL: [],
-          isContractExamineZX: [],
-          isContractDelete: [],
-          isStatueReason: false,
-          isReason: false,
-          radioAll: '全部',
-          tableKey: 2,
-          listLoading: false,
-          total: 0,
-          list: [],
-          getdataListParm: {
-            name: 'providerPactListSH',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              loginid: Cookies.get('employeid'),
-              contractCode: '',
-              tab1InputDatetime3: '',
-              startTime: '',
-              stopTime: '',
-              SHStatus: '',
-              SHtype: '',
-              pastureId: '',
-              providerId: '',
-              stopTime1: '',
-              flag: '',
-              isZeroStock: '',
-              statue: '',
-              SHnums: 2,
-              stuteSH: ''
-            }
-          },
-          see: {
-            dialogFormVisible: false,
-            activeList: [], active: 3,
-            temp: {},
-            tableKey: 0,
-            listLoading: false,
-            total: 0,
-            list: [],
-            getdataListParm: {
-              name: 'getcontratListBybigSH',
-              returntype: 'Map',
-              page: 0,
-              offset: 0,
-              pagecount: 10,
-              parammaps: {}
-            }
-          },
-          examine: {
-            dialogFormVisible: false,
-            temp: {
-              statueSH: 1
-            },
-            isReason: false
-          }
-        }
-      },
-      postDataPramas: {},
-      // 开始日期
-      // pickerOptions1: {
-      //   disabledDate: (time) => {
-      //     if (this.tab1.contractManagement.create.temp.stopTime !== '') {
-      //       return parseTime(time.getTime(), '{y}-{m}-{d}') > parseTime(Date.now(), '{y}-{m}-{d}') || parseTime(time.getTime(), '{y}-{m}-{d}') >= this.tab1.contractManagement.create.temp.stopTime
-      //     } else {
-      //       return time.getTime() > Date.now()
-      //     }
-      //   }
-      // },
-      // 截止日期
-      pickerOptions2: {
-        disabledDate: (time) => {
-          return parseTime(time.getTime(), '{y}-{m}-{d}') <= this.tab1.contractManagement.create.temp.startTime || parseTime(time.getTime(), '{y}-{m}-{d}') < parseTime(Date.now(), '{y}-{m}-{d}')
-        }
-      },
-      pickerOptions3: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()// 当天之前的时间可选
-        }
-      },
-      // 合同明细
-      tab2: {
-        tableKey: 0,
-        listLoading: false,
-        total: 0,
-        getdataListParm: {
-          name: 'contractDetailV2',
-          page: 1,
-          offset: 1,
-          pagecount: 10,
-          returntype: 'Map',
-          parammaps: {
-            inputDatetime: '',
-            providerName: '',
-            contractCode: '',
-            stopTime: '',
-            startTime: '',
-            statue: '',
-            partCode: '',
-            partName: '',
-            isZeroStock: '',
-            // pastureName: Cookies.get('pasturename')
-            pastureName: ''
-          }
-        },
-        list: []
-      },
-      UpdateDataParam: {},
-      UpdateDataParam2: {},
-      pending: {
-        total: 0,
-        getdataListParm: {
-          name: 'providerPactListV2', page: 1, offset: 1, getTotal: 'total3', pagecount: 10, returntype: 'Map',
-          parammaps: {}
-        }
-      },
-      myHeight:document.documentElement.clientHeight - 85- 150
-    }
-  },
-  computed: {
-    // 设置请求头
-    headers() {
-      return {
-        token: getToken()
-      }
-    },
-    uploadData() {
-      return {
-        name: 'insertcontract_upload',
-        importParams: '备件编号,备件名称,规格型号,计量单位,品牌,计划量,单价,备注',
-        sheetname: 'SheetJS'
-      }
-    },
-    // 设置上传地址
-    uploadExcelUrl() {
-      return process.env.VUE_APP_BASE_API + 'authdata/ImportExcel'
-    }
-  },
-  created() {
-    // this.keyupSubmit()
-    console.log(this.$route.query.contractCode)
-    this.get_select_list()
-    const that = this
-    GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'jwt_username': Cookies.get('name') }}).then(response => {
-      that.buttons = response.data.list
-      that.get_auto_buttons()
-    })
-
-    this.getTab1List()
-    this.getPendingList()
-    if (this.$route.query.contractCode == undefined) {
-      this.tab1.contractManagement.getdataListParm.parammaps.contractCode = ''
-    } else {
-      this.tab1.contractManagement.getdataListParm.parammaps.contractCode = this.$route.query.contractCode
-    }
-  },
-
-  methods: {
-    tableSort1(column) {
-      sortChange(column, this.tab1.detailsSpareParts.list)
-    },
-    tableSort2(column) {
-      sortChange(column, this.tab2.list)
-    },
-    get_auto_buttons() {
-      // 新增
-      const ContractAdd = 'customs:contract:add'
-      const isContractAdd = checkButtons(this.$store.state.user.buttons, ContractAdd)
-      this.tab1.contractManagement.isContractAdd = isContractAdd
-
-      // 查看
-      const ContractSee = 'customs:contract:see'
-      const isContractSee = checkButtons(this.$store.state.user.buttons, ContractSee)
-      this.tab1.contractManagement.isContractSee = isContractSee
-
-      // 办公室主任
-      const ContractExamineZG = 'customs:contract:examineZG'
-      const isContractExamineZG = checkButtons(this.$store.state.user.buttons, ContractExamineZG)
-      this.tab1.changeRecord.isContractExamineZG = isContractExamineZG
-      // 设备中心审核
-      const ContractExamineZX = 'customs:contract:examineZX'
-      const isContractExamineZX = checkButtons(this.$store.state.user.buttons, ContractExamineZX)
-      this.tab1.changeRecord.isContractExamineZX = isContractExamineZX
-      // 审核删除
-      const ContractDelete = 'customs:contract:delete'
-      const isContractDelete = checkButtons(this.$store.state.user.buttons, ContractDelete)
-      this.tab1.changeRecord.isContractDelete = isContractDelete
-      // 导出
-      const ContractExport = 'customs:contract:export'
-      const isContractExport = checkButtons(this.$store.state.user.buttons, ContractExport)
-      this.tab1.contractManagement.isContractExport = isContractExport
-      // 变更
-      const ContractChange = 'customs:contract:change'
-      const isContractChange = checkButtons(this.$store.state.user.buttons, ContractChange)
-      this.tab1.contractManagement.isContractChange = isContractChange
-    },
-    get_select_list() {
-      GetDataByNames(this.requestParams).then(response => {
-        this.findAllProvider = response.data.findAllProvider.list
-        this.findAllAssetType = response.data.findAllAssetType.list
-        this.findAllPasture = response.data.findAllPasture.list
-        this.findAllPastureList2 = response.data.findAllPastureForContract.list
-        this.findAllDepart = response.data.findAllDepart.list
-        this.findAllEmploye = response.data.findAllEmploye.list
-        this.findAllCategory = response.data.findAllCategory.list
-      })
-    },
-    handleClick() {
-      if (this.tab1.contractManagement.create.temp.activeName == 'first') {
-        console.log('点击了合同管理')
-        this.getTab1List()
-      } else {
-        console.log('点击了合同明细')
-        this.getTab2List()
-      }
-    },
-    getPendingList() {
-      this.pending.getdataListParm.parammaps.loginid = this.tab1.contractManagement.getdataListParm.parammaps.loginid
-      this.pending.getdataListParm.parammaps.pastureName = this.tab1.contractManagement.getdataListParm.parammaps.pastureName
-      this.pending.getdataListParm.parammaps.contractCode = this.tab1.contractManagement.getdataListParm.parammaps.contractCode
-      this.pending.getdataListParm.parammaps.statue = this.tab1.contractManagement.getdataListParm.parammaps.statue
-      this.pending.getdataListParm.parammaps.stuteSH = this.tab1.contractManagement.getdataListParm.parammaps.stuteSH
-      this.pending.getdataListParm.parammaps.providerName = this.tab1.contractManagement.getdataListParm.parammaps.providerName
-      this.pending.getdataListParm.parammaps.tab1InputDatetime1 = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1
-      this.pending.getdataListParm.parammaps.startTime = this.tab1.contractManagement.getdataListParm.parammaps.startTime
-      this.pending.getdataListParm.parammaps.stopTime = this.tab1.contractManagement.getdataListParm.parammaps.stopTime
-      this.pending.getdataListParm.parammaps.tab1InputDatetime2 = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2
-      this.pending.getdataListParm.parammaps.SHdateTimeF = this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeF
-      this.pending.getdataListParm.parammaps.SHdateTimeE = this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeE
-      this.pending.getdataListParm.parammaps.SHnums = 0
-      GetDataByName(this.pending.getdataListParm).then(response => {
-        this.pending.total = response.data.total3
-      })
-    },
-    getTab1List() {
-      this.tab1.contractManagement.listLoading = true
-      if (this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 !== '' && this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 !== null) {
-        this.tab1.contractManagement.getdataListParm.parammaps.startTime = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1[0]
-        this.tab1.contractManagement.getdataListParm.parammaps.stopTime = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1[1]
-      } else {
-        this.tab1.contractManagement.getdataListParm.parammaps.startTime = ''
-        this.tab1.contractManagement.getdataListParm.parammaps.stopTime = ''
-      }
-      if (this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2 !== '' && this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2 !== null) {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeF = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2[0]
-        this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeE = this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2[1]
-      } else {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeF = ''
-        this.tab1.contractManagement.getdataListParm.parammaps.SHdateTimeE = ''
-      }
-      GetDataByName(this.tab1.contractManagement.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          this.tab1.contractManagement.list = response.data.list
-          this.tab1.contractManagement.pageNum = response.data.pageNum
-          this.tab1.contractManagement.pageSize = response.data.pageSize
-        } else {
-          this.tab1.contractManagement.list = []
-        }
-        this.tab1.contractManagement.total = response.data.total
-        setTimeout(() => {
-          this.tab1.contractManagement.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab1Filter() {
-      this.tab1.contractManagement.listLoading = true
-      if (this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 == null) {
-        this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 = ''
-      }
-      if (this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2 == null) {
-        this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime2 = ''
-      }
-      this.tab1.contractManagement.getdataListParm.offset = 1
-      this.getTab1List()
-      this.getPendingList()
-      if (this.tab1.contractManagement.radioAll == '全部') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 2
-        this.getTab1List()
-      } else if (this.tab1.contractManagement.radioAll == '待处理') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 0
-        this.getTab1List()
-      } else if (this.tab1.contractManagement.radioAll == '已处理') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 1
-        this.getTab1List()
-      }
-    },
-    changeContractManagementAll() {
-      if (this.tab1.contractManagement.radioAll == '全部') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 2
-      } else if (this.tab1.contractManagement.radioAll == '待处理') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 0
-      } else if (this.tab1.contractManagement.radioAll == '已处理') {
-        this.tab1.contractManagement.getdataListParm.parammaps.SHnums = 1
-      }
-      this.tab1.contractManagement.getdataListParm.offset = 1
-      this.getTab1List()
-    },
-    changeTime(val) {
-      if (this.tab1.contractManagement.create.temp.stopTime !== '') {
-        if (this.tab1.contractManagement.create.temp.stopTime <= this.tab1.contractManagement.create.temp.startTime) {
-          this.tab1.contractManagement.create.temp.stopTime = ''
-          this.tab1.contractManagement.create.temp.statue = ''
-          this.tab1.contractManagement.create.temp.statueId = ''
-        } else {
-          if (parseTime(new Date(), '{y}-{m}-{d}') <= this.tab1.contractManagement.create.temp.stopTime) {
-            this.tab1.contractManagement.create.temp.statue = '1'
-            // this.tab1.contractManagement.create.temp.statueId = 1
-          } else {
-            this.tab1.contractManagement.create.temp.statue = '0'
-            // this.tab1.contractManagement.create.temp.statueId = 2
-          }
-        }
-      } else {
-        this.tab1.contractManagement.create.temp.statue = ''
-        this.tab1.contractManagement.create.temp.statueId = ''
-      }
-    },
-    changeIsZero(val) {
-      console.log(val)
-    },
-    providerSearch(queryString, cb) {
-      var returnList = this.findAllProvider
-      var results = queryString ? returnList.filter(this.createFilter(queryString)) : returnList
-      // 调用 callback 返回建议列表的数据
-      cb(results)
-    },
-    createFilter(queryString) {
-      return returnValue => {
-        return (
-          returnValue.name.toLowerCase().indexOf(queryString.toLowerCase()) >= 0
-        )
-      }
-    },
-    handleSelectProvider(item) {
-      this.$set(this.tab1.contractManagement.create.temp, 'providerId', item.id)
-      this.$set(this.tab1.contractManagement.create.temp, 'providerName', item.name)
-    },
-    handleFocusProvider() {
-      this.tab1.contractManagement.create.temp.providerId = ''
-      this.tab1.contractManagement.create.temp.providerName = ''
-    },
-    handleBlurProvider() {
-      if (this.tab1.contractManagement.create.temp.providerId == '') {
-        this.tab1.contractManagement.create.temp.providerId = ''
-        this.tab1.contractManagement.create.temp.providerName = ''
-      }
-    },
-    changeCreatorMan(val) {
-      this.tab1.contractManagement.create.temp.creatorMan = this.findAllEmploye.find(obj => obj.id == val).name
-    },
-    resetCreateTemp() {
-      this.tab1.contractManagement.create.temp.synchronousPastureList = []
-      if (Cookies.get('pastureid') == 18) {
-        for (let i = 0; i < this.findAllPasture.length; i++) {
-          this.tab1.contractManagement.create.temp.synchronousPastureList.push(this.findAllPasture[i].id)
-        }
-      } else {
-        this.tab1.contractManagement.create.temp.synchronousPastureList.push(parseInt(Cookies.get('pastureid')))
-      }
-      this.tab1.contractManagement.create.temp = { contractCode: '', pastureId: parseFloat(Cookies.get('pastureid')), providerName: '', startTime: '', stopTime: '', statue: '', isZeroStock: 0, creatorId: parseFloat(Cookies.get('employeid')), creatorMan: Cookies.get('employename'), creatorTime: parseTime(new Date(), '{y}-{m}-{d}'), synchronousPasture: this.tab1.contractManagement.create.temp.synchronousPastureList, synchronousPasture2: [] }
-    },
-    handleTab1Create() {
-      this.resetCreateTemp()
-      this.dialogStatus = 'create'
-      this.tab1.contractManagement.create.dialogFormVisible = true
-      this.getCreateNumber()
-    },
-    getCreateNumber() {
-      GetDataByName(this.tab1.contractManagement.getParmCreateNumber).then(response => {
-        this.$nextTick(() => {
-          console.log('合同编号', response.data.list[0].orderCode)
-          this.tab1.contractManagement.create.temp.contractCode = response.data.list[0].orderCode
-          this.$forceUpdate()
-        })
-      })
-    },
-    add_dialog_save() {
-      console.log('点击了新增保存')
-      this.isokDisable = true
-      setTimeout(() => {
-        this.isokDisable = false
-      }, 1000)
-      this.$refs['createTemp'].validate(valid => {
-        if (valid) {
-          if (this.tab1.contractManagement.create.temp.contractCode == '') {
-            GetDataByName(this.getParmCreateNumber).then(response => {
-              this.$nextTick(() => {
-                this.tab1.contractManagement.create.temp.contractCode = response.data.list[0].orderCode
-                this.$forceUpdate()
-                this.saveCreateData()
-              })
-            })
-          } else {
-            this.saveCreateData()
-          }
-        }
-      })
-    },
-    saveCreateData() {
-      this.postDataPramas = {}
-      if (Cookies.get('pastureid') == 18) {
-        if (this.tab1.contractManagement.create.temp.synchronousPasture.indexOf(18) == -1) {
-          this.$message({ type: 'error', message: '当前合同归属于现代牧业,未选中,共享牧场请选中现代牧业!', duration: 2000 })
-          return false
-        }
-      }
-      this.postDataPramas.common = { 'returnmap': '0' }
-      this.postDataPramas.data = []
-      this.postDataPramas.data[0] = { 'name': 'checkbigcontract', 'type': 'v', 'parammaps': {
-        pastureId: this.tab1.contractManagement.create.temp.pastureId,
-        providerId: this.tab1.contractManagement.create.temp.providerId
-      }}
-      this.postDataPramas.data[1] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-        pastureId: this.tab1.contractManagement.create.temp.pastureId,
-        providerId: this.tab1.contractManagement.create.temp.providerId,
-        providerName: this.tab1.contractManagement.create.temp.providerName,
-        startTime: this.tab1.contractManagement.create.temp.startTime,
-        stopTime: this.tab1.contractManagement.create.temp.stopTime,
-        contractCode: this.tab1.contractManagement.create.temp.contractCode,
-        creatorId: this.tab1.contractManagement.create.temp.creatorId,
-        creatorMan: this.tab1.contractManagement.create.temp.creatorMan,
-        creatorTime: this.tab1.contractManagement.create.temp.creatorTime,
-        isZeroStock: this.tab1.contractManagement.create.temp.isZeroStock,
-        statue: 1,
-        remark: this.tab1.contractManagement.create.temp.remark,
-        SHtype: 0
-      }}
-      var groupRanchList = []
-      for (let i = 0; i < this.tab1.contractManagement.create.temp.synchronousPasture.length; i++) {
-        var obj = {}
-        obj.pastureId = this.tab1.contractManagement.create.temp.synchronousPasture[i]
-        groupRanchList.push(obj)
-      }
-      if (Cookies.get('pastureid') == 18) {
-        this.postDataPramas.data[2] = { 'name': 'insertSpotList', 'resultmaps': { 'list': groupRanchList }}
-        this.postDataPramas.data[2].children = []
-        this.postDataPramas.data[2].children[0] = { 'name': 'insertPastureBigcontract', 'type': 'e', 'parammaps': {
-          bigcontractId: '@insertBigContractV2.LastInsertId',
-          pastureId: '@insertSpotList.pastureId'
-        }}
-      }
-      ExecDataByConfig(this.postDataPramas).then(response => {
-        console.log('新增保存发送参数', this.postDataPramas)
-        if (response.msg == 'fail') {
-          this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-        } else {
-          this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 = ''
-          this.getTab1List()
-          this.getPendingList()
-          this.tab1.contractManagement.create.dialogFormVisible = false
-          this.tab1.contractManagement.create.temp.providerName = ''
-          this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-        }
-      })
-    },
-    form_see(row) {
-      console.log('查看', row)
-      row.statue = String(row.statue)
-      row.synchronousPasture2 = []
-      row.synchronousPastureName2 = []
-      row.synchronousPasture = []
-      this.tab1.contractManagement.create.temp = Object.assign({}, row)
-      this.dialogStatus = 'see'
-      this.tab1.contractManagement.create.dialogFormVisible = true
-      var reason = '未通过原因:' + this.tab1.contractManagement.create.temp.workflowNote
-      if (this.tab1.contractManagement.create.temp.SHStatus == 2) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核' }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 1
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 3) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 2
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 4) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson, status: 'error', reason: reason }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 2
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 5) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 2
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 6) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.contractManagement.create.temp.active = 3
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 7) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核', date: this.tab1.contractManagement.create.temp.CGChargedate, name: this.tab1.contractManagement.create.temp.CGChargePerson }]
-        this.tab1.contractManagement.create.temp.active = 4
-      } else if (this.tab1.contractManagement.create.temp.SHStatus == 8) {
-        this.tab1.contractManagement.create.temp.activeList = [{ title: '合同录入', date: this.tab1.contractManagement.create.temp.creatorTime, name: this.tab1.contractManagement.create.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.contractManagement.create.temp.chargeDate, name: this.tab1.contractManagement.create.temp.chargePerson }, { title: '设备中心审核', date: this.tab1.contractManagement.create.temp.CGChargedate, name: this.tab1.contractManagement.create.temp.CGChargePerson, status: 'error', reason: reason }]
-        this.tab1.contractManagement.create.temp.active = 4
-      }
-      this.tab1.contractManagement.create.changeEchoParm.parammaps.bigcontract_id = row.id
-      GetDataByName(this.tab1.contractManagement.create.changeEchoParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            this.tab1.contractManagement.create.temp.synchronousPasture2.push(response.data.list[i].pasture_id)
-            this.tab1.contractManagement.create.temp.synchronousPasture.push(response.data.list[i].pasture_id)
-            this.tab1.contractManagement.create.temp.synchronousPastureName2.push(this.findAllPasture.find(obj => obj.id == response.data.list[i].pasture_id).name)
-          }
-        } else {
-          this.tab1.contractManagement.create.temp.synchronousPasture = []
-        }
-        console.log(this.tab1.contractManagement.create.temp.synchronousPastureName2, 'synchronousPastureName2')
-      })
-    },
-    handleTab1Change(row) {
-      console.log('变更', row)
-      // row.statue = String(row.statue)
-      this.$set(row, 'mystopTime', row.stopTime)
-      row.synchronousPasture2 = []
-      row.synchronousPastureName2 = []
-      row.synchronousPasture = []
-      this.tab1.contractManagement.create.temp = Object.assign({}, row)
-      this.tab1.contractManagement.create.temp.statue = String(this.tab1.contractManagement.create.temp.statue)
-
-      this.dialogStatus = 'change'
-      this.tab1.contractManagement.create.dialogFormVisible = true
-      this.tab1.contractManagement.create.changeEchoParm.parammaps.bigcontract_id = row.id
-      GetDataByName(this.tab1.contractManagement.create.changeEchoParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            this.tab1.contractManagement.create.temp.synchronousPasture2.push(response.data.list[i].pasture_id)
-            this.tab1.contractManagement.create.temp.synchronousPasture.push(response.data.list[i].pasture_id)
-            this.tab1.contractManagement.create.temp.synchronousPastureName2.push(this.findAllPasture.find(obj => obj.id == response.data.list[i].pasture_id).name)
-          }
-        } else {
-          this.tab1.contractManagement.create.temp.synchronousPasture = []
-        }
-        console.log(this.tab1.contractManagement.create.temp.synchronousPastureName2, 'synchronousPastureName2')
-      })
-    },
-
-    terminationData() {
-      var aa = '确认终止合同?'
-      if (this.tab1.contractManagement.create.temp.isZeroStock == 1) {
-        aa = '若此合同库存中有剩余库存,建议先进行退货操作。'
-      } else {
-        aa = '确认终止合同?'
-      }
-      MessageBox.confirm(aa, { confirmButtonText: '确认终止', cancelButtonText: '取消', type: 'warning'
-      }).then(() => {
-        this.postDataPramas = {}
-        this.postDataPramas.name = 'updatecontractstatuV2'
-        this.postDataPramas.parammaps = {}
-        this.postDataPramas.parammaps = this.tab1.contractManagement.create.temp
-        this.postDataPramas.parammaps.creatorId = Cookies.get('employeid')
-        this.postDataPramas.parammaps.creatorMan = Cookies.get('employename')
-        this.postDataPramas.parammaps.creatorTime = parseTime(new Date(), '{y}-{m}-{d}')
-        PostDataByName(this.postDataPramas).then(response => {
-          console.log('变更保存发送参数', this.postDataPramas)
-          if (response.msg == 'fail') {
-            this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-          } else {
-            this.tab1.contractManagement.getdataListParm.parammaps.tab1InputDatetime1 = ''
-            this.getTab1List()
-            this.getPendingList()
-            this.tab1.contractManagement.create.dialogFormVisible = false
-            this.tab1.contractManagement.create.temp.providerName = ''
-            this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-          }
-        })
-      })
-    },
-    changeData() {
-      if (Cookies.get('pastureid') == 18) {
-        this.UpdateDataParam = {}
-        this.UpdateDataParam.name = 'pasture_bigcontract'
-        this.UpdateDataParam.dataname = 'bigcontract_id'
-        this.UpdateDataParam.datavalue = this.tab1.contractManagement.create.temp.id
-        this.UpdateDataParam.valuename = 'pasture_id'
-        this.UpdateDataParam.values = this.tab1.contractManagement.create.temp.synchronousPasture
-        UpdateDataRelation(this.UpdateDataParam).then(response => {
-          if (response.msg !== 'fail') {
-            this.UpdateDataParam2.name = 'updateBigcontractPId'
-            this.UpdateDataParam2.parammaps = {}
-            this.UpdateDataParam2.parammaps.bigcontract_id = this.tab1.contractManagement.create.temp.id
-            this.UpdateDataParam2.parammaps.enable = 0
-            PostDataByName(this.UpdateDataParam2).then(response => {})
-          }
-        })
-      }
-      this.postDataPramas = {}
-      this.postDataPramas.common = { 'returnmap': '0' }
-      this.postDataPramas.data = []
-      this.postDataPramas.data[0] = { 'name': 'checkbigcontractSH', 'type': 'v', 'parammaps': {
-        pastureId: this.tab1.contractManagement.create.temp.pastureId,
-        providerId: this.tab1.contractManagement.create.temp.providerId,
-        stopTime: this.tab1.contractManagement.create.temp.mystopTime,
-        flag: this.tab1.contractManagement.create.temp.flag,
-        isZeroStock: this.tab1.contractManagement.create.temp.isZeroStock,
-        statue: this.tab1.contractManagement.create.temp.statue
-      }}
-      if (Cookies.get('pastureid') == 18) {
-        var synchronousPastureName = []
-        for (let i = 0; i < this.tab1.contractManagement.create.temp.synchronousPasture.length; i++) {
-          synchronousPastureName.push(this.findAllPasture.find(obj => obj.id == this.tab1.contractManagement.create.temp.synchronousPasture[i]).name)
-        }
-        this.postDataPramas.data[1] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-          pastureId: this.tab1.contractManagement.create.temp.pastureId,
-          providerId: this.tab1.contractManagement.create.temp.providerId,
-          providerName: this.tab1.contractManagement.create.temp.providerName,
-          startTime: this.tab1.contractManagement.create.temp.startTime,
-          stopTime: this.tab1.contractManagement.create.temp.mystopTime,
-          stopTime1: this.tab1.contractManagement.create.temp.stopTime,
-          contractCode: '',
-          contractCode1: this.tab1.contractManagement.create.temp.contractCode,
-          creatorId: this.tab1.contractManagement.create.temp.creatorId,
-          creatorMan: this.tab1.contractManagement.create.temp.creatorMan,
-          creatorTime: this.tab1.contractManagement.create.temp.creatorTime,
-          isZeroStock: this.tab1.contractManagement.create.temp.isZeroStock,
-          statue: this.tab1.contractManagement.create.temp.statue,
-          remark: this.tab1.contractManagement.create.temp.remark,
-          flag: this.tab1.contractManagement.create.temp.flag,
-          SHtype: 3,
-          pastureNamesOld: this.tab1.contractManagement.create.temp.synchronousPastureName2.toString(),
-          pastureNamesNow: synchronousPastureName.toString()
-        }}
-      } else {
-        this.postDataPramas.data[1] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-          pastureId: this.tab1.contractManagement.create.temp.pastureId,
-          providerId: this.tab1.contractManagement.create.temp.providerId,
-          providerName: this.tab1.contractManagement.create.temp.providerName,
-          startTime: this.tab1.contractManagement.create.temp.startTime,
-          stopTime: this.tab1.contractManagement.create.temp.mystopTime,
-          stopTime1: this.tab1.contractManagement.create.temp.stopTime,
-          contractCode: '',
-          contractCode1: this.tab1.contractManagement.create.temp.contractCode,
-          creatorId: this.tab1.contractManagement.create.temp.creatorId,
-          creatorMan: this.tab1.contractManagement.create.temp.creatorMan,
-          creatorTime: this.tab1.contractManagement.create.temp.creatorTime,
-          isZeroStock: this.tab1.contractManagement.create.temp.isZeroStock,
-          statue: this.tab1.contractManagement.create.temp.statue,
-          remark: this.tab1.contractManagement.create.temp.remark,
-          flag: this.tab1.contractManagement.create.temp.flag,
-          SHtype: 3
-        }}
-      }
-      ExecDataByConfig(this.postDataPramas).then(response => {
-        console.log('变更保存发送参数', this.postDataPramas)
-        if (response.msg == 'fail') {
-          this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-        } else {
-          this.getTab1List()
-          this.getPendingList()
-          this.tab1.contractManagement.create.dialogFormVisible = false
-          this.tab1.contractManagement.create.temp.providerName = ''
-          this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-        }
-      })
-    },
-    // 备件明细
-    handleTab1DetailsSpareParts(row) {
-      console.log('备件明细', row)
-      this.tab1.detailsSpareParts.updateList = Object.assign({}, row)
-      this.tab1.detailsSpareParts.detailsList = Object.assign({}, row)
-      this.isContractManagement = false
-      this.isDetailsSpareParts = true
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.pastureId = row.pastureId
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.providerId = row.providerId
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.stopTime = row.stopTime
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.flag = row.flag
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.isZeroStock = row.isZeroStock
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.statue = row.statue
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.partCode = ''
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.partName = ''
-      this.tab1.detailsSpareParts.getdataListParm.parammaps.specification = ''
-      this.getTab1List2()
-    },
-    handleTab1goBack() {
-      // this.reload()
-      this.isContractManagement = true
-      this.isDetailsSpareParts = false
-      this.tab1.detailsSpareParts.total = 0
-      this.getTab1List()
-    },
-    getTab1List2() {
-      this.tab1.detailsSpareParts.listLoading = true
-      GetDataByName(this.tab1.detailsSpareParts.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            if (response.data.list[i].srcpath !== null && response.data.list[i].picpath !== null && response.data.list[i].srcpath !== undefined && response.data.list[i].picpath !== undefined) {
-              const srcpath = process.env.VUE_APP_BASE_API + response.data.list[i].srcpath
-              const picpath = process.env.VUE_APP_BASE_API + response.data.list[i].picpath
-              response.data.list[i].srcpath = srcpath
-              response.data.list[i].picpath = picpath
-            } else {
-              response.data.list[i].srcpath = ''
-              response.data.list[i].picpath = ''
-            }
-          }
-          this.tab1.detailsSpareParts.list = response.data.list
-          this.tab1.detailsSpareParts.pageNum = response.data.pageNum
-          this.tab1.detailsSpareParts.pageSize = response.data.pageSize
-          if (response.data.list !== null) {
-            this.tab1.detailsSpareParts.total = response.data.total
-          } else {
-            this.tab1.detailsSpareParts.total = 0
-          }
-        } else {
-          this.tab1.detailsSpareParts.list = []
-        }
-        setTimeout(() => {
-          this.tab1.detailsSpareParts.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab1Filter2() {
-      this.tab1.detailsSpareParts.listLoading = true
-      this.tab1.detailsSpareParts.getdataListParm.offset = 1
-      this.getTab1List2()
-    },
-    sparePartSearch(queryString, cb) {
-      this.tab1.detailsSpareParts.requestSparePart.parammaps['partCode'] = queryString
-      GetDataByName(this.tab1.detailsSpareParts.requestSparePart).then(response => {
-        if (response.data.list == null) {
-          cb([])
-        } else {
-          cb(response.data.list)
-        }
-      })
-    },
-    handleSelectSparePart(item) {
-      console.log('备件模糊查询选中值', item)
-      if (this.tab1.detailsSpareParts.listAdd.length > 0) {
-        if (this.tab1.detailsSpareParts.listAdd.find(obj => obj.partCode == item.partCode)) {
-          this.$message({ type: 'warning', message: '此备件已存在,请重新选择备件' })
-        } else {
-          if (item.srcpath !== null && item.picpath !== null && item.srcpath !== undefined && item.picpath !== undefined) {
-            this.$set(item, 'srcpath', process.env.VUE_APP_BASE_API + item.srcpath)
-            this.$set(item, 'picpath', process.env.VUE_APP_BASE_API + item.picpath)
-          } else {
-            item.srcpath = ''
-            item.picpath = ''
-          }
-          this.$set(item, 'myid', new Date().getTime())
-          this.$set(item, 'taxcode', '')
-          this.tab1.detailsSpareParts.listAdd.unshift(item)
-        }
-      } else {
-        if (item.srcpath !== null && item.picpath !== null && item.srcpath !== undefined && item.picpath !== undefined) {
-          this.$set(item, 'srcpath', process.env.VUE_APP_BASE_API + item.srcpath)
-          this.$set(item, 'picpath', process.env.VUE_APP_BASE_API + item.picpath)
-        } else {
-          item.srcpath = ''
-          item.picpath = ''
-        }
-        this.$set(item, 'myid', new Date().getTime())
-        this.tab1.detailsSpareParts.listAdd.unshift(item)
-      }
-    },
-    brandSearch(queryString, cb) {
-      this.tab1.detailsSpareParts.requestBrand.parammaps['brandName'] = queryString
-      GetDataByName(this.tab1.detailsSpareParts.requestBrand).then(response => {
-        this.tab1.detailsSpareParts.BrandList = response.data.list
-        cb(this.tab1.detailsSpareParts.BrandList)
-      })
-    },
-    handleSelectBrand(item, row) {
-      this.$set(row, 'brandName', item.brandName)
-      this.$set(row, 'brandId', item.brandId)
-      this.$forceUpdate()
-    },
-    handleFocusBrand(row) {
-      this.$set(row, 'brandName', '')
-      this.$set(row, 'brandId', '')
-    },
-    handleBlurBrand(row) {
-      if (row.brandId == '') {
-        this.$set(row, 'brand', '')
-        this.$set(row, 'brandName', '')
-        this.$set(row, 'brandId', '')
-      }
-    },
-    partDelete(row) {
-      console.log('备件明细-备件删除', row)
-      MessageBox.confirm('设备名称:' + row.partName, '确认删除?', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
-      }).then(() => {
-        for (var i = 0; i < this.tab1.detailsSpareParts.listAdd.length; i++) {
-          console.log(this.tab1.detailsSpareParts.listAdd[i])
-          if (this.tab1.detailsSpareParts.listAdd[i].myid === row.myid) {
-            var listAddIndex = this.tab1.detailsSpareParts.listAdd.indexOf(this.tab1.detailsSpareParts.listAdd[i])
-          }
-          if (listAddIndex > -1) {
-            this.tab1.detailsSpareParts.listAdd.splice(listAddIndex, 1)
-            return
-          }
-        }
-      })
-    },
-    handleTab1DownloadTemp2() {
-      console.log('备件明细-备件模板')
-      import('@/vendor/Export2Excel').then(excel => {
-        const list1 = []
-        const tHeader = ['备件编号', '备件名称', '规格型号', '计量单位', '品牌', '计划量', '单价', '备注']
-        const filterVal = ['备件编号', '备件名称', '规格型号', '计量单位', '品牌', '计划量', '单价', '备注']
-        const data1 = this.formatJsonTemp(filterVal, list1)
-        excel.export_json_to_excel({ header: tHeader, data: data1, filename: '备件明细模板', autoWidth: true, bookType: 'xlsx' })
-      })
-    },
-    formatJsonTemp(filterVal, jsonData) {
-      return jsonData.map(v =>
-        filterVal.map(j => {
-          if (j === 'timestamp') {
-            return parseTime(v[j])
-          } else {
-            return v[j]
-          }
-        })
-      )
-    },
-    beforeImportExcel(file) {
-      const isLt2M = file.size / 1024 / 1024 < 6
-      if (!isLt2M) {
-        this.$message.error('上传文件大小不能超过 6MB!')
-      }
-      return isLt2M
-    },
-    handleImportExcelSuccess(res, file) {
-      console.log(res)
-      if (res.msg == 'ok') {
-        this.$message({ title: '成功', message: '导入成功:' + res.data.success + '条!', type: 'success', duration: 2000 })
-        if (res.data.err_count > 0) {
-          this.$notify({ title: '失败', message: '导入失败:' + res.data.err_count + '条!', type: 'danger', duration: 2000 })
-           import('@/vendor/Export2Excel').then(excel => {
-             const list1 = res.data.result
-             const tHeader = ['备件编号', '备件名称', '规格型号', '计量单位', '品牌', '计划量', '单价', '备注', '报错信息']
-             const filterVal = ['备件编号', '备件名称', '规格型号', '计量单位', '品牌', '计划量', '单价', '备注', 'error_msg']
-             const data1 = this.formatJson(filterVal, list1)
-             excel.export_json_to_excel({ header: tHeader, data: data1, filename: '合同报错信息', autoWidth: true, bookType: 'xlsx' })
-           })
-        }
-        this.getImportExcelList()
-      } else {
-        this.$notify({ title: '失败', message: '上传失败,文件格式错误', type: 'danger', duration: 2000 })
-      }
-    },
-    formatJson(filterVal, jsonData) {
-      return jsonData.map(v =>
-        filterVal.map(j => {
-          if (j == 'timestamp') {
-            return parseTime(v[j])
-          } else {
-            return v[j]
-          }
-        })
-      )
-    },
-    getClearImportExcelList() {
-      PostDataByName(this.tab1.detailsSpareParts.clearImportExcelParm).then(response => {
-        console.log(response.msg)
-        if (response.msg == 'ok') {
-          this.tab1.detailsSpareParts.isDisabledImport = false
-        }
-      })
-    },
-    getImportExcelList() {
-      GetDataByName(this.tab1.detailsSpareParts.importExcelParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            if (response.data.list[i].picpath == undefined) {
-              response.data.list[i].picpath = ''
-              response.data.list[i].srcpath = ''
-            } else {
-              this.$set(response.data.list[i], 'srcpath', process.env.VUE_APP_BASE_API + response.data.list[i].srcpath)
-              this.$set(response.data.list[i], 'picpath', process.env.VUE_APP_BASE_API + response.data.list[i].picpath)
-            }
-            response.data.list[i].myid = new Date().getTime() + i
-          }
-          this.tab1.detailsSpareParts.listAdd = response.data.list
-        } else {
-          this.tab1.detailsSpareParts.list = []
-        }
-      })
-    },
-    handleTab1Create2() {
-      console.log('备件明细-新增/变更')
-      this.dialogStatus = 'tab1create2'
-      this.tab1.detailsSpareParts.create.dialogFormVisible = true
-      this.tab1.detailsSpareParts.listAdd = []
-      this.tab1.detailsSpareParts.partCode = ''
-      this.tab1.detailsSpareParts.requestSparePart.name = 'getcontratListBybigALLParts'
-      this.tab1.detailsSpareParts.requestSparePart.parammaps = {}
-      this.getClearImportExcelList()
-    },
-    add_dialog_save2() {
-      console.log('备件明细-新增保存')
-      if (this.tab1.detailsSpareParts.listAdd.length !== 0) {
-        for (let i = 0; i < this.tab1.detailsSpareParts.listAdd.length; i++) {
-          if (this.tab1.detailsSpareParts.listAdd[i].planAmount == null || this.tab1.detailsSpareParts.listAdd[i].brand == null || this.tab1.detailsSpareParts.listAdd[i].price == null || this.tab1.detailsSpareParts.listAdd[i].planAmount == '' || this.tab1.detailsSpareParts.listAdd[i].brand === '' || this.tab1.detailsSpareParts.listAdd[i].brandId === '' || this.tab1.detailsSpareParts.listAdd[i].price == '' || this.tab1.detailsSpareParts.listAdd[i].brand == undefined || this.tab1.detailsSpareParts.listAdd[i].brandId == undefined) {
-            this.$message({ type: 'warning', message: '请检查备件品牌或计划量或单价是否为空', duration: 2000 })
-            return false
-          } else {
-            var rulesPlanAmount = /^[1-9]\d*$/
-            if (!rulesPlanAmount.test(parseFloat(this.tab1.detailsSpareParts.listAdd[i].planAmount))) {
-              this.$message({ type: 'error', message: '计划量请输入正整数', duration: 2000 })
-              return false
-            }
-            if (parseFloat(this.tab1.detailsSpareParts.listAdd[i].price) == 0) {
-              this.$message({ type: 'warning', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-              return false
-            } else {
-              var rulesPrice = /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,5})?$/
-              if (rulesPrice.test(this.tab1.detailsSpareParts.listAdd[i].price) == false) {
-                this.$message({ type: 'error', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                return false
-              }
-            }
-          }
-        }
-        this.postDataPramas = {}
-        this.postDataPramas.common = { 'returnmap': '0' }
-        this.postDataPramas.data = []
-        this.postDataPramas.data[0] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-          pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-          flag: this.tab1.detailsSpareParts.detailsList.flag,
-          providerId: this.tab1.detailsSpareParts.detailsList.providerId,
-          providerName: this.tab1.detailsSpareParts.detailsList.providerName,
-          startTime: this.tab1.detailsSpareParts.detailsList.startTime,
-          stopTime: this.tab1.detailsSpareParts.detailsList.stopTime,
-          contractCode: '',
-          contractCode1: this.tab1.detailsSpareParts.detailsList.contractCode,
-          creatorId: Cookies.get('employeid'),
-          creatorMan: Cookies.get('employename'),
-          creatorTime: parseTime(new Date(), '{y}-{m}-{d}'),
-          isZeroStock: this.tab1.detailsSpareParts.detailsList.isZeroStock,
-          statue: this.tab1.detailsSpareParts.detailsList.statue,
-          remark: this.tab1.detailsSpareParts.detailsList.remark,
-          SHtype: 1
-        }}
-        this.postDataPramas.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.tab1.detailsSpareParts.listAdd }}
-        this.postDataPramas.data[1].children = []
-        this.postDataPramas.data[1].children[0] = { 'name': 'checkcontracPartCode', 'type': 'v', 'parammaps': {
-          pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-          providerId: this.tab1.detailsSpareParts.detailsList.providerId,
-          stopTime: this.tab1.detailsSpareParts.detailsList.stopTime,
-          flag: this.tab1.detailsSpareParts.detailsList.flag,
-          isZeroStock: this.tab1.detailsSpareParts.detailsList.isZeroStock,
-          statue: this.tab1.detailsSpareParts.detailsList.statue,
-          partCode: '@insertSpotList.partCode',
-          brandId: '@insertSpotList.brandId'
-        }}
-        this.postDataPramas.data[1].children[1] = { 'name': 'insertContractV2', 'type': 'e', 'parammaps': {
-          bigId: '@insertBigContractV2.LastInsertId',
-          pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-          pastureName: this.tab1.detailsSpareParts.detailsList.pastureName,
-          partId: '@insertSpotList.id',
-          partName: '@insertSpotList.partName',
-          partCode: '@insertSpotList.partCode',
-          specification: '@insertSpotList.specification',
-          price: '@insertSpotList.price',
-          brandId: '@insertSpotList.brandId',
-          brand: '@insertSpotList.brand',
-          planAmount: '@insertSpotList.planAmount',
-          remark: '@insertSpotList.remark',
-          unit: '@insertSpotList.unit',
-          contractId: '@insertSpotList.contractId',
-          taxcode: '@insertSpotList.taxcode'
-        }}
-        ExecDataByConfig(this.postDataPramas).then(response => {
-          console.log('新增保存发送参数', this.postDataPramas)
-          if (response.msg == 'fail') {
-            this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-          } else {
-            this.getTab1List2()
-            this.getPendingList()
-            this.tab1.detailsSpareParts.create.dialogFormVisible = false
-            this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-          }
-        })
-      } else {
-        this.$notify({ title: '', message: '请选择备件', type: 'warning', duration: 2000 })
-        return false
-      }
-    },
-    handleTab1Change2() {
-      console.log('备件明细-变更')
-      this.dialogStatus = 'tab1change2'
-      this.tab1.detailsSpareParts.create.dialogFormVisible = true
-      this.tab1.detailsSpareParts.listAdd = []
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.pastureId = this.tab1.detailsSpareParts.detailsList.pastureId
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.providerId = this.tab1.detailsSpareParts.detailsList.providerId
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.stopTime = this.tab1.detailsSpareParts.detailsList.stopTime
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.flag = this.tab1.detailsSpareParts.detailsList.flag
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.isZeroStock = this.tab1.detailsSpareParts.detailsList.isZeroStock
-      this.tab1.detailsSpareParts.requestSparePart.parammaps.statue = this.tab1.detailsSpareParts.detailsList.statue
-      this.tab1.detailsSpareParts.requestSparePart.name = 'getcontratListBybigParts'
-    },
-    changeData2() {
-      console.log('备件明细-变更保存')
-      if (this.tab1.detailsSpareParts.listAdd.length !== 0) {
-        for (let i = 0; i < this.tab1.detailsSpareParts.listAdd.length; i++) {
-          if (this.tab1.detailsSpareParts.listAdd[i].planAmount == null || this.tab1.detailsSpareParts.listAdd[i].brand == null || this.tab1.detailsSpareParts.listAdd[i].price == null || this.tab1.detailsSpareParts.listAdd[i].planAmount == '' || this.tab1.detailsSpareParts.listAdd[i].brand === '' || this.tab1.detailsSpareParts.listAdd[i].brandId === '' || this.tab1.detailsSpareParts.listAdd[i].price == '' || this.tab1.detailsSpareParts.listAdd[i].brand == undefined || this.tab1.detailsSpareParts.listAdd[i].brandId == undefined) {
-            this.$message({ type: 'warning', message: '请检查备件品牌或计划量或单价是否为空', duration: 2000 })
-            return false
-          } else {
-            var rulesPlanAmount = /^[1-9]\d*$/
-            if (!rulesPlanAmount.test(parseFloat(this.tab1.detailsSpareParts.listAdd[i].planAmount))) {
-              this.$message({ type: 'error', message: '计划量请输入正整数', duration: 2000 })
-              return false
-            } else {
-              if (parseFloat(this.tab1.detailsSpareParts.listAdd[i].price) == 0) {
-                this.$message({ type: 'warning', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                return false
-              } else {
-                var rulesPrice = /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,5})?$/
-                if (rulesPrice.test(this.tab1.detailsSpareParts.listAdd[i].price) == false) {
-                  this.$message({ type: 'error', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                  return false
-                }
-              }
-            }
-          }
-        }
-        this.postDataPramas = {}
-        this.postDataPramas.common = { 'returnmap': '0' }
-        this.postDataPramas.data = []
-        this.postDataPramas.data[0] = { 'name': 'insertBigContractV2', 'type': 'e', 'parammaps': {
-          pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-          flag: this.tab1.detailsSpareParts.detailsList.flag,
-          providerId: this.tab1.detailsSpareParts.detailsList.providerId,
-          providerName: this.tab1.detailsSpareParts.detailsList.providerName,
-          startTime: this.tab1.detailsSpareParts.detailsList.startTime,
-          stopTime: this.tab1.detailsSpareParts.detailsList.stopTime,
-          contractCode: '',
-          contractCode1: this.tab1.detailsSpareParts.detailsList.contractCode,
-          creatorId: Cookies.get('employeid'),
-          creatorMan: Cookies.get('employename'),
-          creatorTime: parseTime(new Date(), '{y}-{m}-{d}'),
-          isZeroStock: this.tab1.detailsSpareParts.detailsList.isZeroStock,
-          statue: this.tab1.detailsSpareParts.detailsList.statue,
-          remark: this.tab1.detailsSpareParts.detailsList.remark,
-          SHtype: 2
-        }}
-        this.postDataPramas.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.tab1.detailsSpareParts.listAdd }}
-        this.postDataPramas.data[1].children = []
-        this.postDataPramas.data[1].children[0] = { 'name': 'insertContractV2', 'type': 'e', 'parammaps': {
-          bigId: '@insertBigContractV2.LastInsertId',
-          pastureId: '@insertSpotList.pastureId',
-          pastureName: '@insertSpotList.pastureName',
-          partId: '@insertSpotList.partId',
-          partName: '@insertSpotList.partName',
-          partCode: '@insertSpotList.partCode',
-          specification: '@insertSpotList.specification',
-          price: '@insertSpotList.price',
-          brandId: '@insertSpotList.brandId',
-          brand: '@insertSpotList.brand',
-          planAmount: '@insertSpotList.planAmount',
-          remark: '@insertSpotList.remark',
-          unit: '@insertSpotList.unit',
-          contractId: '@insertSpotList.contractId',
-          taxcode: '@insertSpotList.taxcode'
-        }}
-        ExecDataByConfig(this.postDataPramas).then(response => {
-          console.log('新增保存发送参数', this.postDataPramas)
-          if (response.msg == 'fail') {
-            this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-          } else {
-            this.getTab1List2()
-            this.getPendingList()
-            this.tab1.detailsSpareParts.create.dialogFormVisible = false
-            this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-          }
-        })
-      } else {
-        this.$notify({ title: '', message: '请选择备件', type: 'warning', duration: 2000 })
-        return false
-      }
-    },
-    handleTab1Export2() {
-      console.log('备件明细-导出')
-      this.$alert('备件明细正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
-      this.isPercentage = true
-      this.percentage = 1
-      var timer = setInterval(() => {
-        this.percentage += 5
-        if (this.percentage > 95) {
-          this.percentage = 99
-          clearInterval(timer)
-          this.tab1.detailsSpareParts.getdataListParm.pagecount = 10
-        }
-        this.percentage = this.percentage
-      }, 1000)
-      this.tab1.detailsSpareParts.getdataListParm.pagecount = ''
-      GetDataByName(this.tab1.detailsSpareParts.getdataListParm).then(response => {
-        if (response.data.list !== '') {
-          this.percentage = 99
-          setTimeout(() => {
-            this.isPercentage = false
-          }, 2000)
-        }
-        if (response.data.list !== null) {
-          this.$nextTick(() => {
-            const ExcelDatas = [
-              {
-                tHeader: ['备件编号', '备件名称', '备件规格', '备件品牌', '计量单位', '计划量', '单价', '备注'],
-                filterVal: ['partCode', 'partName', 'specification', 'brand', 'unit', 'planAmount', 'price', 'remark'],
-                tableDatas: response.data.list,
-                sheetName: '合同管理-备件明细'
-              }
-            ]
-            json2excel(ExcelDatas, '合同管理-备件明细', true, 'xlsx')
-          })
-        }
-      })
-    },
-
-    // 变更记录
-    handleTab1ChangeRecord(row) {
-      console.log('变更记录')
-      this.tab1.detailsSpareParts.detailsList = Object.assign({}, row)
-      this.isContractManagement = false
-      this.isChangeRecord = true
-      this.tab1.changeRecord.getdataListParm.parammaps.pastureId = row.pastureId
-      this.tab1.changeRecord.getdataListParm.parammaps.providerId = row.providerId
-      this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = row.stopTime
-      this.tab1.changeRecord.getdataListParm.parammaps.flag = row.flag
-      this.tab1.changeRecord.getdataListParm.parammaps.isZeroStock = row.isZeroStock
-      this.tab1.changeRecord.getdataListParm.parammaps.statue = row.statue
-      this.tab1.changeRecord.getdataListParm.parammaps.contractCode = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.tab1InputDatetime3 = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.startTime = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.stopTime = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.SHtype = ''
-      this.tab1.changeRecord.getdataListParm.parammaps.stuteSH = ''
-      this.getTab1List3()
-    },
-    handleTab1goBack2() {
-      // this.reload()
-      this.isContractManagement = true
-      this.isChangeRecord = false
-      this.tab1.changeRecord.total = 0
-      // this.tab1.contractManagement.getdataListParm.offset = 1
-      this.getTab1List()
-    },
-    getTab1List3() {
-      this.tab1.changeRecord.listLoading = true
-      if (this.$refs['tab1InputDatetime3'] !== undefined && this.$refs['tab1InputDatetime3'].value !== null) {
-        this.tab1.changeRecord.getdataListParm.parammaps.startTime = this.$refs['tab1InputDatetime3'].value[0]
-        this.tab1.changeRecord.getdataListParm.parammaps.stopTime = this.$refs['tab1InputDatetime3'].value[1]
-      } else {
-        this.tab1.changeRecord.getdataListParm.parammaps.startTime = ''
-        this.tab1.changeRecord.getdataListParm.parammaps.stopTime = ''
-      }
-      GetDataByName(this.tab1.changeRecord.getdataListParm).then(response => {
-        this.tab1.changeRecord.list = response.data.list
-        this.tab1.changeRecord.pageNum = response.data.pageNum
-        this.tab1.changeRecord.pageSize = response.data.pageSize
-        if (response.data.list !== null) {
-          this.tab1.changeRecord.total = response.data.total
-        } else {
-          this.tab1.changeRecord.total = 0
-        }
-        setTimeout(() => {
-          this.tab1.changeRecord.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab1Filter3() {
-      this.tab1.changeRecord.listLoading = true
-      if (this.tab1.changeRecord.getdataListParm.parammaps.tab1InputDatetime3 == null) {
-        this.tab1.changeRecord.getdataListParm.parammaps.tab1InputDatetime3 = ''
-      }
-      this.tab1.changeRecord.getdataListParm.offset = 1
-      if (this.tab1.changeRecord.radioAll == '全部') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 2
-        this.getTab1List3()
-      } else if (this.tab1.changeRecord.radioAll == '待处理') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 0
-        this.getTab1List3()
-      } else if (this.tab1.changeRecord.radioAll == '已处理') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 1
-        this.getTab1List3()
-      }
-    },
-    changeChangeRecordAll() {
-      if (this.tab1.changeRecord.radioAll == '全部') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 2
-        this.getTab1List3()
-      } else if (this.tab1.changeRecord.radioAll == '待处理') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 0
-        this.getTab1List3()
-      } else if (this.tab1.changeRecord.radioAll == '已处理') {
-        this.tab1.changeRecord.getdataListParm.parammaps.SHnums = 1
-        this.getTab1List3()
-      }
-    },
-    handleTab1See3(row) {
-      console.log('变更记录-查看')
-      this.tab1.changeRecord.see.temp = Object.assign({}, row)
-      this.dialogStatus = 'tab1See2'
-      this.tab1.changeRecord.see.dialogFormVisible = true
-      if (row.SHtype == 0 || row.SHtype == 1 || row.SHtype == 2) {
-        this.tab1.changeRecord.see.getdataListParm.parammaps.id = row.id
-        this.getTab1List3See()
-      }
-      var reason = '未通过原因:' + this.tab1.changeRecord.see.temp.workflowNote
-      if (this.tab1.changeRecord.see.temp.SHStatus == 2) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核' }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 1
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 3) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 2
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 4) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson, status: 'error', reason: reason }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 2
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 5) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 2
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 6) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核' }]
-        this.tab1.changeRecord.see.active = 3
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 7) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核', date: this.tab1.changeRecord.see.temp.CGChargedate, name: this.tab1.changeRecord.see.temp.CGChargePerson }]
-        this.tab1.changeRecord.see.active = 4
-      } else if (this.tab1.changeRecord.see.temp.SHStatus == 8) {
-        this.tab1.changeRecord.see.activeList = [{ title: '合同录入', date: this.tab1.changeRecord.see.temp.creatorTime, name: this.tab1.changeRecord.see.temp.creatorMan }, { title: '供应主管审核', date: this.tab1.changeRecord.see.temp.chargeDate, name: this.tab1.changeRecord.see.temp.chargePerson }, { title: '设备中心审核', date: this.tab1.changeRecord.see.temp.CGChargedate, name: this.tab1.changeRecord.see.temp.CGChargePerson, status: 'error', reason: reason }]
-        this.tab1.changeRecord.see.active = 4
-      }
-    },
-    getTab1List3See() {
-      GetDataByName(this.tab1.changeRecord.see.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          this.tab1.changeRecord.see.pageNum = response.data.pageNum
-          this.tab1.changeRecord.see.pageSize = response.data.pageSize
-          if (response.data.total) {
-            this.tab1.changeRecord.see.total = response.data.total
-          }
-          for (let i = 0; i < response.data.list.length; i++) {
-            response.data.list[i].myid = new Date().getTime() + i
-            if (response.data.list[i].srcpath !== null && response.data.list[i].picpath !== null && response.data.list[i].srcpath !== undefined && response.data.list[i].picpath !== undefined) {
-              const srcpath = process.env.VUE_APP_BASE_API + response.data.list[i].srcpath
-              const picpath = process.env.VUE_APP_BASE_API + response.data.list[i].picpath
-              response.data.list[i].srcpath = srcpath
-              response.data.list[i].picpath = picpath
-            } else {
-              response.data.list[i].srcpath = ''
-              response.data.list[i].picpath = ''
-            }
-          }
-          this.tab1.changeRecord.see.list = response.data.list
-          this.tab1.detailsSpareParts.listAdd = response.data.list
-        } else {
-          this.tab1.changeRecord.see.list = []
-          this.tab1.detailsSpareParts.listAdd = []
-        }
-        setTimeout(() => {
-          this.tab1.changeRecord.see.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab1Update3(row) {
-      console.log('变更记录-编辑', row)
-      this.tab1.detailsSpareParts.updateList = Object.assign({}, row)
-      this.tab1.detailsSpareParts.create.temp = Object.assign({}, row)
-      this.dialogStatus = 'tab1Update2'
-      this.tab1.detailsSpareParts.create.dialogFormVisible = true
-      this.tab1.changeRecord.see.getdataListParm.parammaps.id = row.id
-      this.getTab1List3See()
-      if (row.SHtype == 1) {
-        this.tab1.detailsSpareParts.requestSparePart.name = 'getcontratListBybigALLParts'
-        this.tab1.detailsSpareParts.requestSparePart.parammaps = {}
-      } else {
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.pastureId = this.tab1.detailsSpareParts.detailsList.pastureId
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.providerId = this.tab1.detailsSpareParts.detailsList.providerId
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.stopTime = this.tab1.detailsSpareParts.detailsList.stopTime
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.flag = this.tab1.detailsSpareParts.detailsList.flag
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.isZeroStock = this.tab1.detailsSpareParts.detailsList.isZeroStock
-        this.tab1.detailsSpareParts.requestSparePart.parammaps.statue = this.tab1.detailsSpareParts.detailsList.statue
-        this.tab1.detailsSpareParts.requestSparePart.name = 'getcontratListBybigParts'
-      }
-    },
-    edit_dialog_save2() {
-      console.log('编辑保存')
-      // 新增合同 || 变更日期
-      if (this.tab1.detailsSpareParts.updateList.SHtype == 0 || this.tab1.detailsSpareParts.updateList.SHtype == 3) {
-        this.postDataPramas = {}
-        this.postDataPramas.common = { 'returnmap': '0' }
-        this.postDataPramas.data = []
-        this.postDataPramas.data[0] = { 'name': 'updateBigcontractV2', 'type': 'e', 'parammaps': {
-          id: this.tab1.detailsSpareParts.create.temp.id,
-          startTime: this.tab1.detailsSpareParts.create.temp.startTime,
-          stopTime: this.tab1.detailsSpareParts.create.temp.stopTime,
-          isZeroStock: this.tab1.detailsSpareParts.create.temp.isZeroStock,
-          remark: this.tab1.detailsSpareParts.create.temp.remark,
-          stopTimeHis: this.tab1.detailsSpareParts.create.temp.stopTimeHis
-        }}
-        ExecDataByConfig(this.postDataPramas).then(response => {
-          console.log('新增保存发送参数', this.postDataPramas)
-          if (response.msg == 'fail') {
-            this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-          } else {
-            if (this.tab1.detailsSpareParts.updateList.SHtype == 0) {
-              this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = this.tab1.detailsSpareParts.create.temp.stopTime
-            }
-            this.getTab1List3()
-            this.getPendingList()
-            this.tab1.detailsSpareParts.create.dialogFormVisible = false
-            this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-          }
-        })
-      } else {
-        if (this.tab1.detailsSpareParts.listAdd.length !== 0) {
-          for (let i = 0; i < this.tab1.detailsSpareParts.listAdd.length; i++) {
-            if (this.tab1.detailsSpareParts.listAdd[i].planAmount == null || this.tab1.detailsSpareParts.listAdd[i].brand == null || this.tab1.detailsSpareParts.listAdd[i].price == null || this.tab1.detailsSpareParts.listAdd[i].planAmount == '' || this.tab1.detailsSpareParts.listAdd[i].brand == '' || this.tab1.detailsSpareParts.listAdd[i].brandId === '' || this.tab1.detailsSpareParts.listAdd[i].price == '' || this.tab1.detailsSpareParts.listAdd[i].brand == undefined || this.tab1.detailsSpareParts.listAdd[i].brandId == undefined) {
-              console.log(this.tab1.detailsSpareParts.listAdd[i])
-              this.$message({ type: 'warning', message: '请检查备件品牌或计划量或单价是否为空', duration: 2000 })
-              return false
-            } else {
-              var rulesPlanAmount = /^[1-9]\d*$/
-              if (!rulesPlanAmount.test(parseFloat(this.tab1.detailsSpareParts.listAdd[i].planAmount))) {
-                this.$message({ type: 'error', message: '计划量请输入正整数', duration: 2000 })
-                return false
-              } else {
-                if (parseFloat(this.tab1.detailsSpareParts.listAdd[i].price) == 0) {
-                  this.$message({ type: 'warning', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                  return false
-                } else {
-                  var rulesPrice = /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,5})?$/
-                  if (rulesPrice.test(this.tab1.detailsSpareParts.listAdd[i].price) == false) {
-                    this.$message({ type: 'error', message: '价格请输入正数,最多保留小数点后五位', duration: 2000 })
-                    return false
-                  }
-                }
-              }
-            }
-          }
-          this.postDataPramas = {}
-          this.postDataPramas.common = { 'returnmap': '0' }
-          this.postDataPramas.data = []
-          this.postDataPramas.data[0] = { 'name': 'deleteContract', 'type': 'e', 'parammaps': {
-            bigId: this.tab1.detailsSpareParts.updateList.id
-          }}
-          this.postDataPramas.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.tab1.detailsSpareParts.listAdd }}
-          this.postDataPramas.data[1].children = []
-
-          if (this.tab1.detailsSpareParts.updateList.SHtype == 2) {
-            this.postDataPramas.data[1].children[0] = { 'name': 'insertContractV2', 'type': 'e', 'parammaps': {
-              bigId: this.tab1.detailsSpareParts.updateList.id,
-              pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-              pastureName: this.tab1.detailsSpareParts.detailsList.pastureName,
-              partId: '@insertSpotList.id',
-              partName: '@insertSpotList.partName',
-              partCode: '@insertSpotList.partCode',
-              specification: '@insertSpotList.specification',
-              price: '@insertSpotList.price',
-              brandId: '@insertSpotList.brandId',
-              brand: '@insertSpotList.brand',
-              planAmount: '@insertSpotList.planAmount',
-              remark: '@insertSpotList.remark',
-              unit: '@insertSpotList.unit',
-              contractId: '@insertSpotList.contractId',
-              taxcode: '@insertSpotList.taxcode'
-            }}
-          } else {
-            this.postDataPramas.data[1].children[0] = { 'name': 'checkcontracPartCode', 'type': 'v', 'parammaps': { pastureId: this.tab1.detailsSpareParts.detailsList.pastureId, providerId: this.tab1.detailsSpareParts.detailsList.providerId, stopTime: this.tab1.detailsSpareParts.detailsList.stopTime, flag: this.tab1.detailsSpareParts.detailsList.flag, isZeroStock: this.tab1.detailsSpareParts.detailsList.isZeroStock, statue: this.tab1.detailsSpareParts.detailsList.statue, partCode: '@insertSpotList.partCode', brandId: '@insertSpotList.brandId' }}
-            this.postDataPramas.data[1].children[1] = { 'name': 'insertContractV2', 'type': 'e', 'parammaps': {
-              bigId: this.tab1.detailsSpareParts.updateList.id,
-              pastureId: this.tab1.detailsSpareParts.detailsList.pastureId,
-              pastureName: this.tab1.detailsSpareParts.detailsList.pastureName,
-              partId: '@insertSpotList.id',
-              partName: '@insertSpotList.partName',
-              partCode: '@insertSpotList.partCode',
-              specification: '@insertSpotList.specification',
-              price: '@insertSpotList.price',
-              brandId: '@insertSpotList.brandId',
-              brand: '@insertSpotList.brand',
-              planAmount: '@insertSpotList.planAmount',
-              remark: '@insertSpotList.remark',
-              unit: '@insertSpotList.unit',
-              contractId: '@insertSpotList.contractId',
-              // taxcode: '@insertSpotList.taxcode'
-            }}
-          }
-          this.postDataPramas.data[2] = { 'name': 'updateBigcontract', 'type': 'e', 'parammaps': {
-            id: this.tab1.detailsSpareParts.updateList.id
-          }}
-          ExecDataByConfig(this.postDataPramas).then(response => {
-            console.log('新增保存发送参数', this.postDataPramas)
-            if (response.msg == 'fail') {
-              this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-            } else {
-              this.getTab1List3()
-              this.getPendingList()
-              this.tab1.detailsSpareParts.create.dialogFormVisible = false
-              this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-            }
-          })
-        } else {
-          this.$notify({ title: '', message: '请选择备件', type: 'warning', duration: 2000 })
-          return false
-        }
-      }
-    },
-    changeExamineStatue(val) {
-      if (val == 2) {
-        this.tab1.changeRecord.examine.isReason = true
-      } else {
-        this.tab1.changeRecord.examine.isReason = false
-      }
-    },
-    // 审核1
-    handleTab1Examine(row) {
-      console.log('变更记录-审核')
-      this.dialogStatus = 'tab1examine'
-      this.tab1.changeRecord.examine.dialogFormVisible = true
-      this.tab1.changeRecord.examine.temp = Object.assign({}, row)
-      this.tab1.changeRecord.examine.isReason = false
-      if (row == undefined) {
-        this.tab1.changeRecord.examine.temp = this.tab1.changeRecord.see.temp
-        this.$set(this.tab1.changeRecord.see.temp, 'statueSH', 1)
-        this.$set(this.tab1.changeRecord.see.temp, 'workflowNote', '')
-      } else {
-        this.tab1.changeRecord.examine.temp = Object.assign({}, row)
-        this.$set(this.tab1.changeRecord.examine.temp, 'statueSH', 1)
-        this.$set(this.tab1.changeRecord.examine.temp, 'workflowNote', '')
-      }
-      this.keyupSubmit()
-    },
-    keyupSubmit() {
-      if (this.dialogStatus == 'tab1examine' || this.dialogStatus == 'tab1examine2' || this.dialogStatus == 'tab1examine3') {
-        document.onkeydown = e => {
-          const _key = window.event.keyCode
-          if (_key === 13) {
-            if (this.dialogStatus == 'tab1examine') {
-              this.createExamineData()
-            } else {
-              this.createExamineData3()
-            }
-          }
-        }
-      }
-    },
-    createExamineData() {
-      console.log('点击了设备主管审核确认1')
-      this.isokDisable = true
-      setTimeout(() => {
-        this.isokDisable = false
-      }, 1000)
-      this.$refs['examineTemp'].validate(valid => {
-        if (valid) {
-          this.postDataPramas = {}
-          this.postDataPramas.name = 'contractCharge'
-          this.postDataPramas.parammaps = {}
-          this.postDataPramas.parammaps.id = this.tab1.changeRecord.examine.temp.id
-          if (this.tab1.changeRecord.examine.temp.statueSH === 1) {
-            this.postDataPramas.parammaps.statue = 5
-          } else {
-            this.postDataPramas.parammaps.statue = 4
-          }
-          this.postDataPramas.parammaps.empId	 = Cookies.get('employeid')
-          this.postDataPramas.parammaps.workflowNote = this.tab1.changeRecord.examine.temp.workflowNote
-          PostDataByName(this.postDataPramas).then(response => {
-            console.log('设备主管审核确认发送参数', this.postDataPramas)
-            if (response.msg !== 'fail') {
-              this.tab1.changeRecord.examine.dialogFormVisible = false
-              this.tab1.changeRecord.see.dialogFormVisible = false
-              this.tab1.changeRecord.isStatueReason = false
-              this.$notify({ title: '成功', message: '审核成功', type: 'success', duration: 2000 })
-              this.getTab1List3()
-              this.getTab1List()
-              this.getPendingList()
-            } else {
-              failproccess(response, this.$notify)
-            }
-          })
-        }
-      })
-    },
-    // 审核2
-    handleTab1Examine3(row) {
-      console.log(' 变更记录-审核3')
-      if (row == undefined) {
-        this.tab1.changeRecord.examine.temp = this.tab1.changeRecord.see.temp
-        this.$set(this.tab1.changeRecord.see.temp, 'statueSH', 1)
-        this.$set(this.tab1.changeRecord.see.temp, 'workflowNote', '')
-      } else {
-        this.tab1.changeRecord.examine.temp = Object.assign({}, row)
-        this.$set(this.tab1.changeRecord.examine.temp, 'statueSH', 1)
-        this.$set(this.tab1.changeRecord.examine.temp, 'workflowNote', '')
-      }
-      this.dialogStatus = 'tab1examine3'
-      this.tab1.changeRecord.examine.dialogFormVisible = true
-      this.tab1.changeRecord.examine.isReason = false
-      this.keyupSubmit()
-    },
-    createExamineData3() {
-      console.log('点击了设备中心审核确认3')
-      this.isokDisable = true
-      setTimeout(() => {
-        this.isokDisable = false
-      }, 1000)
-      this.$refs['examineTemp'].validate(valid => {
-        if (valid) {
-          this.postDataPramas = {}
-          this.postDataPramas.common = { 'returnmap': '0' }
-          this.postDataPramas.data = []
-          if (this.tab1.changeRecord.examine.temp.statueSH == 1) {
-            this.postDataPramas.data[0] = { 'name': 'contractCharge1', 'type': 'e', 'parammaps': {
-              statue: 7,
-              empId: Cookies.get('employeid'),
-              workflowNote: this.tab1.changeRecord.examine.temp.workflowNote,
-              id: this.tab1.changeRecord.examine.temp.id
-            }}
-            if (this.tab1.changeRecord.examine.temp.SHtype == 1 || this.tab1.changeRecord.examine.temp.SHtype == 2) {
-              this.postDataPramas.data[1] = { 'name': 'updateContractEnable', 'type': 'e', 'parammaps': {
-                id: this.tab1.changeRecord.examine.temp.id
-              }}
-            } else if (this.tab1.changeRecord.examine.temp.SHtype == 3) {
-              this.postDataPramas.data[1] = { 'name': 'updatecontractdate', 'type': 'e', 'parammaps': {
-                pastureId: this.tab1.changeRecord.examine.temp.pastureId,
-                providerId: this.tab1.changeRecord.examine.temp.providerId,
-                stopTimeHis: this.tab1.changeRecord.examine.temp.stopTimeHis,
-                flag: this.tab1.changeRecord.examine.temp.flag,
-                isZeroStock: this.tab1.changeRecord.examine.temp.isZeroStock,
-                statue: this.tab1.changeRecord.examine.temp.statue,
-                startTime: this.tab1.changeRecord.examine.temp.startTime,
-                stopTime: this.tab1.changeRecord.examine.temp.stopTime,
-                id: this.tab1.changeRecord.examine.temp.id
-              }}
-            }
-          } else {
-            this.postDataPramas.data[0] = { 'name': 'contractCharge1', 'type': 'e', 'parammaps': {
-              statue: 8,
-              empId: Cookies.get('employeid'),
-              workflowNote: this.tab1.changeRecord.examine.temp.workflowNote,
-              id: this.tab1.changeRecord.examine.temp.id
-            }}
-          }
-          ExecDataByConfig(this.postDataPramas).then(response => {
-            console.log('新增保存发送参数', this.postDataPramas)
-            if (response.msg === 'fail') {
-              this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
-            } else {
-              if (this.postDataPramas.data[0].parammaps.statue == 7) {
-                if (this.tab1.changeRecord.examine.temp.SHtype == 3) {
-                  this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = this.tab1.changeRecord.examine.temp.stopTimeHis
-                } else {
-                  this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = this.tab1.changeRecord.examine.temp.stopTime
-                }
-              } else {
-                this.tab1.changeRecord.getdataListParm.parammaps.stopTime1 = this.tab1.detailsSpareParts.detailsList.stopTime
-              }
-              this.tab1.changeRecord.examine.dialogFormVisible = false
-              this.tab1.changeRecord.see.dialogFormVisible = false
-              this.tab1.changeRecord.examine.isStatueReason = false
-              this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
-              this.getTab1List3()
-              this.getTab1List()
-              this.getPendingList()
-            }
-          })
-        }
-      })
-    },
-    handleTab1Delete3(row) {
-      console.log('变更记录-删除')
-      console.log('点击了删除')
-      MessageBox.confirm('确认删除此条信息?', {
-        confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
-      }).then(() => {
-        this.postDataPramas = {}
-        this.postDataPramas.common = { 'returnmap': '0' }
-        this.postDataPramas.data = []
-        this.postDataPramas.data[0] = { 'name': 'deleteBigContract', 'type': 'e', 'parammaps': {
-          id: row.id
-        }}
-        this.postDataPramas.data[1] = { 'name': 'deleteContract', 'type': 'e', 'parammaps': {
-          bigId: row.id
-        }}
-        ExecDataByConfig(this.postDataPramas).then(response => {
-          this.$notify({ title: '成功', message: '删除成功', type: 'success', duration: 2000 })
-          this.getTab1List3()
-          this.getPendingList()
-        })
-      }).catch(() => {
-        this.$message({ type: 'info', message: '已取消删除' })
-      })
-    },
-
-    // 合同明细
-    getTab2List() {
-      this.tab2.listLoading = true
-      if (this.$refs['inputDatetime'] !== undefined && this.$refs['inputDatetime'].value !== null) {
-        this.tab2.getdataListParm.parammaps.startTime = this.$refs['inputDatetime'].value[0]
-        this.tab2.getdataListParm.parammaps.stopTime = this.$refs['inputDatetime'].value[1]
-      } else {
-        this.tab2.getdataListParm.parammaps.startTime = ''
-        this.tab2.getdataListParm.parammaps.stopTime = ''
-      }
-      GetDataByName(this.tab2.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          this.tab2.list = response.data.list
-          this.tab2.pageNum = response.data.pageNum
-          this.tab2.pageSize = response.data.pageSize
-          if (response.data.total) {
-            this.tab2.total = response.data.total
-          }
-        } else {
-          this.tab2.list = []
-        }
-        setTimeout(() => {
-          this.tab2.listLoading = false
-        }, 300)
-      })
-    },
-    handleTab2Filter() {
-      this.listLoading2 = true
-      if (this.tab2.getdataListParm.parammaps.inputDatetime === null) {
-        this.tab2.getdataListParm.parammaps.inputDatetime = ''
-      }
-      this.tab2.getdataListParm.offset = 1
-      this.getTab2List()
-    },
-    handleTab2Export() {
-      this.$alert('合同明细正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
-      this.isPercentage = true
-      this.percentage = 1
-      var timer = setInterval(() => {
-        this.percentage += 5
-        if (this.percentage > 95) {
-          this.percentage = 99
-          clearInterval(timer)
-        }
-        this.percentage = this.percentage
-      }, 1000)
-      if (this.$refs['inputDatetime'] !== undefined && this.$refs['inputDatetime'].value !== null) {
-        this.tab2.getdataListParm.parammaps.startTime = this.$refs['inputDatetime'].value[0]
-        this.tab2.getdataListParm.parammaps.stopTime = this.$refs['inputDatetime'].value[1]
-      } else {
-        this.tab2.getdataListParm.parammaps.startTime = ''
-        this.tab2.getdataListParm.parammaps.stopTime = ''
-      }
-      this.tab2.getdataListParm.pagecount = ''
-      GetDataByName(this.tab2.getdataListParm).then(response => {
-        if (response.data.list !== null) {
-          for (let i = 0; i < response.data.list.length; i++) {
-            if (response.data.list[i].isZeroStock == 0) {
-              response.data.list[i].isZeroStock = '否'
-            } else {
-              response.data.list[i].isZeroStock = '是'
-            }
-          }
-          this.percentage = 99
-          setTimeout(() => {
-            this.isPercentage = false
-          }, 2000)
-        } else {
-          this.percentage = 99
-          setTimeout(() => {
-            this.isPercentage = false
-          }, 2000)
-        }
-        this.tab2.getdataListParm.pagecount = 10
-        this.$nextTick(() => {
-          const ExcelDatas = [
-            {
-              tHeader: ['牧场', '合同编号', '合同状态', '供应商', '合同开始日期', '合同截止日期', '零库存', '备件编号', '备件名称', '规格', '备件品牌', '计量单位', '计划量', '单价', '备注', '录入人', '录入日期'],
-              filterVal: ['pastureName', 'contractCode', 'statue', 'providerName', 'startTime', 'stopTime', 'isZeroStock', 'partCode', 'partName', 'specification', 'brand', 'unit', 'planAmount', 'price', 'remark', 'creatorMan', 'creatorTime'],
-              tableDatas: response.data.list,
-              sheetName: '合同明细'
-            }
-          ]
-          json2excel(ExcelDatas, '合同明细', true, 'xlsx')
-        })
-      })
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-  /deep/ .el-badge__content.is-fixed{
-    z-index: 1;
-  }
-</style>

+ 2 - 2
src/views/custom/custom/index.vue

@@ -1182,9 +1182,9 @@ export default {
             }
             // const list1 = this.downList
             const tHeader = [
-              '牧场', '备件名称', '备件编号', '规格', '供应商', '单位', '品牌', '单价', '当前库存', '在库天数','最小库存', '最大库存', '位置', '状态', '合同状态', '零库存']
+              '牧场', '备件名称', '备件编号', '规格', '供应商', '单位', '品牌', '单价', '当前库存', '在库天数','闲置备件','最小库存', '最大库存', '位置', '合同状态', '零库存']
             const filterVal = [
-              'pastureName', 'partName', 'partCode', 'specification', 'providerName', 'unit', 'brand', 'price', 'reportery', 'daysInStorage','minRepertory', 'maxRepertory', 'location', 'statue', 'isZeroStock']
+              'pastureName', 'partName', 'partCode', 'specification', 'providerName', 'unit', 'brand', 'price', 'reportery', 'daysInStorage','xzparts','minRepertory', 'maxRepertory', 'location', 'statue', 'isZeroStock']
             const data1 = this.formatJsonTemp(filterVal, list1)
 
             excel.export_json_to_excel({

+ 7 - 1
src/views/custom/outStock/index.vue

@@ -122,6 +122,7 @@
             <el-table-column   prop="sterilisation" label="冲销状态" min-width="80px" align="center">
               <template slot-scope="scope">
                 <span v-if="scope.row.sterilisation == 1">已冲销</span>
+                <span v-else-if="scope.row.sterilisation == 2">部分冲销</span>
                 <span v-else>未冲销</span>
               </template>
             </el-table-column>
@@ -1085,7 +1086,7 @@ export default {
       // isStorageExport: [],
       // isStorageSee: [],
       tableKey: 0,
-      useTypes: [{ id: '0', name: '领用出库' }, { id: '1', name: '手动出库' }, { id: '4', name: '调拨出库' }, { id: '5', name: '报废出库' }],
+      useTypes: [{ id: '0', name: '领用出库' }, { id: '1', name: '手动出库' }, { id: '4', name: '调拨出库' }, { id: '5', name: '报废出库' }, { id: '6', name: '青贮出库' }],
       // list2: [
       //   {
       //     orderNumber: '04.04.17.01.000069', stockName: '水箱', specifications: 'YC4E140-31', brand: '福田', supplier: '西安开泰门业有限', deviceName: '华农转盘机', equipmentNumber: '8.hnzpj004', unit: '个', storehouse: 'B-01-01', amount: '4', receivedQuantity: '3', currentStockQuantity: '1', price: '200', totalPrice: '600'
@@ -3324,3 +3325,8 @@ export default {
   }
 
 </style>
+<style lang="scss">
+  .el-notification__content {
+      white-space: pre-line !important;
+    }
+</style>

+ 2 - 1
src/views/custom/returngoods/index.vue

@@ -533,9 +533,10 @@
               <span>{{ scope.row.sumPrice }}</span>
             </template>
           </el-table-column>
-          <el-table-column     prop="dflag" label="冲销状态" min-width="80px" align="center">
+          <el-table-column prop="dflag" label="冲销状态" min-width="80px" align="center">
               <template slot-scope="scope">
                 <span v-if="scope.row.dflag == 1">已冲销</span>
+                <span v-else-if="scope.row.dflag == 2">部分冲销</span>
                 <span v-else>未冲销</span>
               </template>
             </el-table-column>

+ 1 - 0
src/views/custom/storage/index.vue

@@ -108,6 +108,7 @@
             <el-table-column   prop="sterilisation" label="冲销状态" min-width="80px" align="center">
               <template slot-scope="scope">
                 <span v-if="scope.row.sterilisation == 1">已冲销</span>
+                <span v-else-if="scope.row.sterilisation == 2">部分冲销</span>
                 <span v-else>未冲销</span>
               </template>
             </el-table-column>

+ 179 - 43
src/views/custom/subscribe/index.vue

@@ -186,9 +186,177 @@
                 <el-input ref="providerName" v-model="createTemp.providerName" disabled />
               </el-form-item>
             </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="16">
+              <el-form-item label="备件:" prop="partCode">
+                <el-autocomplete
+                  v-model="createTemp.partCode"
+                  value-key="name"
+                  class="inline-input"
+                  :fetch-suggestions="sparePartSearch"
+                  placeholder="请输入备件编号或备件名称或备件规格"
+                  style="width:100%"
+                  ref="autocomplete"
+                  @select="handleSelectSparePart"
+                >
+                  <template slot-scope="{ item }">
+                    <b>备件编号:</b><div class="name" style="display: inline;">{{ item.partCode }}</div>&nbsp;
+                    |  &nbsp;<b>备件名称:</b><span class="addr">{{ item.partName }}</span>&nbsp;
+                    |  &nbsp;<b>备件规格:</b><span class="addr">{{ item.specification }}</span>
+                  </template>
+                </el-autocomplete>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <el-table
+          :key="tableKey"
+          v-loading="listLoading"
+          element-loading-text="给我一点时间"
+          :data="listAdd"
+          border
+          fit
+          highlight-current-row
+          style="width: 100%;margin-bottom:30px"
+          :row-style="rowStyle"
+          :cell-style="cellStyle"
+          class="elTable"
+        >
+          <!-- table表格 -->
+          <el-table-column label="序号" align="center" type="index" width="50px" />
+          <el-table-column label="备件编号" prop="partCode" align="center" min-width="90">
+            <template slot-scope="scope">
+              <span>{{ scope.row.partCode }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="备件名称" prop="partName" align="center" min-width="90">
+            <template slot-scope="scope">
+              <span>{{ scope.row.partName }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="备件规格" prop="specification" min-width="80px" align="center">
+            <template slot-scope="scope">
+              <span>{{ scope.row.specification }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="备件图片" prop="picpath" min-width="110px" align="center">
+            <template slot-scope="scope">
+              <el-popover placement="right" title="" trigger="hover">
+                <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
+                <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
+              </el-popover>
+            </template>
+          </el-table-column>
+          <el-table-column label="备件品牌" prop="brand" align="center" min-width="60">
+            <template slot-scope="scope">
+              <span v-if="dialogStatus==='create'">{{ scope.row.brandName }}</span>
+              <span v-if="dialogStatus==='update'">{{ scope.row.brandName }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="计量单位" prop="unit" align="center" min-width="60">
+            <template slot-scope="scope">
+              <span>{{ scope.row.unit }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="现有库存" prop="reportery" align="center" min-width="60">
+            <template slot-scope="scope">
+              <span v-if="createTemp.providerId == '' || parseFloat(createTemp.purchaseType) > 0">{{ scope.row.reportery }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="价格" prop="price" align="center" min-width="60">
+            <template slot-scope="scope">
+              <span v-if="createTemp.providerId == ''">{{ scope.row.price }}</span>
+              <el-form v-else :model="scope.row" :rules="rules">
+                <el-form-item prop="price">
+                  <el-input v-model="scope.row.price" style="margin-top:15px" />
+                </el-form-item>
+              </el-form>
+            </template>
+          </el-table-column>
+          <el-table-column label="申购数量" min-width="120px" align="center" valign="middle">
+            <template slot-scope="scope">
+              <el-form :model="scope.row" :rules="rules">
+                <el-form-item prop="amount">
+                  <el-input v-model="scope.row.amount" style="margin-top:15px" />
+                </el-form-item>
+              </el-form>
+            </template>
+          </el-table-column>
+          <el-table-column label="备注" min-width="110px" align="center" valign="middle">
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.purpose" />
+            </template>
+          </el-table-column>
+          <el-table-column label="使用周期" min-width="120px" align="center" prop="lifeCycle" />
+          <el-table-column label="合同差异项" min-width="120px" align="center" prop="contractVarianceItem" />
+          <el-table-column
+            label="操作"
+            align="center"
+            width="100"
+            class-name="small-padding fixed-width"
+            fixed="right"
+          >
+            <template slot-scope="{row}">
+              <a class="del" @click="partDelete(row)">删除</a>
+            </template>
+          </el-table-column>
+        </el-table>
+        <div slot="footer" class="dialog-footer" style="bottom:10px">
+          <el-button type="primary" :disabled="isokDisable" v-if="dialogStatus==='create'" @click="add_dialog_save()">保存并关闭</el-button>
+          <el-button type="primary" :disabled="isokDisable" v-else-if="dialogStatus==='update'" @click="edit_dialog_save()">保存并关闭</el-button>
+          <el-button @click="dialogFormVisible = false;get_table_data()">取消并关闭</el-button>
+        </div>
+      </div>
+    </el-dialog>
+    <!-- 特殊申购 -->
+    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible2" :close-on-click-modal="false" width="90%">
+      <div class="app-container">
+        <el-form
+          ref="createTemp"
+          :rules="rules"
+          :model="createTemp"
+          label-position="right"
+          label-width="100px"
+          style="width: 90%;margin:0 auto;"
+        >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="申购单号:" prop="orderNumber">
+                <el-input ref="orderNumber" v-model="createTemp.orderNumber" disabled />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="牧场:" prop="pastureId">
+                <el-select v-model="createTemp.pastureId" placeholder="牧场" class="filter-item" style="width:100%" :disabled="dialogStatus==='update'" @change="changePasture">
+                  <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.id" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="申购部门:" prop="departmentId">
+                <el-select v-model="createTemp.departmentId" placeholder="申购部门" class="filter-item" style="width:100%" :disabled="dialogStatus==='update'" @change="changeDepart">
+                  <el-option v-for="item in createDepartList" :key="item.id" :label="item.name" :value="item.id" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="申购人:" prop="employeId">
+                <el-select v-model="createTemp.employeId" placeholder="申购人" class="filter-item" style="width:100%" :disabled="dialogStatus==='update'">
+                  <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="申购日期:" prop="createTime">
+                <el-date-picker v-model="createTemp.createTime" :picker-options="pickerOptions" type="date" placeholder="申购日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width:100%" :disabled="dialogStatus==='update'" />
+              </el-form-item>
+            </el-col>
             <el-col v-if="dialogStatus==='special' && createTemp.purchaseType == '1' || createTemp.purchaseType == '3'" :span="8">
               <el-form-item label="供应商:" prop="providerId">
-                <el-select v-model="createTemp.providerId" placeholder="供应商" class="filter-item" style="width:100%" :disabled="dialogStatus==='update'">
+                <el-select v-model="createTemp.providerId" filterable placeholder="供应商" class="filter-item" style="width:100%" :disabled="dialogStatus==='update'">
                   <el-option v-for="item in providerList" :key="item.id" :label="item.providerName" :value="item.id" />
                 </el-select>
               </el-form-item>
@@ -281,8 +449,6 @@
           </el-table-column>
           <el-table-column label="备件品牌" prop="brand" align="center" min-width="60">
             <template slot-scope="scope">
-              <span v-if="dialogStatus==='create'">{{ scope.row.brandName }}</span>
-              <span v-if="dialogStatus==='update'">{{ scope.row.brandName }}</span>
               <span v-if="dialogStatus==='special'">{{ scope.row.brandName }}</span>
             </template>
           </el-table-column>
@@ -306,20 +472,6 @@
               </el-form>
             </template>
           </el-table-column>
-          <el-table-column v-else label="价格" prop="price" align="center" min-width="60">
-            <template slot-scope="scope">
-              <span v-if="createTemp.providerId == ''">{{ scope.row.price }}</span>
-              <!-- 修改后 -->
-              <!-- <div v-if="createTemp.providerId == ''" v-for="item in scope.row.price" style="white-space: nowrap;">{{item}}</div> -->
-              <el-form v-else :model="scope.row" :rules="rules">
-                <el-form-item prop="price">
-                  <el-input v-model="scope.row.price" style="margin-top:15px" />
-                </el-form-item>
-              </el-form>
-            </template>
-          </el-table-column>
-          <el-table-column label="使用周期" min-width="120px" align="center" prop="lifeCycle" />
-          <el-table-column label="合同差异项" min-width="120px" align="center" prop="contractVarianceItem" />
           <el-table-column label="申购数量" min-width="120px" align="center" valign="middle">
             <template slot-scope="scope">
               <el-form :model="scope.row" :rules="rules">
@@ -334,6 +486,8 @@
               <el-input v-model="scope.row.purpose" />
             </template>
           </el-table-column>
+          <el-table-column label="使用周期" min-width="120px" align="center" prop="lifeCycle" />
+          <el-table-column label="合同差异项" min-width="120px" align="center" prop="contractVarianceItem" />
           <el-table-column
             label="操作"
             align="center"
@@ -347,10 +501,8 @@
           </el-table-column>
         </el-table>
         <div slot="footer" class="dialog-footer" style="bottom:10px">
-          <el-button type="primary" :disabled="isokDisable" v-if="dialogStatus==='create'" @click="add_dialog_save()">保存并关闭</el-button>
-          <el-button type="primary" :disabled="isokDisable" v-else-if="dialogStatus==='update'" @click="edit_dialog_save()">保存并关闭</el-button>
-          <el-button type="primary" :disabled="isokDisable" v-else-if="dialogStatus==='special'" @click="special_dialog_save()">保存并关闭</el-button>
-          <el-button @click="dialogFormVisible = false;get_table_data()">取消并关闭</el-button>
+          <el-button type="primary" :disabled="isokDisable" v-if="dialogStatus==='special'" @click="special_dialog_save()">保存并关闭</el-button>
+          <el-button @click="dialogFormVisible2 = false;get_table_data()">取消并关闭</el-button>
         </div>
       </div>
     </el-dialog>
@@ -476,15 +628,9 @@
           </el-table-column>
           <el-table-column label="现有库存" sortable prop="storageAmount" align="center" min-width="60" />
           <el-table-column label="价格" sortable prop="price" align="center" min-width="60" />
-          <!-- 修改后 -->
-          <!-- <el-table-column label="价格" prop="price" align="center" min-width="60">
-            <template slot-scope="scope">
-              <div v-for="item in scope.row.price" style="white-space: nowrap;">{{item}}</div>
-            </template>
-          </el-table-column> -->
           <el-table-column label="申购数量" sortable prop="amount" align="center" min-width="60" />
-          <!-- <el-table-column label="使用周期" min-width="120px" align="center" prop="lifeCycle" />
-          <el-table-column label="合同差异项" min-width="120px" align="center" prop="contractVarianceItem" /> -->
+          <el-table-column label="使用周期" min-width="120px" align="center" prop="lifeCycle" />
+          <el-table-column label="合同差异项" min-width="120px" align="center" prop="contractVarianceItem" />
           <el-table-column label="备注" min-width="110px" align="center" prop="purpose" />
         </el-table>
         <el-form
@@ -722,6 +868,7 @@ export default {
       list: [],
       dialogStatus: '',
       dialogFormVisible: false,
+      dialogFormVisible2: false,
       dialogFormVisibleSee: false,
       listLoadingSee: true,
       listSee: [],
@@ -1170,8 +1317,6 @@ export default {
               this.$nextTick(() => {
                 console.log('新增根据编号获取备件库存数量', response.data.list[0])
                 item = response.data.list[0]
-                console.log('item==>1',item.price)
-                // var price = item.price.split(",")
                 if (item.srcpath !== null && item.picpath !== null && item.srcpath !== undefined && item.picpath !== undefined) {
                   this.$set(item, 'srcpath', process.env.VUE_APP_BASE_API + item.srcpath)
                   this.$set(item, 'picpath', process.env.VUE_APP_BASE_API + item.picpath)
@@ -1179,7 +1324,6 @@ export default {
                   item.srcpath = ''
                   item.picpath = ''
                 }
-                // this.$set(item, 'price', price)
                 this.$set(item, 'amount', '')
                 this.$set(item, 'purpose', '')
                 if(this.dialogStatus==='special' && this.createTemp.purchaseType == '2'){
@@ -1199,7 +1343,6 @@ export default {
             this.$nextTick(() => {
               console.log('新增根据编号获取备件库存数量', response.data.list[0])
               item = response.data.list[0]
-              // var price = item.price.split(",")
               if (item.srcpath !== null && item.picpath !== null && item.srcpath !== undefined && item.picpath !== undefined) {
                 this.$set(item, 'srcpath', process.env.VUE_APP_BASE_API + item.srcpath)
                 this.$set(item, 'picpath', process.env.VUE_APP_BASE_API + item.picpath)
@@ -1207,7 +1350,6 @@ export default {
                 item.srcpath = ''
                 item.picpath = ''
               }
-              // this.$set(item, 'price', price)
               this.$set(item, 'amount', '')
               this.$set(item, 'purpose', '')
               if(this.dialogStatus==='special' && this.createTemp.purchaseType == '2'){
@@ -1550,9 +1692,6 @@ export default {
           this.listAdd = response.data.list
           var sumPrices = 0
           response.data.list.forEach(function(i,j){
-            console.log(i.providerId,'======')
-            console.log(i.purchaseType)
-            // createTemp.providerId,createTemp.purchaseType == '1'
             sumPrices = sumPrices + (parseFloat(i.price1) *parseFloat(i.amount) )
           })
           console.log("总价sumPrices",sumPrices)
@@ -1580,14 +1719,12 @@ export default {
             this.isApplyEx4 = false
             this.getFlowPath()
           }
-          // var price = ''
+
           for (let i = 0; i < response.data.list.length; i++) {
             if (response.data.list[i].srcpath !== null && response.data.list[i].picpath !== null && response.data.list[i].srcpath !== undefined && response.data.list[i].picpath !== undefined) {
               console.log(process.env.VUE_APP_BASE_API + response.data.list[i].srcpath, '=======1')
               this.listSee[i].srcpath = process.env.VUE_APP_BASE_API + response.data.list[i].srcpath
               this.listSee[i].picpath = process.env.VUE_APP_BASE_API + response.data.list[i].picpath
-              // price = response.data.list[i].price.split(",")
-              // this.$set(this.listSee[i], 'price', price)
               this.listAdd[i].srcpath = this.listSee[i].srcpath
               this.listAdd[i].picpath = this.listSee[i].picpath
               // this.seeTemp.providerName = response.data.list.providerName
@@ -1601,7 +1738,6 @@ export default {
             }
           }
         }
-        console.log(this.listSee,'this.listSee')
         if (response.data.total) {
           this.totalSee = response.data.total
         }
@@ -2217,7 +2353,7 @@ export default {
       this.getDepartParam.parammaps.pastureId = this.createTemp.pastureId
       this.getCreateDepartDownList()
       this.dialogStatus = 'special'
-      this.dialogFormVisible = true
+      this.dialogFormVisible2 = true
       this.$nextTick(() => {
         this.$refs['createTemp'].clearValidate()
       })
@@ -2227,7 +2363,7 @@ export default {
     getProviderList(){
       let data = {
         "name":"getProviderList",
-        "page":1,"offset":1,"pagecount":100,
+        "page":1,"offset":1,"pagecount":0,
         "returntype":"Map","parammaps":{"providerName":""}
       }
       GetDataByName(data).then(response => {

+ 9 - 9
src/views/custom/writeoff/index.vue

@@ -41,18 +41,18 @@
       </el-table-column>
       <el-table-column label="牧场" min-width="150px" align="center" prop="pastureName" />
       <el-table-column label="物料凭证号" min-width="150px" align="center" prop="materialCode" />
-      <el-table-column label="物料凭证年度" min-width="150px" align="center" prop="proofYear" />
+      <!-- <el-table-column label="物料凭证年度" min-width="150px" align="center" prop="proofYear" /> -->
       <el-table-column label="凭证中的过账信息" min-width="150px" align="center" prop="chargeDate" />
       <el-table-column label="设备管理平台单号" min-width="150px" align="center" prop="orderNumber" />
 
-      <el-table-column label="是否已开票" min-width="150px" align="center" show-overflow-tooltip v-if="table1.getdataListParm.parammaps.writeoffType == '备件入库' || table1.getdataListParm.parammaps.writeoffType == '备件退货'" >
-            <template slot-scope="scope">
-              <span v-if="scope.row.hasTicket == 1">是</span>
-              <span v-if="scope.row.hasTicket == 0">否</span>
-              <span v-if="scope.row.hasTicket == ''"> </span>
-            </template>
-          </el-table-column>
-      <el-table-column label="设备管理平台行号" min-width="150px" align="center" prop="rowNumber" />
+      <!-- <el-table-column label="是否已开票" min-width="150px" align="center" show-overflow-tooltip v-if="table1.getdataListParm.parammaps.writeoffType == '备件入库' || table1.getdataListParm.parammaps.writeoffType == '备件退货'" >
+        <template slot-scope="scope">
+          <span v-if="scope.row.hasTicket == 1">是</span>
+          <span v-if="scope.row.hasTicket == 0">否</span>
+          <span v-if="scope.row.hasTicket == ''"> </span>
+        </template>
+      </el-table-column> -->
+      <!-- <el-table-column label="设备管理平台行号" min-width="150px" align="center" prop="rowNumber" /> -->
       <el-table-column label="状态" min-width="150px" align="center" prop="status" />
       <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width" fixed="right">
         <template slot-scope="{row}">

+ 4 - 4
src/views/dashboard/editor/index.vue

@@ -91,7 +91,7 @@
           <div class="Title">费用统计</div>
           <div class="costStatistics">
             <div class="content">
-              <dv-border-box-8 :dur="-1" style="height:260px; ">
+              <dv-border-box-8 :dur="-1" style="height:275px; ">
                 <div class="title">
                   <svg-icon icon-class="维修成本分析" />
                   维修费
@@ -112,7 +112,7 @@
               </dv-border-box-8>
             </div>
             <div class="content">
-              <dv-border-box-8 :dur="-1" style="height:260px;">
+              <dv-border-box-8 :dur="-1" style="height:275px;">
                 <div class="title">
                   <svg-icon icon-class="水量分析" />
                   水费
@@ -133,7 +133,7 @@
               </dv-border-box-8>
             </div>
             <div class="content">
-              <dv-border-box-8 :dur="-1" style="height:260px;">
+              <dv-border-box-8 :dur="-1" style="height:275px;">
                 <div class="title">
                   <svg-icon icon-class="电量分析" />
                   电费
@@ -154,7 +154,7 @@
               </dv-border-box-8>
             </div>
             <div class="content">
-              <dv-border-box-8 :dur="-1" style="height:260px;">
+              <dv-border-box-8 :dur="-1" style="height:275px;">
                 <div class="title">
                   <svg-icon icon-class="燃动分析" />
                   燃动费

+ 26 - 16
src/views/login/index.vue

@@ -1,7 +1,6 @@
 <template>
-  <div class="login-container">
-    <!-- <img src="@/assets/images/logo.png" alt class="logo">
-    <img src="@/assets/images/login-bujian.png" alt="" class="bujian"> -->
+  <div v-if="isdisplay == 1"></div>
+  <div class="login-container" v-else>
     <div class="content">
       <div class="content-l"></div>
       <div class="login">
@@ -31,16 +30,16 @@
         </el-form>
       </div>
     </div>
-    <!-- <div class="login">
-      <div class="logo" />
-
-    </div> -->
   </div>
+  
 </template>
 
 <script>
 import { validUsername } from '@/utils/validate'
-
+import { getJson } from '@/api/common'
+import Cookies from 'js-cookie'
+import axios from 'axios';
+import { setToken } from '@/utils/auth' // get token from cookie
 export default {
   name: 'Login',
   data() {
@@ -76,7 +75,8 @@ export default {
       },
       loading: false,
       passwordType: 'password',
-      redirect: undefined
+      redirect: undefined,
+      isdisplay:Cookies.get('sso')
     }
   },
   watch: {
@@ -88,13 +88,17 @@ export default {
     }
   },
   created() {
-    var that = this
-    document.onkeydown = function(e) {
-      e = window.event || e
-      // eslint-disable-next-line eqeqeq
-      if (that.$route.path == '/login' && (e.code == 'Enter' || e.code == 'Num Enter')) { // 验证在登录界面和按得键是回车键enter
-        that.handleLogin('ruleForm2') // 登录函数 (handleSubmit2('ruleForm2')-登录按钮的点击事件)
-      }
+    // var that = this
+    // document.onkeydown = function(e) {
+    //   e = window.event || e
+    //   // eslint-disable-next-line eqeqeq
+    //   if (that.$route.path == '/login' && (e.code == 'Enter' || e.code == 'Num Enter')) { // 验证在登录界面和按得键是回车键enter
+    //     that.handleLogin('ruleForm2') // 登录函数 (handleSubmit2('ruleForm2')-登录按钮的点击事件)
+    //   }
+    // }
+    // 单点登录
+    if(Cookies.get('sso') == 1){
+     this.getcodeList()
     }
   },
   methods: {
@@ -127,6 +131,12 @@ export default {
           return false
         }
       })
+    },
+    getcodeList(){
+      this.$store.dispatch('user/login', this.loginForm) .then(() => {
+      }).catch(() => {
+        this.loading = false
+      })
     }
   }
 }

+ 1 - 0
src/views/maintenance/repair/index.vue

@@ -3748,6 +3748,7 @@ export default {
       this.getCreateNumber()
     },
     getCreateNumber() {
+      this.getParmCreateNumber.parammaps.codeType = 'LY'
       GetDataByName(this.getParmCreateNumber).then(response => {
         this.$nextTick(() => {
           console.log('新增领用单号', response.data.list[0].orderCode)

+ 10 - 1
src/views/report/inventorySummary/index.vue

@@ -5,7 +5,10 @@
       <el-progress style="padding-left: 10px;" :text-inside="true" :stroke-width="26" :percentage="percentage" />
     </div>
     <div class="filter-container">
-      <el-date-picker v-model="monthDate" type="monthrange" range-separator="至" start-placeholder="开始月份" end-placeholder="结束月份"  @change="changeTime" />
+      <el-date-picker v-model="monthDate" type="monthrange" :clearable="false" range-separator="至" start-placeholder="开始月份" class="filter-item" end-placeholder="结束月份"  @change="changeTime" />
+      <el-select v-model="isZeroStock" placeholder="是否零库存" class="filter-item" style="width: 120px;" @change="changeIsZeroStock">
+        <el-option v-for="item in isZeroStockList" :key="item.id" :label="item.name" :value="item.id" />
+      </el-select>
       <el-button class="filter-item" type="success" icon="el-icon-upload2" @click="handleDownload">导出</el-button>
     </div>
     <div v-if="isTable1" class="table">
@@ -115,6 +118,8 @@ export default {
   data() {
     return {
       monthDate:[parseTime(new Date(), '{y}-{m}'), parseTime(new Date(), '{y}-{m}')],
+      isZeroStock:0,
+      isZeroStockList:[{id:0,'name':'非零库存'},{id:1,'name':'零库存'}],
       rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
       cellStyle: { padding: 0 + 'px' },
       types: [{ id: 0, name: '按供应商' }, { id: 1, name: '按备件类别' }],
@@ -208,6 +213,9 @@ export default {
       }
       this.get_table_data()
     },
+    changeIsZeroStock(item){
+      this.get_table_data()
+    },
     get_table_data() {
       this.listLoading = true
       if (Cookies.get('pastureid') == 18) {
@@ -217,6 +225,7 @@ export default {
       }
       this.getdataListParm.parammaps.startDate = this.monthDate[0]
       this.getdataListParm.parammaps.endDate = this.monthDate[1]
+      this.getdataListParm.parammaps.isZeroStock = this.isZeroStock
       GetDataByName(this.getdataListParm).then(response => {
         if (response.data.list !== null) {
           console.log('table数据', response.data.list)

+ 3 - 2
vue.config.js

@@ -10,8 +10,8 @@ const name = defaultSettings.title || 'vue Admin Template' // page title
 // If your port is set to 80,
 // use administrator privileges to execute the command line.
 // For example, Mac: sudo npm run
-const port = 9529 // dev port
-
+// const port = 9529 // dev port
+const port = 8082 // dev port
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {
   /**
@@ -27,6 +27,7 @@ module.exports = {
   lintOnSave: process.env.NODE_ENV === 'development',
   productionSourceMap: false,
   devServer: {
+    allowedHosts: ['tmrwatch.cn'],
     port: port,
     open: true,
     overlay: {

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