Jelajahi Sumber

Merge branch 'master' of https://prodog.leanwo.com:3000/prodog-client-2023/client-base-v4

# Conflicts:
#	package.json
YangZhiJie 2 tahun lalu
induk
melakukan
7c401144ef

+ 1 - 1
package.json

@@ -20,7 +20,7 @@
     "dayjs": "^1.11.6",
     "dingtalk-jsapi": "^2.10.3",
     "moment": "^2.29.4",
-    "pc-component-v3": "1.0.64",
+    "pc-component-v3": "1.0.70",
     "uuid": "^8.3.2",
     "v-tooltip": "^4.0.0-beta.17",
     "vue-request": "^1.2.4",

+ 43 - 0
src/api/department/index.js

@@ -195,4 +195,47 @@ export const getUsersByName = searchQueryParam => {
       },
     });
   });
+};
+// 根据公司id获取公司的信息
+export const getClientInfo  = id => {
+  var requestUrl = 'clientResourceV2/uniqueByClientId?clientId=' + id;
+  return new Promise((resolve, reject) => {
+    $.ajax({
+      url: Common.getApiURL(requestUrl),
+      type: 'get',
+      dataType: 'json',
+      beforeSend: function (request) {
+        Common.addTokenToRequest(request);
+      },
+      processData: false,
+      success: function (data) {
+        resolve(data);
+      },
+      error: function (XMLHttpRequest, textStatus, errorThrown) {
+        reject(XMLHttpRequest);
+      },
+    });
+  });
+};
+
+// 更新公司信息
+export const updateClientInfo = client => {
+  var requestUrl = 'clientResourceV2/update';
+  return new Promise((resolve, reject) => {
+    $.ajax({
+      url: Common.getApiURL(requestUrl),
+      type: 'post',
+      contentType: 'application/json',
+      data: JSON.stringify(client),
+      beforeSend: function (request) {
+        Common.addTokenToRequest(request);
+      },
+      success: function (data) {
+        resolve(data);
+      },
+      error: function (XMLHttpRequest, textStatus, errorThrown) {
+        reject(XMLHttpRequest);
+      },
+    });
+  });
 };

+ 70 - 0
src/archive/ArchivalRecord.vue

@@ -0,0 +1,70 @@
+<template>
+  <Loading v-if="loading" />
+</template>
+
+<script setup>
+import { ref, onMounted } from 'vue';
+import { useRouter } from 'vue-router';
+import Common from '../common/Common.js';
+import UserStorageResource from '../api/base/UserStorageResource.js';
+import { message } from 'ant-design-vue';
+const router = useRouter();
+const loading = ref(false);
+onMounted(() => {
+  const uuid = router.currentRoute.value.query.uuid;
+  UserStorageResource.uniqueByKey(uuid).then(
+    success => {
+      if (success.errorCode == 0) {
+        if (success.data) {
+          const allData = JSON.parse(success.data);
+          downloadRecord(allData[0].id);
+        } else {
+          message.warning('请选择一条归档记录');
+        }
+      } else {
+        message.warning(success.errorMessage);
+      }
+    },
+    error => {
+      Common.processException(error);
+    },
+    router.back(),
+  );
+});
+const downloadRecord = recordId => {
+  loading.value = true;
+  const xhr = new XMLHttpRequest();
+  xhr.open(
+    'get',
+    `api/ArchivesResource/download?archiveLogId=${recordId}`,
+    true,
+  );
+  const token = localStorage.getItem('#token');
+  xhr.setRequestHeader('token', token);
+  xhr.setRequestHeader('Content-type', 'application/json');
+  xhr.responseType = 'blob';
+  xhr.onreadystatechange = function () {
+    if (xhr.readyState === 4 && xhr.status === 200) {
+      loading.value = false;
+      let res = xhr.response;
+      let blob = new Blob([res]);
+      const blobUrl = URL.createObjectURL(blob);
+      const link = document.createElement('a');
+      link.download = '可视数据.zip';
+      link.style.display = 'none';
+      link.href = blobUrl;
+      document.body.appendChild(link);
+      link.click();
+      URL.revokeObjectURL(blobUrl);
+      document.body.removeChild(link);
+      message.success('下载成功');
+    } else {
+      loading.value = false;
+    }
+  };
+  xhr.send();
+};
+</script>
+
+<style scoped>
+</style>

+ 166 - 57
src/archive/DataArchive.vue

@@ -3,32 +3,53 @@
     <Navbar title="数据归档" :is-go-back="false" />
     <label>业务名称:</label>
     <a-select
-      v-model:value="value1"
+      v-model:value="selectValue"
       style="width: 200px"
+      :disabled="isDisabled"
       :options="businessNames"
       @change="nameChange"
     />
     <a-divider />
   </header>
-  <div class="content">
-    <label>开始时间:</label>
-    <a-date-picker
-      show-time
-      :locale="locale"
-      style="width: 200px"
-      placeholder="归档开始日期"
-      @change="startDateChange"
-    />
-    <label class="params">结束时间:</label>
-    <a-date-picker
-      show-time
-      :locale="locale"
-      style="width: 200px"
-      placeholder="归档结束日期"
-      @change="endDateChange"
-    />
-    <label class="params">文件行数:</label>
-    <a-input-number v-model:value="linCount" :min="0" style="width: 200px" />
+  <div v-if="selectValue">
+    <div class="queryParams">
+      <ul class="ulStyle">
+        <li v-for="(item, index) in allParams" :key="index" class="liStyle">
+          <label> {{ item.viewName }}:</label>
+          <span v-if="item.displayType == 'DateTimeBoxEditor'">
+            <a-date-picker
+              v-model:value="item.dateValue"
+              show-time
+              :locale="locale"
+              class="commonWidth"
+              @change="
+                (_, dateString) => dateChange(_, dateString, item.paramName)
+              "
+            />
+          </span>
+          <span v-if="item.displayType == 'TextEditor'">
+            <a-input
+              v-model:value="item.defaultValue"
+              class="commonWidth"
+              @change="(e) => textChange(e, item.paramName)"
+            />
+          </span>
+          <span v-if="item.displayType == 'NumberEditor'">
+            <a-input-number
+              v-model:value="item.defaultValue"
+              class="commonWidth"
+              @change="(value) => numberChange(value, item.paramName)"
+            />
+          </span>
+          <span v-if="item.displayType == 'CheckBoxEditor'">
+            <a-checkbox
+              v-model:checked="item.defaultValue"
+              @change="(e) => checkChange(e, item.paramName)"
+            />
+          </span>
+        </li>
+      </ul>
+    </div>
     <a-divider />
     <a-button type="primary" @click="startArchive">执行归档</a-button>
     <a-result
@@ -38,11 +59,11 @@
     >
       <template #subTitle>
         <div>共创建了{{ createCount }}个可视数据</div>
-        <div v-for="(item, index) in tableMessages" :key="index">
-          <div>
+        <div style="text-align: left; margin-left: 36%">
+          <div v-for="(item, index) in tableMessages" :key="index">
             {{ index + 1 }}、{{ item.tableName }}表成功归档{{
-              item.successExporterData
-            }}条,删除{{ item.deleteSuccess }}条
+              item.successExporterCount
+            }}条,删除{{ item.deleteSuccessCount }}条
           </div>
         </div>
       </template>
@@ -51,102 +72,178 @@
         <a-button @click="checkData">查看归档数据</a-button>
       </template>
     </a-result>
+    <Loading v-if="loading" />
   </div>
+  <!-- <a-button
+    v-if="isDisabled"
+    type="primary"
+    style="margin-top: 36px; width: 88px"
+    @click="goBack"
+  >
+    上一步
+  </a-button> -->
 </template>
 
 <script setup>
 import dayjs from 'dayjs';
 import 'dayjs/locale/zh-cn';
-import { ref, onMounted } from 'vue';
+import { ref, reactive, onMounted } from 'vue';
 import Common from '../common/Common';
 import { message } from 'ant-design-vue';
-import { getBusinessName, execute } from './config';
+import { getBusinessName, getBusinessParams, execute } from './config';
 import locale from 'ant-design-vue/es/date-picker/locale/zh_CN';
+import { useRoute, useRouter } from 'vue-router';
 
 dayjs.locale('zh-cn');
+const selectValue = ref('');
 const businessName = ref(''); //业务名
-const startDate = ref(''); // 开始时间
-const endDate = ref(''); // 结束时间
-const linCount = ref(null); // 文件行数
-const filePath = ref(''); //下载路径
+const archiveLogId = ref(''); //下载路径
 const isShow = ref(false);
 const tableMessages = ref([]); //表
 const createCount = ref(''); //创建的可视数据个数
 const businessNames = ref([]); // 业务名数据
+const allParams = ref([]);
+const archiveParams = reactive({});
+const loading = ref(false);
+const route = useRoute();
+const router = useRouter();
+const isDisabled = ref(false);
+
 onMounted(() => {
-  getName();
+  const {
+    query: { businessName: businessNameParam },
+  } = route;
+  if (businessNameParam) {
+    isDisabled.value = true;
+    selectValue.value = businessNameParam;
+    businessName.value = businessNameParam;
+    nameChange({}, { name: '' }, true);
+  } else {
+    getName();
+  }
 });
-// 获取业务名
-const nameChange = (_, { name }) => {
-  businessName.value = name;
+// const goBack = () => {
+//   router.back();
+// };
+// 获取时间类型值
+const dateChange = (_, dateString, paramName) => {
+  archiveParams[paramName] = dateString;
 };
-// 获取开始时间
-const startDateChange = (_, dateString) => {
-  startDate.value = dateString;
+// 获取文本框类型值
+const textChange = (e, paramName) => {
+  archiveParams[paramName] = e.target.value;
 };
-// 获取结束时间
-const endDateChange = (_, dateString) => {
-  endDate.value = dateString;
+// 获取数字框类型值
+const numberChange = (value, paramName) => {
+  archiveParams[paramName] = value;
+};
+// 获取Boolean类型值
+const checkChange = (e, paramName) => {
+  archiveParams[paramName] = e.target.checked;
 };
-
 // 获取业务名
 const getName = () => {
+  loading.value = true;
   getBusinessName().then(
     success => {
+      loading.value = false;
       if (success.errorCode == 0) {
-        if (success.data) {
-          success.data.forEach(item => {
-            item.value = item.id;
+        if (success.datas) {
+          success.datas.forEach(item => {
+            item.value = item.name;
             item.label = item.name;
           });
+          businessNames.value = success.datas;
         }
-        businessNames.value = success.data;
       } else {
         message.error(success.errorMessage);
       }
     },
     error => {
+      loading.value = false;
       Common.processException(error);
     },
   );
 };
+// 获取业务参数
+const nameChange = (_, { name }, flag) => {
+  loading.value = true;
+  let nameParam;
+  if (flag) {
+    nameParam = businessName.value;
+  } else {
+    nameParam = name;
+    businessName.value = name;
+  }
+  getBusinessParams(nameParam).then(
+    ({ errorCode, datas, errorMessage }) => {
+      loading.value = false;
+      if (errorCode == 0) {
+        if (datas) {
+          datas.forEach(item => {
+            if (item.displayType == 'DateTimeBoxEditor') {
+              item.dateValue = dayjs(item.defaultValue, 'YYYY-MM-DD HH:mm:ss');
+            }
+            archiveParams[item.paramName] = item.defaultValue;
+          });
+          allParams.value = datas;
+        }
+      } else {
+        message.error(errorMessage);
+      }
+    },
+    error => {
+      loading.value = false;
+      Common.processException(error);
+    },
+  );
+};
+
 // 开始执行
 const startArchive = () => {
+  loading.value = true;
   const params = {
     businessName: businessName.value,
-    startTime: startDate.value,
-    endTime: endDate.value,
-    maxLines: linCount.value,
+    archiveParams,
   };
   execute(params).then(
     success => {
+      loading.value = false;
       if (success.errorCode == 0) {
         if (success.data) {
           isShow.value = true;
-          filePath.value = success.data.visualizationFilePath;
-          tableMessages.value = success.data.tableMessage;
-          createCount.value = success.data.visualizationFileNames.length;
+          archiveLogId.value = success.data.archiveLogId;
+          tableMessages.value = success.data.archiveParams.tableMessages;
+          createCount.value =
+            success.data.archiveParams.visualizationFileNames.length;
         }
       } else {
         message.error(success.errorMessage);
       }
     },
     error => {
+      loading.value = false;
       Common.processException(error);
     },
   );
 };
 // 查看归档数据
 const checkData = () => {
-  const fileUrl = encodeURIComponent(filePath.value);
+  loading.value = true;
+  const fileUrl = encodeURIComponent(archiveLogId.value);
   const xhr = new XMLHttpRequest();
-  xhr.open('get', `api/IArchiveResource/download?xlsxPath=${fileUrl}`, true);
+  xhr.open(
+    'get',
+    `api/ArchivesResource/download?archiveLogId=${fileUrl}`,
+    true,
+  );
   const token = localStorage.getItem('#token');
   xhr.setRequestHeader('token', token);
   xhr.setRequestHeader('Content-type', 'application/json');
   xhr.responseType = 'blob';
   xhr.onreadystatechange = function () {
     if (xhr.readyState === 4 && xhr.status === 200) {
+      loading.value = false;
       let res = xhr.response;
       let blob = new Blob([res]);
       const blobUrl = URL.createObjectURL(blob);
@@ -159,6 +256,8 @@ const checkData = () => {
       URL.revokeObjectURL(blobUrl);
       document.body.removeChild(link);
       message.success('下载成功');
+    } else {
+      loading.value = false;
     }
   };
   xhr.send();
@@ -166,10 +265,20 @@ const checkData = () => {
 </script>
 
 <style scoped>
-:deep(.ant-divider) {
-  margin: 8px 0;
+:deep(.ant-divider.ant-divider-horizontal) {
+  margin: 8px 0 !important;
+}
+.commonWidth {
+  width: 200px;
+}
+.ulStyle {
+  width: 100%;
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
 }
-.params {
-  margin-left: 8px;
+.liStyle {
+  width: 25%;
+  margin-top: 8px;
 }
 </style>

+ 22 - 2
src/archive/config.js

@@ -2,7 +2,27 @@ import Common from '../common/Common';
 
 // 获取业务名
 export const getBusinessName = () => {
-  var requestUrl = 'IArchiveResource/getBusinessName';
+  var requestUrl = 'ArchivesResource/listBusinessName';
+  return new Promise((resolve, reject) => {
+    $.ajax({
+      url: Common.getApiURL(requestUrl),
+      type: 'get',
+      contentType: 'application/json',
+      beforeSend: function (request) {
+        Common.addTokenToRequest(request);
+      },
+      success: function (data) {
+        resolve(data);
+      },
+      error: function (XMLHttpRequest, textStatus, errorThrown) {
+        reject(XMLHttpRequest);
+      },
+    });
+  });
+};
+// 获取业务参数
+export const getBusinessParams = name => {
+  var requestUrl = 'ArchivesResource/listParameterDefines?businessName=' + name;
   return new Promise((resolve, reject) => {
     $.ajax({
       url: Common.getApiURL(requestUrl),
@@ -23,7 +43,7 @@ export const getBusinessName = () => {
 
 // 执行数据归档
 export const execute = params => {
-  var requestUrl = 'IArchiveResource/executeData';
+  var requestUrl = 'ArchivesResource/executeData';
 
   return new Promise((resolve, reject) => {
     $.ajax({

+ 111 - 36
src/client/OrganizationEditPanel.vue

@@ -9,7 +9,7 @@
     <a-button type="primary" @click="editOrganization(true)">
       {{ $t("lang.OrganizationEditPanel.newDepartment") }}
     </a-button>
-    <a-button type="dashed" style="margin-left: 8px" @click="getOrganization">
+    <a-button type="dashed" style="margin-left: 8px" @click="refreshData">
       {{ $t("lang.OrganizationEditPanel.refresh") }}
     </a-button>
     <a-select
@@ -21,6 +21,9 @@
       :options="companies.map((item) => ({ value: item.id, label: item.name }))"
       @change="getClientId"
     />
+    <a-button type="primary" style="margin-left: 8px" @click="editClient">
+      编辑公司
+    </a-button>
   </div>
 
   <a-table
@@ -62,17 +65,7 @@
   >
     <div class="form-group">
       <label>{{ $t("lang.OrganizationEditPanel.corporateName") }}</label>
-      <!-- v-if="organization.id" -->
       <a-input v-model:value="organization.clientName" disabled />
-      <!-- <SearchWidget
-        v-else
-        info-window-no="286633"
-        :field-value="clientFieldValue"
-        :title-name="$t('lang.OrganizationEditPanel.departmentInquiry')"
-        display-name="ct.name"
-        :where-clause-source="clientAdditionHql"
-        @value-changed="clientValueChanged"
-      /> -->
     </div>
     <div class="form-group">
       <label>{{ $t("lang.OrganizationEditPanel.departmentNumber") }}</label>
@@ -127,6 +120,47 @@
       </a-button>
     </template>
   </a-drawer>
+  <a-drawer
+    v-model:visible="isEditClient"
+    title="编辑公司"
+    :width="500"
+    placement="right"
+  >
+    <div class="form-group">
+      <label>公司ID</label>
+      <a-input v-model:value="client.id" disabled />
+    </div>
+    <div class="form-group">
+      <label>{{ $t("lang.OrganizationEditPanel.corporateName") }}</label>
+      <a-input v-model:value="client.name" />
+    </div>
+    <div class="form-group">
+      <label>{{ $t("lang.OrganizationEditPanel.companyNumber") }}</label>
+      <a-input v-model:value="client.no" />
+    </div>
+    <div class="form-group">
+      <label>公司简介</label>
+      <textarea v-model="client.description" class="form-control" rows="3" />
+    </div>
+    <div class="form-group">
+      <label>{{ $t("lang.OrganizationEditPanel.departmentManager") }}</label>
+      <div>
+        <v-select
+          id="departmentManagerSelect"
+          v-model="client.managerUsers"
+          multiple
+          label="name"
+          :options="userList"
+          @search="fetchUserList"
+        />
+      </div>
+    </div>
+    <template #footer>
+      <a-button type="primary" @click="updateClient(client.id)">
+        {{ $t("lang.OrganizationEditPanel.save") }}
+      </a-button>
+    </template>
+  </a-drawer>
 </template>
 
 <script setup>
@@ -141,7 +175,9 @@ import {
   create,
   update,
   getCompony,
+  getClientInfo,
   getUsersByName,
+  updateClientInfo,
   loadOrganization,
   deleteDepartment,
   getAllOrganization,
@@ -154,15 +190,18 @@ const companies = ref([]); //所有公司
 const clientIdStr = ref(undefined);
 const userList = ref([]); // 用户清单
 const isCreate = ref(false); // 是否新建
+const isEditClient = ref(false); // 编辑公司
 const dataSource = ref([]); // 表格部门
 const drawerTitle = ref(''); //抽屉标题
 const organization = ref({}); // 部门详情
+const client = ref({}); // 公司详情
 const editVisible = ref(false); // 抽屉开关
 const organizationId = ref(''); // 所选部门ID
 // const clientAdditionHql = ref({});
 const clientNameStr = ref('');
 const { proxy } = getCurrentInstance(); //访问this
 const parentOrganizationAdditionHql = ref('');
+const parentFieldValue = ref({});
 const parentOrganizationFieldValue = ref({
   displayValue: [],
   fieldType: 'Key',
@@ -174,6 +213,10 @@ const clientFieldValue = ref({
   id: null,
 });
 onMounted(() => {
+  getComponyInfo();
+});
+// 获取公司名称id
+const getComponyInfo = () => {
   getCompony().then(
     success => {
       if (success.errorCode == 0) {
@@ -186,8 +229,52 @@ onMounted(() => {
       Common.processException(err);
     },
   );
-});
+};
 
+// 编辑公司(获取公司信息)
+const editClient = () => {
+  if (clientNameStr.value) {
+    isEditClient.value = true;
+    getClientInfo(clientId.value).then(
+      success => {
+        if (success.errorCode == 0) {
+          fetchUserList();
+          client.value = success.data;
+        } else {
+          message.error(success.errorMessage);
+        }
+      },
+      error => {
+        Common.processException(error);
+      },
+    );
+  } else {
+    message.warning('请选择公司');
+  }
+};
+// 更新公司信息
+const updateClient = () => {
+  const clientValue = JSON.parse(JSON.stringify(client.value));
+  const { id, name, no } = clientValue;
+  if (!id || !name || !no) {
+    return;
+  }
+  updateClientInfo(clientValue).then(
+    success => {
+      isEditClient.value = false;
+      if (success.errorCode == 0) {
+        getComponyInfo();
+        client.value = {};
+        message.success(proxy.$t('lang.OrganizationEditPanel.describe6'));
+      } else {
+        message.error(success.errorMessage);
+      }
+    },
+    err => {
+      Common.processException(err);
+    },
+  );
+};
 // 获取所选公司id 名字
 const getClientId = (value, client) => {
   id.value = value;
@@ -200,7 +287,6 @@ const getClientId = (value, client) => {
 const createOrganization = () => {
   organization.value = {};
   organization.value.clientName = clientNameStr.value;
-  organization.value.clientName = clientNameStr.value;
   (clientFieldValue.value = {
     displayValue: [],
     fieldType: 'Key',
@@ -233,7 +319,11 @@ const createNew = organization => {
     },
   );
 };
-
+//刷新数据
+const refreshData = () => {
+  getComponyInfo();
+  getOrganization();
+};
 // 获取所有部门
 const getOrganization = () => {
   dataSource.value = [];
@@ -255,7 +345,7 @@ const getOrganization = () => {
   );
 };
 
-// 编辑部门
+// 编辑部门(获取部门信息)
 const editOrganization = (flag, id) => {
   organizationId.value = id;
   if (flag) {
@@ -280,6 +370,7 @@ const editOrganization = (flag, id) => {
             fieldType: 'Key',
             id: success.data.parentId,
           };
+          parentFieldValue.value = parentOrganizationFieldValue.value;
           clientFieldValue.value = {
             displayValue: [success.data.clientName],
             fieldType: 'Key',
@@ -302,14 +393,7 @@ const editOrganization = (flag, id) => {
 const updateOrganization = () => {
   const organizationValue = JSON.parse(JSON.stringify(organization.value));
   const { clientId, name, no } = organizationValue;
-  if (
-    clientId == undefined ||
-    clientId == '' ||
-    name == undefined ||
-    name == '' ||
-    no == undefined ||
-    no == ''
-  ) {
+  if (!clientId || !name || !no) {
     Notify.error(
       proxy.$t('lang.Notify.error'),
       proxy.$t('lang.OrganizationEditPanel.describe5'),
@@ -321,13 +405,8 @@ const updateOrganization = () => {
     success => {
       if (success.errorCode == 0) {
         if (success.data) {
-          Notify.success(
-            proxy.$t('lang.Notify.success'),
-            proxy.$t('lang.OrganizationEditPanel.describe6'),
-            true,
-          );
+          message.success(proxy.$t('lang.OrganizationEditPanel.describe6'));
           organization.value = {};
-
           organization.value.clientId = clientFieldValue.value.id;
           parentOrganizationFieldValue.value = {
             displayValue: [],
@@ -368,11 +447,7 @@ const deleteOrganization = id => {
       deleteDepartment(params).then(
         success => {
           if (success.errorCode == 0) {
-            Notify.success(
-              proxy.$t('lang.Notify.success'),
-              proxy.$t('lang.OrganizationEditPanel.describe3'),
-              true,
-            );
+            message.success(proxy.$t('lang.OrganizationEditPanel.describe3'));
             organization.value = undefined;
             getOrganization();
           } else {
@@ -430,9 +505,9 @@ const parentOrganizationValueChanged = newFieldValue => {
   if (organizationId.value == newFieldValue.id) {
     message.warning('不能将自己作为上级部门!');
     parentOrganizationFieldValue.value = {
-      displayValue: [],
+      displayValue: [parentFieldValue.value.displayValue[0]],
       fieldType: 'Key',
-      id: null,
+      id: parentFieldValue.value.id,
     };
   } else {
     parentOrganizationFieldValue.value = newFieldValue;

+ 2 - 2
src/client/TopNavigation.vue

@@ -22,8 +22,8 @@
               
               @click="showMenu"
             >
-              <i v-if="visible" class="glyphicon glyphicon-chevron-right" />
-              <i v-if="visible==false" class="glyphicon glyphicon-chevron-left" />
+              <i v-if="visible == false" class="glyphicon glyphicon-chevron-right" />
+              <i v-if="visible" class="glyphicon glyphicon-chevron-left" />
             </a>
           </div>
 

+ 86 - 47
src/client/UserParameters.vue

@@ -26,6 +26,28 @@
         </div>
       </div>
 
+      <div
+        class="row m-row"
+      >
+        <div class="col-md-12">
+          <h4 class="title page-header">{{ $t("lang.UserParameters.roleTemplate") }}</h4>
+          <div class="role-templates">
+            <li v-for="template in loginUserDto.roleTemplates" :key="template.no">{{ template.name }}</li>
+          </div>
+        </div>
+      </div>
+
+      <div
+        class="row m-row"
+      >
+        <div class="col-md-12">
+          <h4 class="title page-header">{{ $t("lang.UserParameters.role") }}</h4>
+          <div class="role-templates">
+            <li v-for="role in loginUserDto.roles" :key="role.id">{{ role.name }}</li>
+          </div>
+        </div>
+      </div>
+
       <div class="row m-row">
         <div class="col-md-12">
           <h4 class="title page-header">{{ $t("lang.UserParameters.userPasswordModification") }}</h4>
@@ -53,8 +75,14 @@
                 :placeholder="$t('lang.UserParameters.inputNewPassword')"
                 @input="handlerPasswordStrength1"
               />
-              <span v-if="newPasswordCheckResult.length > 0" class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true" />
-              <span v-if="newPasswordCheckResult.length > 0" class="control-label" for="newPassword">{{ newPasswordCheckResult }}</span>
+              <span
+                v-if="newPasswordCheckResult.length > 0" class="glyphicon glyphicon-remove form-control-feedback"
+                aria-hidden="true"
+              />
+              <span
+                v-if="newPasswordCheckResult.length > 0" class="control-label"
+                for="newPassword"
+              >{{ newPasswordCheckResult }}</span>
             </div>
 
             <div class="form-group" :class="{'has-error has-feedback': (newPassword2CheckResult.length > 0)}">
@@ -68,8 +96,14 @@
                 :placeholder="$t('lang.UserParameters.againInputNewPassword')"
                 @input="handlerPasswordStrength2"
               />
-              <span v-if="newPassword2CheckResult.length > 0" class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true" />
-              <span v-if="newPassword2CheckResult.length > 0" class="control-label" for="newPassword">{{ newPassword2CheckResult }}</span>
+              <span
+                v-if="newPassword2CheckResult.length > 0" class="glyphicon glyphicon-remove form-control-feedback"
+                aria-hidden="true"
+              />
+              <span
+                v-if="newPassword2CheckResult.length > 0" class="control-label"
+                for="newPassword"
+              >{{ newPassword2CheckResult }}</span>
             </div>
           </div>
         </div>
@@ -136,10 +170,10 @@ import UserResourceV2 from '../api/base/UserResourceV2.js';
 import UserResource from '../api/base/UserResource.js';
 import AuthSettingResource from '../api/commom/AuthSettingResource.js';
 import ImageUpload from '../widget/image-upload.vue';
-import { requestFailed, requestSuccess} from '../common/request-result.js';
-import { notificationSuccess} from '../common/notification.js';
+import {requestFailed, requestSuccess} from '../common/request-result.js';
+import {notificationSuccess} from '../common/notification.js';
 import PasswordService from '../common/PasswordService.js';
-import { Notify, Uuid } from 'pc-component-v3';
+import {Notify, Uuid} from 'pc-component-v3';
 
 export default {
   components: {
@@ -164,8 +198,8 @@ export default {
   },
   methods: {
     /**
-         * 获取用户参数
-         */
+     * 获取用户参数
+     */
     getParameterValue: function () {
       var _self = this;
       $.ajax({
@@ -189,8 +223,8 @@ export default {
     },
 
     /**
-         * 渲染用户参数
-         */
+     * 渲染用户参数
+     */
     showParameterValue: function (data) {
       var _self = this;
       // 清空数据
@@ -213,8 +247,8 @@ export default {
       }
     },
     /**
-         * 保存用户参数
-         */
+     * 保存用户参数
+     */
     saveUserParamter: function () {
       var _self = this;
       var id;
@@ -224,9 +258,9 @@ export default {
         id = _self.parameterValues[i].id;
         if (_self.parameterValues[i].displayType == 'CheckBoxEditor') {
           value =
-                        _self.parameterValues[i].value == true
-                          ? 'true'
-                          : 'false';
+              _self.parameterValues[i].value == true
+                ? 'true'
+                : 'false';
         } else {
           value = _self.parameterValues[i].value;
         }
@@ -280,8 +314,8 @@ export default {
           return;
         }
 
-        let message = PasswordService.handlerPasswordStrength(this.$i18n.locale,newPassword);
-        if(message != null && message.length > 0){
+        let message = PasswordService.handlerPasswordStrength(this.$i18n.locale, newPassword);
+        if (message != null && message.length > 0) {
           Notify.error('警告', message, false);
           return;
         }
@@ -318,23 +352,23 @@ export default {
         });
       } else if (
         (newPassword == null && newPassword == '') ||
-                (newPassword2 == null && newPassword2 == '')
+          (newPassword2 == null && newPassword2 == '')
       ) {
         Notify.error('错误', '请填写完整再提交', false);
         return;
       }
 
-     
+
     },
 
     /**
      * 上传用户的图片
      */
-    uploadUserImage: function(){
+    uploadUserImage: function () {
       UserResource.updateImageName(this.loginUserDto.id, this.loginUserDto.imageName).then(successData => {
-        if(successData.errorCode !== 0){
+        if (successData.errorCode !== 0) {
           requestFailed(successData);
-        }else{
+        } else {
           notificationSuccess('用户图片上传成功', '操作成功');
         }
       }, errorData => {
@@ -343,8 +377,8 @@ export default {
     },
 
     /**
-         * 清空用户自定义设置
-         */
+     * 清空用户自定义设置
+     */
     clear: function () {
       UserStorageResource.clearUserStorage().then(successData => {
         Notify.success('成功', '用户自定义设置删除成功', 1500);
@@ -355,9 +389,9 @@ export default {
 
 
     /**
-         * 获取loginInfo
-         * @return {void}
-         */
+     * 获取loginInfo
+     * @return {void}
+     */
     getLoginInfo: function () {
       var _self = this;
       var json = localStorage.getItem('#LoginInfo');
@@ -365,9 +399,9 @@ export default {
       let userId = this.loginInfo.userId;
       // add here
       UserResourceV2.uniqueById(userId).then(successData => {
-        if(successData.errorCode === 0){
+        if (successData.errorCode === 0) {
           _self.loginUserDto = successData.data;
-        }else{
+        } else {
           requestSuccess(successData);
         }
       }, errorData => {
@@ -375,31 +409,31 @@ export default {
       });
     },
 
-    
-    handlerPasswordStrength1: function(){
-      if(this.newPassword == null || this.newPassword.length == 0){
+
+    handlerPasswordStrength1: function () {
+      if (this.newPassword == null || this.newPassword.length == 0) {
         this.newPasswordCheckResult = '';
         return;
       }
 
-      let message = PasswordService.handlerPasswordStrength(this.$i18n.locale,this.newPassword);
-      if(message != null && message.length > 0){
+      let message = PasswordService.handlerPasswordStrength(this.$i18n.locale, this.newPassword);
+      if (message != null && message.length > 0) {
         this.newPasswordCheckResult = message;
-      }else{
+      } else {
         this.newPasswordCheckResult = '';
       }
     },
 
-    
-    handlerPasswordStrength2: function(){
-      if(this.newPassword2 == null || this.newPassword2.length2 == 0){
+
+    handlerPasswordStrength2: function () {
+      if (this.newPassword2 == null || this.newPassword2.length2 == 0) {
         this.newPassword2CheckResult = '';
         return;
       }
 
-      if(this.newPassword != this.newPassword2){
+      if (this.newPassword != this.newPassword2) {
         this.newPassword2CheckResult = '两次密码输入不一致!';
-      }else{
+      } else {
         this.newPassword2CheckResult = '';
       }
     },
@@ -409,17 +443,22 @@ export default {
 
 <style scoped>
 .title {
-    margin: 0px 0px 10px 0px;
+  margin: 0px 0px 10px 0px;
 }
 
 .title-addon {
-    font-size: large;
-    margin-left: 20px;
+  font-size: large;
+  margin-left: 20px;
 }
 
 .divClass {
-    text-align: center;
-    font-size: 30px;
-    color: red;
+  text-align: center;
+  font-size: 30px;
+  color: red;
+}
+.role-templates {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 10px; /* 设置间隔 */
 }
 </style>

+ 96 - 56
src/customer/DataImportPanel.vue

@@ -49,7 +49,6 @@
           </div>
         </div>
 
-
         <div v-if="current === 1" class="row">
           <div>
             <div>
@@ -67,7 +66,10 @@
               </div>
               <div>
                 <label>2.请选择需要导入的sheet</label>
-                <select v-model="selectedIndex" class="form-control sheet-select">
+                <select
+                  v-model="selectedIndex"
+                  class="form-control sheet-select"
+                >
                   <option
                     v-for="(sheetItem, index) in sheetItems"
                     :key="index"
@@ -80,12 +82,28 @@
             </div>
           </div>
         </div>
-        
+
         <div v-if="current === 2" class="row">
           <div>
             <div class="form-inline">
               <!-- <label>{{ $t("lang.DataImportPanel.stepThree") }}.</label> -->
-              <div v-if="sheetItems.length > 0" class="form-group">
+              <div
+                v-if="sheetItems.length > 0"
+                class="form-group"
+                style="display: flex; align-items: center"
+              >
+                <span style="color: red">*</span>
+                <label style="margin-bottom: 0">导入行数:</label>
+                <a-input-number
+                  v-model:value="lineCount"
+                  style="width: 80px; margin-right: 8px"
+                />
+                <span style="color: red">*</span>
+                <label style="margin-bottom: 0">导入列数:</label>
+                <a-input-number
+                  v-model:value="columnCount"
+                  style="width: 80px; margin-right: 8px"
+                />
                 <button
                   type="button"
                   class="btn btn-primary btn-primary-1"
@@ -103,7 +121,7 @@
                 <button
                   type="button"
                   class="btn btn-primary btn-primary-1 btn-primary-import"
-                  @click="runProcessClear(selectedDataTemplateNo,false)"
+                  @click="runProcessClear(selectedDataTemplateNo, false)"
                 >
                   3.{{ $t("lang.DataImportPanel.emptyImport") }}
                 </button>
@@ -113,9 +131,7 @@
                   class="btn btn-primary btn-primary-1 btn-primary-import"
                   @click="finishTask"
                 >
-                  {{
-                    $t("lang.DataImportPanel.completeTask")
-                  }}
+                  {{ $t("lang.DataImportPanel.completeTask") }}
                 </button>
               </div>
             </div>
@@ -136,7 +152,7 @@
             bordered
             :columns="columns"
             :data-source="dataSource"
-            :scroll="{ y:900 }"
+            :scroll="{ y: 900 }"
             size="small"
           >
             <a-table-column type="index" />
@@ -146,12 +162,14 @@
               </template>
             </template>
           </a-table>
- 
+
           <Loading v-if="loading" />
         </div>
       </div>
       <div class="steps-action">
-        <a-button v-if="current>0" class="prevBtn" @click="prev"> 上一步 </a-button>
+        <a-button v-if="current > 0" class="prevBtn" @click="prev">
+          上一步
+        </a-button>
         <a-button
           v-if="current < steps.length - 1"
           class="nextBtn"
@@ -188,7 +206,7 @@ export default {
     SmileOutlined,
     Navbar,
   },
-    
+
   data: function () {
     return {
       current: 0,
@@ -220,8 +238,10 @@ export default {
       dataTemplateNo: null,
       taskId: null,
 
-      columns: [],    // 列定义
+      columns: [], // 列定义
       dataSource: [], // 表格数据源
+      lineCount: null, // 导入行数
+      columnCount: null, // 导入列数
     };
   },
 
@@ -229,17 +249,15 @@ export default {
 
   mounted: function () {
     var _self = this;
-    console.log('uploadFileInput::::',_self);
+    console.log('uploadFileInput::::', _self);
     _self.initView();
 
     _self.$nextTick(function () {
       _self.canVisit();
-      
     });
     if (_self.$route.query.dataTemplateNos) {
       _self.dataTemplateNos = JSON.parse(_self.$route.query.dataTemplateNos);
-    };
-
+    }
   },
 
   methods: {
@@ -247,14 +265,14 @@ export default {
      * 步骤条切换
      */
     next() {
-      console.log('selectedDataTemplateNo:::',this.selectedDataTemplateNo);
+      console.log('selectedDataTemplateNo:::', this.selectedDataTemplateNo);
       if (!this.selectedDataTemplateNo) {
         message.error('请选择导入模板');
-      } else{
+      } else {
         this.current++;
       }
-      if(this.current == 2){
-        this.runProcessClear(this.selectedDataTemplateNo,true);
+      if (this.current == 2) {
+        this.runProcessClear(this.selectedDataTemplateNo, true);
       }
     },
     prev() {
@@ -357,25 +375,25 @@ export default {
     downloadTemplateButton: function () {
       var _self = this;
       //var url = window.location.origin;
-      if(this.selectedDataTemplateNo){
-
- 
+      if (this.selectedDataTemplateNo) {
         for (var i = 0, len = _self.dataTemplates.length; i < len; i++) {
           if (
-            _self.selectedDataTemplateNo == _self.dataTemplates[i].dataTemplateNo
+            _self.selectedDataTemplateNo ==
+            _self.dataTemplates[i].dataTemplateNo
           ) {
-            var realtivePath = _self.dataTemplates[i].dataTemplateFileRelativePath;
-
-            var downloadUrl = '/api/dataImportResource/downloadTemplateFile?dataTemplateNo=' + _self.selectedDataTemplateNo;
-            
-            var fileName = (realtivePath != null)  
-              ? realtivePath
-              : '导入模板.xls';
-            
+            var realtivePath =
+              _self.dataTemplates[i].dataTemplateFileRelativePath;
+
+            var downloadUrl =
+              '/api/dataImportResource/downloadTemplateFile?dataTemplateNo=' +
+              _self.selectedDataTemplateNo;
+
+            var fileName = realtivePath != null ? realtivePath : '导入模板.xls';
+
             DownloadService.downloadFile(downloadUrl, fileName);
           }
         }
-      }else{
+      } else {
         message.error('请先选择导入模板');
       }
     },
@@ -477,6 +495,7 @@ export default {
         success: function (data) {
           _self.importTable = data;
           _self.showImportTable(data);
+          _self.columnCount = data.importFields.length;
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {
           Common.processException(XMLHttpRequest, textStatus, errorThrown);
@@ -522,6 +541,16 @@ export default {
     testImportButton: function (isformalImport) {
       var _self = this;
       var sheetIndex = _self.selectedIndex;
+
+      if(_self.lineCount <= 0){
+        message.warning('请输入正确的导入行数!');
+        return;
+      }
+      if(_self.columnCount <= 0){
+        message.warning('请输入正确的导入列数!');
+        return;
+      }
+
       if (
         _self.selectedDataTemplateNo == '' ||
         _self.selectedDataTemplateNo == undefined
@@ -561,10 +590,11 @@ export default {
         importTable: _self.importTable,
         dataTemplateVersion: _self.selectedDataTemplate.version,
       };
-
+      const lineCount = _self.lineCount;
+      const columnCount = _self.columnCount;
       _self.loading = true;
       $.ajax({
-        url: Common.getApiURL('dataImportResource/saveImportModelData'),
+        url: Common.getApiURL(`dataImportResource/saveImportModelData?lineCount=${lineCount}&columnCount=${columnCount}`),
         type: 'post',
         dataType: 'json',
         contentType: 'application/json',
@@ -656,7 +686,7 @@ export default {
 
       data.forEach(function (item) {
         _self.dataSource.push(item.data);
-        console.log('dataSource:::',_self.dataSource);
+        console.log('dataSource:::', _self.dataSource);
       });
     },
 
@@ -665,10 +695,20 @@ export default {
      */
     runProcessImport: function (selectedDataTemplateNo) {
       var _self = this;
+      if(_self.lineCount <= 0){
+        message.warning('请输入正确的导入行数!');
+        return;
+      }
+      if(_self.columnCount <= 0){
+        message.warning('请输入正确的导入列数!');
+        return;
+      }
       var no = selectedDataTemplateNo;
+      const lineCount = _self.lineCount;
+      const columnCount = _self.columnCount;
       _self.loading = true;
       $.ajax({
-        url: Common.getApiURL('dataImportResource/formalDataImportByIds/') + no,
+        url: Common.getApiURL('dataImportResource/formalDataImportByIds/') + no + `?lineCount=${lineCount}&columnCount=${columnCount}`,
         type: 'post',
         dataType: 'json',
         beforeSend: function (request) {
@@ -696,7 +736,7 @@ export default {
     /**
      * 运行清空流程
      */
-    runProcessClear: function (selectedDataTemplateNo,flag) {
+    runProcessClear: function (selectedDataTemplateNo, flag) {
       var _self = this;
       var no = selectedDataTemplateNo;
       _self.loading = true;
@@ -710,17 +750,20 @@ export default {
         },
         success: function (data) {
           _self.loading = false;
-          if(flag) {
-            message.success(_self.$t('lang.DataImportPanel.describe9')+'!'+ data.processResult.result);
+          if (flag) {
+            message.success(
+              _self.$t('lang.DataImportPanel.describe9') +
+                '!' +
+                data.processResult.result,
+            );
           } else {
-            message.success(_self.$t('lang.DataImportPanel.describe9')+'!'+ data.processResult.result,10);
+            message.success(
+              _self.$t('lang.DataImportPanel.describe9') +
+                '!' +
+                data.processResult.result,
+              10,
+            );
           }
-          // Notify.success(
-          //   _self.$t('lang.DataImportPanel.describe9'),
-          //   data.processResult.result,
-          //   false,
-          // );
-          // return;
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {
           _self.loading = false;
@@ -797,16 +840,16 @@ export default {
   margin-top: 8px;
   position: relative;
 }
-.prevBtn{
+.prevBtn {
   position: absolute;
   left: 0px;
 }
-.nextBtn{
+.nextBtn {
   position: absolute;
   right: 0px;
 }
 
-.btn-primary-1{
+.btn-primary-1 {
   color: #fff;
   background: #1890ff;
   border-color: #1890ff;
@@ -816,14 +859,11 @@ export default {
   border-radius: 2px;
 }
 
-
-.btn-primary-block{
+.btn-primary-block {
   display: block;
 }
 
-
-.btn-primary-import{
+.btn-primary-import {
   margin-left: 5px;
 }
-
 </style>

+ 2 - 0
src/index.js

@@ -69,6 +69,7 @@ import DelegationReport from './client/DelegationReport.vue';
 import PrintTemp from '../src/customer/printTemp/index.vue';
 import PrintCard from '../src/print/PrintCard.vue';
 import DataArchive from '../src/archive/DataArchive.vue';
+import ArchivalRecord from '../src/archive/ArchivalRecord.vue';
 
 
 
@@ -131,4 +132,5 @@ export {
   PrintTemp,
   PrintCard,
   DataArchive,
+  ArchivalRecord,
 };

+ 1642 - 1657
src/locales/zh-CN.json

@@ -1,1661 +1,1646 @@
 {
   "lang": {
-      "login": {
-          "login": "登陆", 
-          "accountInfo": "账套信息", 
-          "pleaseInputUserName": "请输入用户电子邮件地址", 
-          "pleaseInputPassword": "请输入密码", 
-          "pleaseInputVerificationCode": "请输入验证码",
-          "rememberPassword": "记住密码", 
-          "forgetPassword": "忘记密码", 
-          "initClient": "初始化公司", 
-          "createAccount": "创建账户", 
-          "systemManagment": "系统管理", 
-          "systemConfig": "系统配置", 
-          "appDownload": "APP下载", 
-          "copyright": "©2011 上海联物信息科技有限公司 版权所有.",
-          "getVerificationCode": "获取验证码",
-          "getVerificationCodeErrorMssage": "用户名或密码不允许为空",
-          "verificationCodeCannotBeEmpty": "验证码不允许为空",
-          "loginFailure": "登录失败",
-          "second": "秒"
-      }, 
-      "common": {
-          "ok": "确定", 
-          "cancel": "取消"
-      }, 
-      "stastic": {
-          "userCount": "用户总数", 
-          "onlineUserCount": "Web在线人数", 
-          "needApprove": "待处理", 
-          "needReview": "待审阅", 
-          "approved": "已处理", 
-          "rejected": "被驳回"
-      }, 
-      "menuWidget": {
-          "searchMenu": "search menu"
-      }, 
-      "tabGridEdit": {
-          "deleteConfirmation": "删除确认", 
-          "someWhatOne": "您确定要删除选择的", 
-          "someWhatTwo": "条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮", 
-          "someWhatThree": "您确定要删除该条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮", 
-          "determine": "确定", 
-          "cancel": "取消", 
-          "create": "新建", 
-          "createInNewPage": "新建+", 
-          "save": "保存", 
-          "revert": "撤销", 
-          "refresh": "刷新", 
-          "editAll": "编辑全部", 
-          "remove": "删除", 
-          "validateError": "数据校验失败", 
-          "validateErrorMsg": "数据校验失败,存在{errorCount}个错误。", 
-          "pageInfo": "第{start}-{end}条,共计{total}条。 ", 
-          "pageSize": "每页",
-          "advancedSearch": "高级搜索",
-          "describe1": "打开CURD窗口错误",
-          "describe2": "数据未保存",
-          "describe3": "请先保存数据或者撤销改动",
-          "describe4": "点击新建错误",
-          "describe5": "您没有权限新建数据,请联系管理员设置对应的权限",
-          "describe6": "点击编辑全部错误",
-          "describe7": "您没有权限编辑数据,请联系管理员设置对应的权限",
-          "describe8": "点击删除错误",
-          "describe9": "您没有权限删除数据,请联系管理员设置对应的权限",
-          "describe10": "未选择数据",
-          "describe11": "请先选择要删除的数据。",
-          "describe12": "点击删除错误",
-          "describe13": "您没有权限删除数据,请联系管理员设置对应的权限",
-          "describe14": "保存成功",
-          "describe15": "数据保存成功",
-          "describe16": "没有新增或修改数据"
-      }, 
-      "gridHeader": {
-          "operate": "操作", 
-          "serialNumber": "序号"
-      }, 
-      "simpleFilterPanel": {
-          "inputCondition": "输入搜索条件", 
-          "clearHistoryRecord": "清空所有记录"
-      }, 
-      "tabButton": {
-          "other": "其他", 
-          "export": "导出", 
-          "import": "导入", 
-          "notice": "通知", 
-          "executeResult": "执行结果", 
-          "sendNotice": "发送通知", 
-          "send": "发送", 
-          "cancel": "取消", 
-          "open": "打开", 
-          "close": "关闭",
-          "describe1": "明细数据为空",
-          "describe2": "请最少勾选一条数据",
-          "describe3": "未选择可操作的数据",
-          "describe4": "点击导出错误",
-          "describe5": "您没有权限进行导出数据,请联系管理员设置对应的权限",
-          "describe6": "执行失败",
-          "describe7": "没有可操作的数据",
-          "describe8": "请选择消息接收人",
-          "describe9": "请填写消息主题",
-          "describe10": "请填写消息内容",
-          "describe11": "通知",
-          "describe12": "消息发送成功"
-      }, 
-      "gridColumnDef": {
-          "gridField": "表格字段"
-      }, 
-      "vueBootstrapPagination": {
-          "firstPage": "首页", 
-          "lastPage": "尾页", 
-          "previous": "上一页", 
-          "next": "下一页"
-      }, 
-      "tabFormView": {
-          "deleteConfirmation": "删除确认", 
-          "someWhat": "您确定要删除该条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮", 
-          "determine": "确定", 
-          "cancel": "取消", 
-          "create": "新建", 
-          "edit": "编辑", 
-          "refresh": "刷新", 
-          "remove": "删除", 
-          "redraw": "弃审", 
-          "recordInformation": "记录信息", 
-          "reportView": "报表视图", 
-          "formView": "表单视图",
-          "dataException": "数据异常",
-          "reviewDataHasBeenDeleted": "审阅数据已经被删除",
-          "documentHasBeenReviewed": "单据已经审阅",
-          "describe1": "您没有权限审阅本单据数据。",
-          "describe2": "设置单据已经审阅成功。",
-          "clickNewError": "点击新建错误",
-          "describe3": "您没有权限新建数据,请联系管理员设置对应的权限",
-          "clickEditError": "点击编辑错误",
-          "describe4": "您没有权限编辑数据,请联系管理员设置对应的权限",
-          "clickDeleteError": "点击删除错误",
-          "describe5": "您没有权限删除数据,请联系管理员设置对应的权限",
-          "describe6": "存在未设置的审批人",
-          "submitFailed": "提交失败",
-          "describe7": "节点:【{userTaskDtoName}】未选择审批人",
-          "notice": "通知",
-          "describe8": "审批流程启动成功"
-      }, 
-      "formFieldDef": {
-          "formField": "表单字段"
-      }, 
-      "AttributeEditPane": {
-          "deleteConfirmation": "删除确认", 
-          "someWhatOne": "您确定要删除属性值", 
-          "someWhatTwo": "?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮", 
-          "someWhatThree": "您确定要删除属性", 
-          "someWhatFour": "及其属性值?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮", 
-          "determine": "确定", 
-          "cancel": "取消"
-      }, 
-      "subTabGridEdit": {
-          "deleteConfirmation": "删除确认", 
-          "someWhatOne": "您确定要删除选择的", 
-          "someWhatTwo": "条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮", 
-          "someWhatThree": "您确定要删除该条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮", 
-          "determine": "确定", 
-          "cancel": "取消", 
-          "create": "新建", 
-          "edit": "编辑", 
-          "refresh": "刷新", 
-          "remove": "删除", 
-          "revert": "撤销", 
-          "editAll": "编辑全部",
-          "advancedSearch": "高级搜索",
-          "the": "第", 
-          "strip": "条", 
-          "total": "共计", 
-          "displayOnEachPage": "每页显示",
-          "describe1": "没有勾选数据或勾选了不止一条数据",
-          "describe2": "您修改了{changedCount}条数据,删除操作将会放弃这些修改。",
-          "noDataSelected": "未选择数据",
-          "describe3":"请先选择要删除的数据。",
-          "describe4":"存在未保存的数据",
-          "describe5":"存在未保存的数据,请先保存数据"
-
-      }, 
-      "attributeViewPanel": {
-          "attribute": "属性"
-      }, 
-      "workflowSelectUser": {
-          "approve": "审批", 
-          "approveUser": "审批人", 
-          "copyUser": "抄送人", 
-          "submit": "提交审批", 
-          "chooseUser": "选择用户", 
-          "userName": "用户姓名", 
-          "userNo": "用户编号"
-      }, 
-      "workflowUser": {
-          "approve": "审批", 
-          "userName": "用户姓名", 
-          "userNo": "用户编号", 
-          "description": "说明", 
-          "chooseUser": "选择用户", 
-          "approveUser": "审批人", 
-          "remove": "删除", 
-          "submit": "提交审批"
-      }, 
-      "approveComment": {
-          "approveStatus": "审批状态", 
-          "processing": "审批中", 
-          "running": "进行中", 
-          "finished": "已完成", 
-          "needApprove": "待审批", 
-          "approved": "已审批", 
-          "abandon": "已弃审", 
-          "approve": "同意", 
-          "agree": "提交", 
-          "transfer": "转交", 
-          "reject": "拒绝", 
-          "withdraw": "撤回", 
-          "return": "退回", 
-          "comment": "评论", 
-          "attachment": "附件", 
-          "chooseFile": "选择文件", 
-          "submitApprove": "提交了审批", 
-          "submitUser": "发起人", 
-          "chooseUser": "选择用户", 
-          "organizationName": "部门名称", 
-          "userName": "用户姓名", 
-          "userNo": "用户编号", 
-          "query": "查询", 
-          "notice": "提示", 
-          "confirmSubmit": "您确认要提交吗?", 
-          "confirm": "确认", 
-          "cancel": "取消", 
-          "rejectConfirm": "您确认要拒绝吗?", 
-          "returnConfirm": "您确认要退回吗?", 
-          "chooseTransferUser": "选择转交用户", 
-          "transferTo": "转交给", 
-          "inputComment": "填写评论", 
-          "copyUser": "抄送人",
-          "viewApprovalProcess": "查看审批流程",
-          "opinion": "意见",
-          "picture": "图片"
-      }, 
-      "attachmentPanel": {
-          "attachment": "附件", 
-          "addAttachment": "添加附件", 
-          "uploadAttachment": "上传附件", 
-          "download": "下载", 
-          "remove": "删除",
-          "describe1": "您没有权限删除数据。"
-      }, 
-      "attachmentUpload": {
-          "uploadFile": "上传文件", 
-          "captureImage": "扫描图片", 
-          "camera": "摄像头", 
-          "altimeter": "高拍仪",
-          "mustSelectFile": "必须选择一个文件",
-          "attachmentUploadedSuccessfully": "附件上传成功",
-          "uploadSucceeded": "上传成功",
-          "noPermissionUploadAttachments": "你没有权限上传附件",
-          "noPicture": "没有图片",
-          "uploadFailed": "上传失败"
-      }, 
-      "uploadWidget": {
-          "uploadFile": "上传文件"
-      }, 
-      "webSocketImage": {
-          "uploadImage": "上传图片"
-      }, 
-      "webRtcImage": {
-          "uploadImage": "上传图片"
-      }, 
-      "webRtcCapture": {
-          "remove": "删除", 
-          "capture": "抓拍"
-      }, 
-      "imagePreview": {
-          "imagePreview": "图片查看"
-      }, 
-      "tabFormEdit": {
-          "create": "新建", 
-          "edit": "编辑", 
-          "refresh": "刷新", 
-          "remove": "删除", 
-          "redraw": "弃审", 
-          "save": "保存", 
-          "revert": "撤销", 
-          "recordInformation": "记录信息", 
-          "validateError": "数据校验失败", 
-          "validateErrorMsg": "数据校验失败,存在{ errorCount }个错误,{ errorMsg }。", 
-          "reportView": "报表视图", 
-          "formView": "表单视图",
-          "dataNotSaved": "数据未保存",
-          "describe1": "请先保存数据请先保存数据或者撤销改动或者撤销改动",
-          "savingSucceeded": "保存成功",
-          "dataSavingSucceeded": "数据保存成功",
-          "describe2": "数据保存成功,窗口即将关闭。",
-          "describe3": "数据恢复提示",
-          "describe4": "存在草稿,是否恢复数据?",
-          "describe5": "撤销数据",
-          "describe6": "确定撤销数据吗?"
-      }, 
-      "assetBasicSetting": {
-          "baseInformation": "基本信息", 
-          "depreciationInformation": "折旧信息", 
-          "encodingMethod": "编码方式", 
-          "systemIntegration": "系统集成", 
-          "picture": "图片", 
-          "setNo": "账套号", 
-          "setName": "账套名称", 
-          "userClient": "使用单位", 
-          "printPictureOfAssetCard": "资产卡片打印图片", 
-          "printPictureOfAssetCard2": "资产卡片打印图片2", 
-          "printPictureOfAssetCard3": "资产卡片打印图片3", 
-          "printPictureOfAssetCard4": "资产卡片打印图片4", 
-          "printPictureOfAssetCard5": "资产卡片打印图片5", 
-          "depreciationOfThisSet": "本账套计提折旧", 
-          "companyPrefix": "公司前缀", 
-          "enableAssetAcceptanceAndWarehousing": "启用资产验收入库", 
-          "assetCountShowsUnrecognizedAsset": "资产盘点显示不识别资产", 
-          "minimumTimeForAssetCollectionAndReturn": "资产领用归还最小时间(分钟)", 
-          "batchGenerationOfDepartmentChangeDocuments": "批量生成部门变动单", 
-          "mainDepreciationMethods": "主要折旧方法", 
-          "depreciationSummaryAllocationPeriod": "折旧汇总分配周期(月)", 
-          "one": "1", 
-          "two": "2", 
-          "three": "3", 
-          "four": "4", 
-          "six": "6", 
-          "twelve": "12", 
-          "nextDepreciationAllocationMonth": "下次折旧分配月份", 
-          "monthOfOpeningASet": "账套启用月份", 
-          "changesInOriginalValueTakeEffectInTheCurrentPeriod": "原值增减变动当期生效", 
-          "theAdjustment": "净残值(率)调整当期生效", 
-          "depreciationEffectiveAdjustment": "累计折旧调整当期生效", 
-          "When": "当(月初已计提月份=可使用月份-1)时将剩余折旧全是提足(工作量法除外)", 
-          "assetCategoryCodingMethod": "资产类别编码方式", 
-          "totalLength": "总长度", 
-          "assetNumberCodingMethod": "资产编号编码方式", 
-          "manualEncoding": "手动编码", 
-          "automaticCoding": "自动编码", 
-          "assetCodeCategory": "资产编码类别", 
-          "categoryNumberAndSerialNumber": "类别编号+序号", 
-          "departmentNumberAndSerialNumber": "部门编号+序号", 
-          "companyNumberAndManualInput": "公司编号+手动输入", 
-          "assetCodeLength": "资产编码序号长度", 
-          "assetSerialNumber": "资产编号顺序号", 
-          "assetGroupCodingMethod": "资产组编码方式", 
-          "assetCardNumberCodingMethod": "资产卡片编号编码方式", 
-          "assetCardCodingMethod": "资产卡片编码方式", 
-          "assetNumberAndSequenceNumber": "资产编号+顺序号", 
-          "companyPrefixAndAssetNumberAndSequenceNumber": "公司前缀+资产编号+顺序号", 
-          "calculateAccordingToCodeDefinition": "根据编码定义计算", 
-          "u8DatabaseLinkString": "U8数据库链接字符串", 
-          "imageDatabaseLinkString": "图片数据库链接字符串", 
-          "imageServerRootDirectory": "图片服务器根目录", 
-          "determine": "确定", 
-          "regenerateThumbnail": "重新生成缩略图", 
-          "assetConfig": "资产设置", 
-          "edit": "编辑", 
-          "cancelEdit": "取消编辑"
-      }, 
-      "AssetDetailList": {
-          "assetList": "资产清单", 
-          "search": "搜索", 
-          "export": "导出", 
-          "empty": "清空", 
-          "the": "第", 
-          "strip": "条", 
-          "total": "共计", 
-          "displayOnEachPage": "每页显示", 
-          "ownerDepartment": " 所属部门", 
-          "useDepartment": "使用部门", 
-          "assetCategory": "资产类别", 
-          "projectSelection": "项目选择", 
-          "other": "其他", 
-          "usageStatus": "使用状况", 
-          "assetsInService": "在役资产", 
-          "reducedAssets": "已减少资产", 
-          "assetNumber": "资产编号", 
-          "startDate": "启用日期", 
-          "originalValue": "原值", 
-          "accumulatedDepreciation": "累计折旧", 
-          "serviceLife": "使用年限(月)", 
-          "selfNumbering": "自编号", 
-          "vehicleNo": "车牌号", 
-          "areThereAnyPictures": "是否有图片", 
-          "true": "是", 
-          "false": "否", 
-          "amountTo": "总计", 
-          "totalNumberOfCards": "卡片总数", 
-          "totalAssets": "资产总数", 
-          "totalOfOriginalValue": "原值总计", 
-          "totalNetResidualValue": "净残值总计", 
-          "selectTheFieldsToExport": "选择需要导出的字段", 
-          "ownerClient": "所属单位", 
-          "useClient": "使用单位", 
-          "assetName": "资产名称", 
-          "cardName": "卡片名称", 
-          "cardNo": "卡片编号", 
-          "qrCode": "二维码", 
-          "electronicCoding": "电子编码", 
-          "assetClassification": "资产分类", 
-          "specificationAndType": "规格型号", 
-          "quantity": "数量", 
-          "unitOfMeasurement": "计量单位", 
-          "itemNo": "项目编号", 
-          "objectName": "项目名称", 
-          "increaseMethod": "增加方式", 
-          "methodOfDepreciation": "折旧方法", 
-          "accruedMonth": "已计提月份", 
-          "netResidualValueRate": "净残值率", 
-          "netResidualValue": "净残值", 
-          "monthlyDepreciationRate": "月折旧率", 
-          "theAMountOfDepreciationIsWithDrawnThisMonth": "本月计提折旧额", 
-          "remarks": "备注", 
-          "necessaryToMakeAnAppointment": "需预约", 
-          "needToMaintain": "需保养", 
-          "supplier": "供应商", 
-          "manufacturer": "制造商", 
-          "factoryNumber": "出厂编号", 
-          "detailedParameters": "详细参数", 
-          "operatingProcedures": "操作规程", 
-          "contractNo": "合同编号", 
-          "invoiceNumber": "发票编号", 
-          "purchaseDate": "购置(出厂)日期", 
-          "warrantyDeadline": "保修截止日期", 
-          "subscriber": "申购人", 
-          "purchaser": "采购人", 
-          "personliable": "责任人", 
-          "user": "使用人", 
-          "userInput": "使用人(录入)", 
-          "placementRoom": "放置房间", 
-          "placeOfPlacement": "放置地点", 
-          "accuntingSubject": "会计科目", 
-          "thereArePictures": "有图片"
-      }, 
-      "AssetCheck": {
-          "generateAssetFromAssetAcceptanceDocument": "资产验收单生成资产", 
-          "supplier": "供货单位", 
-          "personInChargeOfSupplier": "供货单位负责人", 
-          "contactInformationOfSupplier": "供货单位联系方式", 
-          "assetName": "资产名称", 
-          "assetCategory": "资产类别", 
-          "unitOfMeasurement": "计量单位", 
-          "type": "规格型号", 
-          "quantity": " 数量", 
-          "contractAmount": "合同金额", 
-          "performanceBond": "履约保证金", 
-          "placeOfAcceptance": "验收地点", 
-          "acceptanceDate": "验收日期", 
-          "acceptanceComments": "验收意见", 
-          "expectedServiceLife": "预计使用年限(月)", 
-          "expectedNetResidualValue": "预计净残值", 
-          "technicalDataAvailable": "有技术资料", 
-          "receivingDepartment": "接收部门", 
-          "custodian": "保管人", 
-          "personLiable": "责任人", 
-          "remarks": "备注", 
-          "documentNumberOfAssetPurchaseOrder": "资产采购单单据号", 
-          "nameOfAssetPurchase": "资产采购名称", 
-          "assetPurchaseSpecificationAndModel": "资产采购规格型号", 
-          "assetsGeneratedFromAssetAcceptanceDocument": "资产验收单生成的资产", 
-          "whetherTheAssetAcceptanceDocumentHasGeneratedAssets": "资产验收单是否已生成资产", 
-          "assetsClassification": "资产分类", 
-          "generateAssets": "生成资产"
-      }, 
-      "AssetInstancePrint": {
-          "assetCardPrintingQueue": "资产卡片打印队列", 
-          "printing": "打印", 
-          "printPdf": "打印PDF", 
-          "delete": "删除", 
-          "book": "账套", 
-          "period": "期间", 
-          "assetNumber": "资产编号", 
-          "assetCategory": "资产类别", 
-          "lifeYearMonth": "折旧年限", 
-          "costCenter": "成本中心", 
-          "acquisitionDate": "启用日期", 
-          "cost": "资产成本", 
-          "assetCostAccount": "原值会计科目", 
-          "depreciationAmount": "本期折旧金额", 
-          "account": "折旧会计科目", 
-          "ytdDepreciation": "本年度折旧额", 
-          "ltdDepreciation": "总折旧额", 
-          "reserveAccount": "累计折旧会计科目", 
-          "nbvPeriodEnd": "期末净现值", 
-          "method": "折旧方法", 
-          "location": "地点", 
-          "serialNumber": "序列号", 
-          "tagNumber": "标签编号", 
-          "balancingSegment": "公司代码", 
-          "description": "资产名称", 
-          "the": "第", 
-          "strip": "条", 
-          "total": "共计", 
-          "displayOnEachPage": "每页显示", 
-          "assetCardPrintingReport": "资产卡片打印报表"
-      }, 
-      "AssetInstanceSearchDetail": {
-          "assetCardDetails": "资产卡片详细信息", 
-          "ownerClient": "所属单位", 
-          "ownerDepartment": "所属部门", 
-          "useClient": "使用单位", 
-          "useDepartment": "使用部门", 
-          "assetName": "资产名称", 
-          "assetNumber": "资产编号", 
-          "originalAssetNumber": "原资产编号", 
-          "cardName": "卡片名称", 
-          "cardNumber": "卡片编号", 
-          "barcode": "二维码", 
-          "epc": "电子编码", 
-          "noteName": "备注名", 
-          "type": "规格型号", 
-          "categoryName": "类别名称", 
-          "projectName": "项目名称", 
-          "placeOfPlacement": "放置地点", 
-          "placementRoom": "放置位置", 
-          "originalValue": "原值", 
-          "unitOfMeasurement": "计量单位", 
-          "subscriber": "申购人", 
-          "purchaser": "采购人", 
-          "receiver": "领用人", 
-          "use": "使用人", 
-          "custodian": "保管人", 
-          "personLiable": "责任人", 
-          "usageStatus": "使用状况", 
-          "quantity": "数量", 
-          "validUntil": "有效日期至", 
-          "technicalIndex": "技术指标", 
-          "waysToIncrease": "增加方式", 
-          "depreciationMethod": "折旧方法", 
-          "serviceMonths": "使用月限", 
-          "startUseDate": "开始使用日期", 
-          "totalAmountOfWork": "工作总量", 
-          "accruedMonth": "已计提月份", 
-          "netResidualValueRate": "净残值率", 
-          "netResidualValue": "净残值", 
-          "accumulatedDepreciation": "累计折旧", 
-          "monthlyDepreciationRate": "月折旧率", 
-          "theAmountOfDepreciationIsWithdrawnThisMonth": "本月计提折旧额", 
-          "netWorth": "净值", 
-          "pictureURL": "图片网址", 
-          "invoicePictureAddress": "发票图片地址", 
-          "otherPictureWebsites": "其他图片网址", 
-          "remarks": "备注", 
-          "necessaryToMakeAnAppointment": "需预约", 
-          "needToMaintain": "需保养", 
-          "supplier": "供应商", 
-          "manufacturer": "制造商", 
-          "maintenanceUnit": "维保单位", 
-          "factoryNumber": "出厂编号", 
-          "detailedParameters": "详细参数", 
-          "operatingProcedures": "操作规程", 
-          "purchaseDate": "购置(出厂)日期", 
-          "financialEntryDate": "财务入账日期", 
-          "contractNo": "合同编号", 
-          "invoiceNumber": "发票编号", 
-          "warrantyDeadline": "保修截止日期", 
-          "importTime": "导入时间", 
-          "accountingSubjects": "会计科目", 
-          "userInput": "使用人(录入)", 
-          "licensePlate": "车牌号码", 
-          "selfNumbering": "自编号", 
-          "computerName": "计算机名称", 
-          "ipAddress": "IP地址", 
-          "macAddress": "MAC地址", 
-          "lifeCycle": "生命周期", 
-          "currentLocation": "当前位置", 
-          "historicalPosition": "历史位置", 
-          "inAndOutRecords": "进出记录", 
-          "time": "时间", 
-          "startTime": "开始时间", 
-          "endTime": "结束时间", 
-          "determine": "确定", 
-          "serialNumber": "序号", 
-          "place": "地点", 
-          "picture": "图片", 
-          "scanTime": "扫描时间", 
-          "scanner": "扫描人", 
-          "position": "扫描位置", 
-          "totalQueries": "共查询到", 
-          "data": "数据", 
-          "strip": "条", 
-          "true": "是", 
-          "false": "否"
-      }, 
-      "AssetInventorySearch": {
-          "generateAssetCountDetails": "生成资产盘点明细", 
-          "query": "查询", 
-          "empty": "清空", 
-          "ownerDepartment": "所属部门", 
-          "category": "类别", 
-          "project": "项目", 
-          "ownerClient": "所属单位", 
-          "useClient": "使用单位", 
-          "useDepartment": "使用部门", 
-          "assetName": "资产名称", 
-          "assetNumber": "资产编号", 
-          "cardNumber": "卡片编号", 
-          "type": "规格型号", 
-          "assetClassification": "资产分类", 
-          "subordinateToTheProject": "所属项目", 
-          "originalValue": "原值", 
-          "placeOfPlacement": "放置地点", 
-          "placementRoom": "放置位置", 
-          "unitOfMeasurement": "计量单位", 
-          "user": "使用人", 
-          "usageStatus": "使用状况", 
-          "userInput": "使用人(输入)", 
-          "licensePlate": "车牌号码", 
-          "selfNumbering": "自编号", 
-          "startUseDate": "开始使用日期", 
-          "remarks": "备注", 
-          "totalOfOriginalValue": "原值总计", 
-          "the": "第", 
-          "strip": "条", 
-          "inTotal": "共", 
-          "eachPage": "每页"
-      }, 
-      "AutoGenerateAsset": {
-          "assetPurchaseOrderDetailsGenerateAsset": "资产采购单明细生成资产", 
-          "documentNumber": "单据号", 
-          "assetName": "资产名称", 
-          "type": "规格型号", 
-          "unitPrice": "单价", 
-          "number": "数量", 
-          "totalprice": "总价", 
-          "assetclassification": "资产分类", 
-          "generateassets": "生成资产"
-      }, 
-      "CopyAsset": {
-          "copyAssets": "复制资产", 
-          "return": "返回", 
-          "determine": "确定", 
-          "assetName": "资产名称", 
-          "assetNumber": "资产编号", 
-          "type": "规格型号", 
-          "assetClassification": "资产分类", 
-          "unitPrice": "单价", 
-          "number": "数量", 
-          "numberOfCopies": "复制数量"
-      }, 
-      "CustomPrintAssetInstance": {
-          "selectTemplateToPrintAssetCard": "选择模板打印资产卡片", 
-          "back": "返回", 
-          "assetName": "资产名称", 
-          "assetNumber": "资产编号", 
-          "type": "规格型号", 
-          "categoryName": "类别名称", 
-          "printTemplate": "打印模板", 
-          "printing": "打印"
-      }, 
-      "AssetWorkLoadInput": {
-          "workloadInputOfFixedAssets": "固定资产工作量输入", 
-          "selectMonth": "选择月份", 
-          "closed": "(已关闭)", 
-          "login": "登录", 
-          "refresh": "刷新", 
-          "empty": "清空", 
-          "save": "保存", 
-          "serialNumber": "序号", 
-          "ownerClient": "所属单位", 
-          "ownerDepartment": "所属部门", 
-          "useClient": "使用单位", 
-          "useDepartment": "使用部门", 
-          "assetName": "资产名称", 
-          "assetNo": "资产编号", 
-          "assetSpecificationAndModel": "资产规格型号", 
-          "totalAmountOfWork": "工作总量", 
-          "assetWorkloadOfLastPeriodNumber": "上期间工作量", 
-          "monthlyWorkload": "本月工作量", 
-          "cumulativeWorkload": "累计工作量"
-      }, 
-      "DepreciationDetailList": {
-          "depreciationOfFixedAssets": "固定资产折旧", 
-          "selectMonth": "选择月份", 
-          "closed": "(已关闭)", 
-          "login": "登录", 
-          "query": "查询", 
-          "provisionForDepreciation": "计提折旧", 
-          "queryByUseDepartment": "按使用部门查询", 
-          "queryByDepartment": "按所属部门查询", 
-          "queryByAssetCategory": "按资产类别查询", 
-          "serialNumber": "序号", 
-          "ownerClient": "所属单位", 
-          "ownerDepartment": "所属部门", 
-          "useClient": "使用单位", 
-          "useDepartment": "使用部门", 
-          "assetName": "资产名称", 
-          "assetNo": "资产编号", 
-          "assetSpecificationAndModel": "资产规格型号", 
-          "assetClass": "资产类别", 
-          "originalValue": "原值", 
-          "monthlyDepreciation": "月折旧额", 
-          "accumulatedDepreciation": "累计折旧", 
-          "accumulatedDepreciationInThisYear": "本年累计折旧", 
-          "total": "总计", 
-          "strip": "条", 
-          "totalOfOriginalValue": "原值总计", 
-          "totalDepreciationOfTheMonth": "本月总折旧额", 
-          "totalWorkloadOfThisMonth": "本月总工作量", 
-          "totalAmountOfAccumulatedProvisionForImpairment": "累计减值准备金额总计", 
-          "totalNetResidualValue": "净残值总计", 
-          "totalNetWorth": "净值总计", 
-          "depreciationCompleted": "计提折旧完成"
-      }, 
-      "DepreciationDistribution": {
-          "distributionOfDismantlingTheOld": "拆旧分配", 
-          "modeOfDistribution": "分配方式", 
-          "distributionByDepartment": "按部门分配", 
-          "distributionByCategory": "按类别分配", 
-          "selectMonth": "选择月份", 
-          "login": "登录", 
-          "query": "查询", 
-          "serialNumber": "序号", 
-          "departmentNumber": "部门编号", 
-          "departmentName": "部门名称", 
-          "projectNumber": "项目编号", 
-          "projectName": "项目名称", 
-          "courseNumber": "科目编号", 
-          "courseName": "科目名称", 
-          "depreciation": "折旧额", 
-          "categoryNumber": "类别编号", 
-          "categoryName": "类别名称"
-      }, 
-      "SettleAccountAtTheEndOfMonth": {
-          "monthEndClosing": "月末结账", 
-          "selectMonth": "选择月份", 
-          "recalculation": "重新测算", 
-          "settleAccounts": "结账", 
-          "counterSettlement": "反结账", 
-          "amountOfMoney": "金额", 
-          "generateBookkeepingVoucher": "生成记账凭证", 
-          "templateOfEndingCarryForwardVoucher": "期末结转凭证模板", 
-          "addVoucherTemplate": "添加凭证模板", 
-          "voucherTemplateName": "凭证模板名称", 
-          "voucherGenerationDate": "生成凭证日期", 
-          "selectVoucherType": "选择凭证类型", 
-          "mark": "记", 
-          "silver": "银", 
-          "present": "现", 
-          "selectVoucherTemplateType": "选择凭证模板类型", 
-          "provisionForDepreciation": "计提折旧", 
-          "delete": "删除", 
-          "determine": "确定", 
-          "voucherTemplateSummary": "凭证模板摘要"
-      }, 
-      "AssetByRfid": {
-          "assetInAndOutRecords": "资产进出记录", 
-          "startTime": "开始时间", 
-          "endTime": "结束时间", 
-          "storageLocation": "存放地点", 
-          "determine": "确定", 
-          "export": "导出", 
-          "serialNumber": "序号", 
-          "assetName": "资产名称", 
-          "assetNumber": "资产编号", 
-          "assetCategory": "资产分类", 
-          "assetEPC": "资产Epc", 
-          "startUseTime": "开始使用时间", 
-          "remarks": "备注"
-      }, 
-      "OASetting": {
-          "oASettings": "OA设置", 
-          "imageDatabaseLinkString": "图片数据库链接字符串", 
-          "imageServerRootDirectory": "图片服务器根目录", 
-          "snapshotServerRequestPathOne": "抓拍服务器请求路径(抓拍至硬盘)", 
-          "snapshotServerRequestPathTwo": "抓拍服务器请求路径(抓拍至内存)", 
-          "surveillanceCameraNumber": "监控摄像头编号(设备id_通道号)", 
-          "companyAadministratorSettings": "公司管理员设置", 
-          "surveillanceCameraChannelNumber": "监控摄像头通道号(设备id_通道号)", 
-          "edit": "编辑", 
-          "cancelEdit": "取消编辑", 
-          "determine": "确定"
-      }, 
-      "WorkflowEdit": {
-          "workflowManagement": "工作流管理", 
-          "queryCondition": "查询条件", 
-          "query": "查询", 
-          "newlyBuild": "新建", 
-          "serialNumber": "序号", 
-          "corporateName": "公司名称", 
-          "workflowName": "工作流名称", 
-          "filePath": "文件路径", 
-          "window": "窗口", 
-          "workflowType": "工作流类型", 
-          "deploymentStatus": "部署状态", 
-          "workflowDefinition": "工作流定义", 
-          "windowName": "窗口名称", 
-          "workflowFilePath": "工作流文件路径", 
-          "deployed": "已部署", 
-          "notDeployed": "未部署", 
-          "deleteProcessVerificationPassword": "删除流程验证密码", 
-          "editor": "编辑器", 
-          "delete": "删除", 
-          "save": "保存", 
-          "synchronization": "同步", 
-          "deleteInstance": "删除实例", 
-          "numberOfProcessInstances": "流程实例数量", 
-          "manualStartProcess": "手工启动流程", 
-          "export": "导出", 
-          "import": "导入", 
-          "workflowJsonFile": "工作流JSON文件", 
-          "cancel": "取消", 
-          "determine": "确定"
-      }, 
-      "DataImportPanel": {
-          "DataImport": "数据导入", 
-          "stepOne": "步骤1", 
-          "selectTemplate": "选择模板", 
-          "downloadTemplate": "下载模板", 
-          "stepTwo": "步骤2", 
-          "stepThree": "步骤3", 
-          "testImport": "测试导入", 
-          "formalImport": "正式导入", 
-          "emptyImport": "清空导入", 
-          "chooseSheet": "选择Sheet",
-          "completeTask": "完成任务",
-          "processingResults": "处理结果",
-          "describe1":"必须选择一个文件",
-          "describe2":"必须是Excel 2003~2007 文件格式(xls)",
-          "describe3":"请先选择导入模板",
-          "describe4":"请先选择需要导入的excel的页",
-          "describe5":"导入操作完毕,请查看界面上的处理结果字段。",
-          "describe6":"模拟导入操作完毕,请查看界面上的处理结果字段。",
-          "describe7":"导入操作完毕,数据存在异常,请查看处理结果字段。",
-          "describe8":"模拟导入操作完毕,数据存在异常,请查看处理结果字段。",
-          "describe9": "导入成功",
-          "describe10": "请先选择任务。",
-          "describe11": "设置任务完成成功"
-      }, 
-      "BarCodeEdit": {
-          "barcodeEditor": "条码编辑器", 
-          "foundationTemplate": "基础模板", 
-          "customTemplate": "自定义模板"
-      }, 
-      "BarCodeEditPanel": {
-          "selectPrintTemplate": "选择打印模板", 
-          "refresh": "刷新", 
-          "save": "保存", 
-          "download": "下载", 
-          "customTemplate": "自定义模板"
-      }, 
-      "CustomerBarCodeEditPanel": {
-          "selectPrintTemplate": "选择打印模板", 
-          "refresh": "刷新", 
-          "save": "保存", 
-          "delete": "删除", 
-          "upload": "上传", 
-          "download": "下载", 
-          "setAsDefaultTemplate": "设置为默认模板", 
-          "distributedToSubsidiaries": "下发到子公司", 
-          "edit": "编辑", 
-          "editTemplate": "编辑模板", 
-          "templateName": "模板名称", 
-          "templateNumber": "模板编号", 
-          "templateType": "模板类型", 
-          "extraData": "自定义设置", 
-          "sqlStatement": "sql语句", 
-          "uploadTemplate": "上传模板", 
-          "templateContent": "模板内容", 
-          "cancel": "取消", 
-          "determine": "确定"
-      }, 
-      "PrintWidget": {
-          "selectPrinter": "选择打印机", 
-          "cardIssuingMachine": "发卡机", 
-          "printing": "打印"
-      }, 
-      "OrganizationEditPanel": {
-          "departmentManagement": "部门管理", 
-          "newDepartment": "新建部门", 
-          "deleteDepartment": "删除部门", 
-          "refresh": "刷新", 
-          "corporateName": "公司名称", 
-          "departmentInquiry": "部门查询", 
-          "departmentNumber": "部门编号", 
-          "departmentName": "部门名称", 
-          "superiorDepartment": "上级部门", 
-          "departmentProfile": "部门简介", 
-          "save": "保存", 
-          "companyNumber": "公司编号", 
-          "edit": "编辑", 
-          "cancelEditing": "取消编辑", 
-          "departmentManager": "部门管理员", 
-          "companyManger": "公司管理员",
-          "describe1": "没有可以修改的数据",
-          "describe2": "部门查询失败",
-          "describe3": "删除成功",
-          "describe4": "请先选择部门",
-          "describe5": "数据填写不完整",
-          "describe6": "保存成功"
-      }, 
-      "RoleAppMenuEdit": {
-          "save": "保存", 
-          "refresh": "刷新", 
-          "menuName": "菜单名称", 
-          "accessible": "可访问", 
-          "readOnly": "只读", 
-          "allowDeletion": "允许删除", 
-          "exportable": "可导出", 
-          "downloadableAttachment": "可下载附件", 
-          "attachmentCanBeUploaded": "可上传附件", 
-          "attachmentCanBeDeleted": "可删除附件"
-      }, 
-      "RoleDashboardEdit": {
-          "save": "保存", 
-          "refresh": "刷新", 
-          "kanbanName": "看板名称", 
-          "kanbanNo": "看板编号", 
-          "accessible": "可访问", 
-          "lineNumber": "行号"
-      }, 
-      "RoleEdit": {
-          "modulePermissions": "模块权限", 
-          "departmentAuthority": "部门权限", 
-          "menuPermissions": "菜单权限", 
-          "appPermissions": "APP权限", 
-          "kanbanAuthority": "看板权限", 
-          "importPermission": "导入权限", 
-          "processReportPermission": "流程报表权限", 
-          "role": "角色", 
-          "edit": "编辑", 
-          "editRole": "编辑角色", 
-          "newlyAdded": "新增", 
-          "save": "保存", 
-          "serialNumber": "序号", 
-          "departmentName": "部门名称", 
-          "roleName": "角色名称", 
-          "roleDescription": "角色描述", 
-          "operation": "操作", 
-          "delete": "删除", 
-          "roleEdit": "角色编辑", 
-          "pleaseSelectACompany": "请选择单位"
-      }, 
-      "RoleImportTemplateEdit": {
-          "modular": "模块", 
-          "save": "保存", 
-          "refresh": "刷新", 
-          "sortNumber": "排序编号", 
-          "dataTemplateName": "数据模板名称", 
-          "relativePathOfDataTemplate": "数据模板相对路径", 
-          "accessible": "可访问"
-      }, 
-      "RoleMenuEdit": {
-          "save": "保存", 
-          "refresh": "刷新", 
-          "menuName": "菜单名称", 
-          "accessible": "可访问", 
-          "readOnly": "只读", 
-          "allowDeletion": "允许删除", 
-          "exportable": "可导出", 
-          "downloadableAttachment": "可下载附件", 
-          "attachmentCanBeUploaded": "可上传附件", 
-          "attachmentCanBeDeleted": "可删除附件", 
-          "justLookAtYourOwnCreation": "只看自己创建"
-      }, 
-      "RoleModuleEdit": {
-          "save": "保存", 
-          "refresh": "刷新", 
-          "moduleNumber": "模块编号", 
-          "moduleName": "模块名称", 
-          "accessible": "可访问"
-      }, 
-      "RoleOrganizationEdit": {
-          "save": "保存", 
-          "refresh": "刷新", 
-          "clientAndDepartment": "单位/部门", 
-          "accessible": "可访问", 
-          "allowQueries": "允许查询", 
-          "allowNew": "允许新建", 
-          "allowUpdates": "允许更新", 
-          "allowDeletion": "允许删除"
-      }, 
-      "RoleProcessReportEdit": {
-          "save": "保存", 
-          "refresh": "刷新", 
-          "processAndReportName": "流程和报表名称", 
-          "accessible": "可访问"
-      }, 
-      "DataSyncEdit": {
-          "u8AssetNumberSynchronization": "U8资产编号同步", 
-          "assetsToBeAdded": "U8待新增资产", 
-          "prodogUnnumberedAssets": "Prodog无编号资产", 
-          "refresh": "刷新", 
-          "save": "保存"
-      }, 
-      "DataSync": {
-          "basicDataSynchronization": "基础数据同步", 
-          "assetCardToBeAdded": "待新增资产卡片", 
-          "assetCardToBeUpdated": "待更新资产卡片", 
-          "performSynchronization": "执行同步", 
-          "serialNumber": "序号", 
-          "synchronizationItem": "同步项", 
-          "synchronizationResults": "同步结果", 
-          "success": "成功", 
-          "fail": "失败", 
-          "assetNumber": "资产编号", 
-          "assetName": "资产名称", 
-          "type": "规格型号", 
-          "departmentNumber": "部门编号", 
-          "handle": "处理", 
-          "noData": "无数据"
-      }, 
-      "AssetBatchOperationOrganization": {
-          "assetConfirmationBatchTransfer": "资产确认批量转移", 
-          "ownerDepartmentAfterTransfer": "转移后的所属部门", 
-          "ownerClientAfterTransfer": "转移后的所属单位", 
-          "useDepartmentAfterTransfer": "转移后的使用部门", 
-          "useClientAfterTransfer": "转移后的使用单位", 
-          "newStorageLocation": "新存放地点", 
-          "personHhandlingAParticularTask": "调拨经手人", 
-          "reasonsForTransfer": "转移原因", 
-          "pleaseFillInTheReasonForTransfer": "请填写转移原因", 
-          "query": "查询", 
-          "cancelTransfer": "取消转移", 
-          "generateDepartmentChangeDocument": "生成部门变动单", 
-          "generateAssetTransferDocument": "生成资产调拨单"
-      }, 
-      "AssetBatchOperationQuery": {
-          "batchOfAssets": "资产批量", 
-          "assetName": "资产名称", 
-          "assetNumber": "资产编号", 
-          "cardNumber": "卡片编号", 
-          "type": "规格型号", 
-          "query": "查询", 
-          "joinToBe": "加入待", 
-          "detailedList": "清单", 
-          "openToWait": "打开待", 
-          "ownerDepartment": "所属单位部门", 
-          "useDepartment": "使用单位部门", 
-          "projectName": "项目名称", 
-          "assetCategory": "资产类别", 
-          "originalValue": "原值", 
-          "placeOfPlacement": "放置地点", 
-          "aRoomToBePlacedIn": "放置位置", 
-          "startDate": "开始使用日期", 
-          "user": "使用人", 
-          "specificationUser": "规格使用人(输入)", 
-          "usageStatus": "使用状况"
-      }, 
-      "AssetBatchOperationQueue": {
-          "assetName": "资产名称", 
-          "assetNumber": "资产编号", 
-          "cardNumber": "卡片编号", 
-          "ownerDepartment": "所属单位部门", 
-          "useDepartment": "使用单位部门", 
-          "type": "规格型号", 
-          "projectName": "项目名称", 
-          "assetCategory": "资产类别", 
-          "originalValue": "原值", 
-          "placeOfPlacement": "放置地点", 
-          "aRoomToBePlacedIn": "放置位置", 
-          "startDate": "开始使用日期", 
-          "user": "使用人", 
-          "userInput": "使用人(输入)", 
-          "usageStatus": "使用状况"
-      }, 
-      "AssetBatchOperationScrap": {
-          "assetConfirmationBatchScrapping": "资产确认批量报废", 
-          "serviceConditionAfterScrap": "报废后使用状况", 
-          "reasonsForScrapping": "报废原因", 
-          "pleaseFillInTheScrapReason": "请填写报废原因", 
-          "query": "查询", 
-          "cancelScrapping": "取消报废", 
-          "confirmScrap": "确认报废"
-      }, 
-      "InventoryCheckLoss": {
-          "dataProcessingOfAssetInventoryLoss": "资产盘亏数据处理", 
-          "back": "返回", 
-          "serialNumber": "序号", 
-          "assetName": "资产名称", 
-          "assetNumber": "资产编号", 
-          "type": "规格型号", 
-          "cardNumber": "卡片编号", 
-          "inventoryLocationOfOtherDepartments": "其他部门盘点位置", 
-          "inventoryTimeOfOtherDepartments": "其他部门盘点时间", 
-          "handle": "处理"
-      }, 
-      "workflowUserDefine": {
-          "submit": "提交审批", 
-          "copyUser": "抄送人", 
-          "approve": "发起审批"
-      }, 
-      "previousNodeSelectUser": {
-          "copyUser": "抄送人", 
-          "selectUser": "选择审批人"
-      }, 
-      "TabButton": {
-          "dataExport": "数据导出", 
-          "DataExport": "如果您只要导出主表的数据(较快),那么点击【导出主表数据】按钮。如果您要导出明细表的数据(较慢),那么点击【导出全部数据】按钮。", 
-          "exportMasterTableData": "导出主表数据", 
-          "exportAllData": "导出全部数据", 
-          "cancel": "取消"
-      }, 
-      "FinanceBasicSetting": {
-          "financialSettings": "财务设置", 
-          "basicInformation": "基本信息", 
-          "setNo": "账套号", 
-          "setName": "账套名称", 
-          "userClient": "使用单位", 
-          "monthOfOpeningASet": "账套启用月份", 
-          "edit": "编辑", 
-          "cancelEditing": "取消编辑", 
-          "determine": "确定"
-      }, 
-      "Period": {
-          "period": "期间", 
-          "particularYear": "年份", 
-          "startDate": "起始日期", 
-          "endDate": "结束日期", 
-          "state": "状态", 
-          "open": "打开", 
-          "cancelOpening": "取消打开", 
-          "settleAccounts": "已结账", 
-          "theLatestFiscalYearOfTheCurrentSetIs": "当前账套的最新会计年度为", 
-          "year": "年", 
-          "delete": "删除", 
-          "openAllPeriods": "打开全部期间", 
-          "closeAllPeriods": "关闭全部期间", 
-          "canCreateNew": "可以新建", 
-          "annualAccountingCalendar": "年的会计月历", 
-          "increase": "增加"
-      }, 
-      "AccountSubject": {
-          "accountingSubject": "会计科目", 
-          "assets": "资产", 
-          "liabilities": "负债", 
-          "rightsAndInterests": "权益", 
-          "cost": "成本", 
-          "profitAndLoss": "损益", 
-          "commonClass": "共同类", 
-          "name": "名称", 
-          "code": "编码", 
-          "category": "类别", 
-          "balanceDirection": "余额方向", 
-          "cashAccount": "是否现金科目", 
-          "state": "状态", 
-          "operation": "操作", 
-          "import": "导入", 
-          "export": "导出", 
-          "newlyAdded": "新增", 
-          "delete": "删除", 
-          "batchEnable": "批量启用", 
-          "batchDisable": "批量禁用"
-      }, 
-      "MenuFieldEdit": {
-          "menuCustomization": "菜单自定义", 
-          "menuName": "菜单名称", 
-          "modifyMenuName": "修改菜单名称", 
-          "cancel": "取消", 
-          "save": "保存"
-      }, 
-      "RoleCurdField": {
-          "roleFieldAccessPermissions": "角色字段访问权限", 
-          "role": "角 色 ", 
-          "window": "窗 口 ", 
-          "pleaseSelectTheRole": "请选择角色", 
-          "pleaseSelectTheWindowName": "请选择窗口名称", 
-          "save": "保存", 
-          "presentation": "提示", 
-          "successfulPreservation": "保存成功"
-      }, 
-      "imageUpload": {
-          "upload": "上传图片"
-      }, 
-      "AssignCompanyAdministrator": {
-          "assignAssetManagers": "分配使用公司、使用部门、存放地点的资产管理员", 
-          "areYouSureToCancel": "您确定取消吗?", 
-          "cancel": "取消", 
-          "edit": "编辑", 
-          "complete": "完成", 
-          "company": "使用公司", 
-          "department": "使用部门", 
-          "placeOfBusiness": "存放场所", 
-          "departmentManager": "部门经理", 
-          "assetAdministratorEmail": "资产管理员-电子邮箱", 
-          "assetManagerNickname": "资产管理员-昵称", 
-          "operation": "操作",
-          "describe1": "查询公司部门营业场所部门经理资产管理员信息异常",
-          "describe2": "请填写资产管理员昵称",
-          "describe3": "请填写资产管理员邮箱",
-          "describe4": "未填写资产管理员-昵称",
-          "describe5": "未填写资产管理员-电子邮箱",
-          "describe6": "分配资产管理员成功",
-          "close": "关闭"
-      }, 
-      "AssignCompanyAdministratorTwo": {
-          "assignAssetManagers": "修改使用公司、使用部门、存放地点的资产管理员", 
-          "areYouSureToCancel": "您确定取消吗?", 
-          "cancel": "取消", 
-          "edit": "编辑", 
-          "complete": "修改", 
-          "company": "使用公司", 
-          "department": "使用部门", 
-          "storageLocation": "存放地点", 
-          "departmentManager": "部门经理", 
-          "assetAdministratorEmail": "资产管理员-电子邮箱", 
-          "assetManagerNickname": "资产管理员-昵称", 
-          "operation": "操作",
-          "describe1": "查询公司部门营业场所部门经理资产管理员信息异常",
-          "describe2": "请填写资产管理员昵称",
-          "describe3": "请填写资产管理员邮箱",
-          "describe4": "未填写资产管理员-昵称",
-          "describe5": "未填写资产管理员-电子邮箱",
-          "describe6": "分配资产管理员成功"
-      }, 
-      "ActivitiAdmin": {
-          "workflowEditing": "工作流编辑", 
-          "newlyAdded": "新增", 
-          "refresh": "刷新", 
-          "download": "下载", 
-          "delete": "删除", 
-          "upload": "上传", 
-          "edit": "编辑", 
-          "deploy": "部署", 
-          "deleteDeployment": "删除部署", 
-          "pleaseConfirm": "请确认删除工作流", 
-          "areYouSure": "您确定要删除选中的", 
-          "Name": "名称", 
-          "creationTime": "创建时间", 
-          "updateTime": "更新时间", 
-          "deploymentID": "部署Id", 
-          "tenantID": "租户Id", 
-          "operation": "操作"
-      }, 
-      "TaskProcessManagement": {
-          "taskManagement": "任务管理", 
-          "newlyAdded": "创建任务", 
-          "editTask": "编辑任务", 
-          "basicConfiguration": "1.基本配置", 
-          "name": "名称", 
-          "enterATaskName": "请输入任务名称", 
-          "describe": "描述", 
-          "fillTaskDescription": "请填写任务描述", 
-          "taskType": "任务类型", 
-          "selectTaskType": "请选择任务类型", 
-          "processReport": "流程报表", 
-          "processReportFileCode": "流程报表文件编码", 
-          "fillProcessReportFileCode": "请填写流程报表文件编码", 
-          "processReportName": "流程报表名称", 
-          "fillProcessReportName": "请填写流程报表名称", 
-          "hTTPTask": "HTTP任务", 
-          "hTTPRequestType": "HTTP请求类型", 
-          "selectHTTPRequestType": "请选择HTTP请求类型", 
-          "hTTPRequestAddress": "HTTP请求地址", 
-          "fillrequestAddress": "请填写HTTP请求地址", 
-          "parameters": "HTTP参数(json)", 
-          "hTTPParameters": "请填写HTTP参数", 
-          "receiver": "接收人", 
-          "selectAReceiveration": "请选择接收人", 
-          "receivingUserGroup": "接收用户组", 
-          "selectReceivingUserGroup": "请选择接收用户组", 
-          "nextStep": "下一步", 
-          "timingConfiguration": "2.定时配置", 
-          "timeType": "时间类型", 
-          "selectTimeType": "请选择时间类型", 
-          "cronExpressions": "cron表达式", 
-          "fillInTheCronExpression": "请填写cron表达式", 
-          "previousStep": "上一步", 
-          "alarmConfiguration": "3.报警配置", 
-          "timeoutAlarm": "超时报警", 
-          "timeout": "超时时间", 
-          "byDefault": "超时时间(s),默认2小时", 
-          "timeoutTermination": "超时终止", 
-          "failureAlarm": "失败报警", 
-          "alarmContact": "报警联系人", 
-          "selectAlarmContact": "请选择报警联系人", 
-          "otherConfigurations": "4.其他配置", 
-          "State": "状态", 
-          "pleaseSetTheTaskStatu": "请设置任务状态", 
-          "save": "保存", 
-          "serialNumber": "序号", 
-          "taskName": "任务名", 
-          "taskDescription": "任务描述", 
-          "effectiveStartTime": "生效开始时间", 
-          "effectiveEndTime": "生效结束时间", 
-          "operation": "操作", 
-          "hTTPRequest": "HTTP请求", 
-          "startUsing": "启用", 
-          "forbidden": "禁用", 
-          "edit": "编辑", 
-          "manualExecution": "手动执行", 
-          "delete": "删除"
-      },
-      "TrainTask": {
-        "trainingTasks": "培训",
-        "fixedAssetsBasicknowledge": "固定资产基础知识",
-        "systemLogin": "系统登录",
-        "labelPrinting": "标签打印",
-        "inventory": "盘点",
-        "ada": "资产报废",
-        "ata": "资产转移",
-        "describe1": "使用手机,打开浏览器,扫描下面的二维码,可以进入手机端程序。",
-        "describe2": "或者使用手机,输入网址",
-        "assignAssetManager": "分配资产管理员",
-        "modifyAssetAdministrator": "修改资产管理员",
-        "assetSecondment": "资产借调"
-      },
-      "AssetInstanceSearch": {
-        "assetSearch": "资产搜索",
-        "search": "搜索",
-        "condition": "输入资产名称、资产编号等..."
-      },
-      "ExcelReport": {
-        "download": "下载"
-      },
-      "SodControlReport": {
-        "accountStatus": "账户状态",
-        "generateReport": "生成报表",
-        "download": "下载",
-        "quit": "离职",
-        "disable": "禁用",
-        "normal": "正常",
-        "ineffective": "未生效"
-      },
-      "DelegationReport": {
-        "taskIssuTime": "任务下发时间",
-        "taskCompletionTime": "任务完成时间",
-        "start": "开始",
-        "end": "结束",
-        "generateReport": "生成报表",
-        "download": "下载"
-      },
-      "top-nav-user-info": {
-        "personalSettings": "个人设置",
-        "cancellation": "注销"
-      },
-      "UserParameters": {
-        "personalSettings": "个人设置",
-        "userAvatar": "用户头像",
-        "userPasswordModification": "用户密码修改",
-        "originalPassword": "原密码",
-        "inputOriginalPassword": "输入原密码",
-        "newPassword": "新密码",
-        "inputNewPassword": "输入新密码",
-        "confirmPassword": "确认密码",
-        "againInputNewPassword": "再次输入新密码",
-        "save": "保存",
-        "clearUserSettings": "清空用户设置"
-      },
-      "ImageWidget": {
-        "addPicture": "添加图片",
-        "delete": "删除",
-        "uploadFiles": "上传文件",
-        "describe1": "当前浏览器不支持FileReader接口",
-        "describe2": "截图已上传成功",
-        "describe3": "图片已上传成功"
-      },
-      "Cropper": {
-        "selectPicture": "选择图片",
-        "selectPictureUploadDirectly": "选择图片直接上传",
-        "upload": "上传"
-      },
-      "VideoListWidget": {
-        "selectVideo": "选择视频"
-      },
-      "FileListWidget": {
-        "download": "下载",
-        "delete": "删除"
-      },
-      "UploadButton": {
-        "upload": "上传",
-        "uploadFiles": "上传文件",
-        "selectFile": "选择文件"
-      },
-      "ComplexFilterPanel": {
-        "query": "查询",
-        "empty": "清空",
-        "all": "全部",
-        "yes": "是",
-        "no": "否",
-        "isEqual": "等于",
-        "isNotEqual": "不等于",
-        "isGreater": "大于",
-        "greaterThanOrEqual": "大于等于",
-        "lessThan": "小于",
-        "lessThanOrEqualTo": "小于等于",
-        "leftIncluding": "左包括",
-        "rightIncludes": "右包括",
-        "including": "包括",
-        "isEmpty": "为空",
-        "isNotNull": "不为空",
-        "in": "属于",
-        "between": "区间条件",
-        "pleaseEnterContent": "请输入内容",
-        "pleaseEnterTheNumber": "请输入数字",
-        "division": ";分割"
-      },
-      "ComplexFilterHistory": {
-        "theHistoricalRecord": "历史记录",
-        "clearAllRecords": "清空所有记录",
-        "saveSearchCriteria": "保存搜索条件",
-        "nameOfSearchCriteria": "搜索条件名称",
-        "pleaseEnterNameSearchCriteria": "请输入搜索条件名称"
-      },
-      "Approve": {
-        "initiateApply": "发起申请",
-        "pending": "待处理",
-        "approved": "已处理",
-        "myApply": "我的提交",
-        "ccMy": "待审阅",
-        "rejected": "被驳回"
-      },
-      "NeedApproveWorkflow": {
-        "startTime": "开始时间",
-        "approvalOriginator": "审批发起人",
-        "subject": "主题",
-        "all": "全部",
-        "search": "搜索",
-        "closeAdvancedSearch": "关闭高级搜索",
-        "advancedSearch": "高级搜索",
-        "clearSearchCriteria": "清空搜索条件",
-        "documentCode": "文件编码",
-        "approvalSummary": "审批摘要",
-        "originatingTime": "发起时间",
-        "endTime": "截止时间",
-        "operation": "操作",
-        "viewTasks": "查看任务",
-        "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见"
-      },
-      "ApprovedWorkflow": {
-        "startTime": "开始时间",
-        "completionTime": "完成时间",
-        "approvalOriginator": "审批发起人",
-        "subject": "主题",
-        "all": "全部",
-        "search": "搜索",
-        "closeAdvancedSearch": "关闭高级搜索",
-        "advancedSearch": "高级搜索",
-        "clearSearchCriteria": "清空搜索条件",
-        "completed": "已完成",
-        "haveInHand": "进行中",
-        "documentCode": "文件编码",
-        "approvalSummary": "审批摘要",
-        "originatingTime": "发起时间",
-        "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见",
-        "status": "状态",
-        "inProcess": "进行中",
-        "done": "已完成"
-      },
-      "MyApplyWorkflow": {
-        "startTime": "开始时间",
-        "completionTime": "完成时间",
-        "approvalOriginator": "审批发起人",
-        "subject": "主题",
-        "all": "全部",
-        "search": "搜索",
-        "closeAdvancedSearch": "关闭高级搜索",
-        "advancedSearch": "高级搜索",
-        "clearSearchCriteria": "清空搜索条件",
-        "completed": "已完成",
-        "haveInHand": "进行中",
-        "documentCode": "文件编码",
-        "approvalSummary": "审批摘要",
-        "originatingTime": "发起时间",
-        "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见",
-        "status": "状态",
-        "inProcess": "进行中",
-        "done": "已完成"
-      },
-      "CopyTaskWorkflow": {
-        "startTime": "开始时间",
-        "completionTime": "完成时间",
-        "approvalOriginator": "审批发起人",
-        "subject": "主题",
-        "all": "全部",
-        "search": "搜索",
-        "closeAdvancedSearch": "关闭高级搜索",
-        "advancedSearch": "高级搜索",
-        "clearSearchCriteria": "清空搜索条件",
-        "completed": "已完成",
-        "haveInHand": "进行中",
-        "documentCode": "文件编码",
-        "approvalSummary": "审批摘要",
-        "originatingTime": "发起时间",
-        "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见",
-        "status": "状态",
-        "inProcess": "进行中",
-        "done": "已完成"
-      },
-      "NotApproveWorkflow": {
-        "startTime": "开始时间",
-        "completionTime": "完成时间",
-        "approvalOriginator": "审批发起人",
-        "subject": "主题",
-        "all": "全部",
-        "search": "搜索",
-        "closeAdvancedSearch": "关闭高级搜索",
-        "advancedSearch": "高级搜索",
-        "clearSearchCriteria": "清空搜索条件",
-        "completed": "已完成",
-        "haveInHand": "进行中",
-        "documentCode": "文件编码",
-        "approvalSummary": "审批摘要",
-        "originatingTime": "发起时间",
-        "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见",
-        "status": "状态",
-        "inProcess": "进行中",
-        "done": "已完成"
-      },
-      "PdfPrint": {
-        "watchTrainingVideo": "学习培训视频",
-        "operationComplete": "操作完成",
-        "scanQrCodes": "扫描二维码",
-        "describe1": "您可以使用手机从浏览打开相机,扫描以下二维码访问移动应用程序网站。然后打印并粘贴标签,拍摄并上传固定资产的照片。",
-        "viewReport":"查看报表",
-        "missingTaskId":"缺少任务Id"
-      },
-      "KnowledgeTrainAnswer": {
-        "describe1": "固定资产基本知识问答",
-        "notSelectAnswer": "未选择答案",
-        "correctAnswer": "回答正确",
-        "describe2": "回答错误:确定答案是",
-        "submit": "提交",
-        "title": "固定资产知识培训",
-        "describe3": "本次固定资产知识培训,还有题目未回答,请查看界面的提示",
-        "describe4": "查询固定资产培训" 
-      },
-      
-      "KnowledgeTrain": {
-        "describe1": "UPS 固定资产基本知识需知",
-        "describe2": "1.固定资产",
-        "describe3": "UPS将购买单件成本大于或等于USD1000.00的资产确认为固定资产。",
-        "describe4": "2.固定资产的新增",
-        "describe5": "使用部门通过RFA/PO申请购买固定资产,当接收新的固定资产,使用部门的固定资产协调员需要登录固定资产系统进行新增固定资产标签打印和张贴到固定资产外表并拍照上传至固定资产系统。",
-        "describe6": "3.当固定资产的状态发生变化",
-        "describe7": "例如借调转移或破损、淘汰……使用部门应该登录固定资产系统提出固定资产转移和固定资产报废申请,按照公司规定的流程获得批准及资产转移接收部门经理同意后才可以进行固定资产转移或报废的处理程序。",
-        "describe8": "4.关于固定资产盘点",
-        "describe9": "每年都要进行固定资产盘点包括在客户或供应商处使用的固定资产,使用部门应当在依照固定资产系统分配的固定资产清单进行盘点(扫描二维码记录固定资产的状态并上传固定资产的照片),盘点的工作应当在一个月内完成并由部门经理确认盘点结果,盘点过程中对于某些固定资产状态发生变化的应当在完成盘点确认后立刻提交ATA/ADA进行后补固定资产转移或报废的审批流程。",
-        "nextStep": "下一步"
-      },
-
-      "InventoryAssetInstanceSearch": {
-        "condition": "输入资产名称、资产编号等...",
-        "search": "搜索",
-        "describe1": "一共为您找到相关结果约",
-        "assetName": "资产名称",
-        "assetNumber": "资产编号",
-        "assetCategory": "资产分类",
-        "storageLocation": "存放地点",
-        "cost": "资产原值",
-        "useStatus": "使用状况",
-        "individual": "个"
-      },
-
-      "ReportApprove": {
-        "viewReport": "查看报表"
-      },
-
-      "ImageListWidget": {
-        "selectPicture": "选择图片",
-        "describe1": "图片大小超过限制,最大3M"
-      },
-
-      "Notify": {
-          "prompt": "提示",
-          "error": "错误",
-          "success": "成功",
-          "warning": "警告",
-          "fail": "失败",
-          "pleaseSelectTaskFirst": "请先选择任务。",
-          "errorOpeningCURDWindow": "打开CURD窗口错误",
-          "dataDictionaryError": "数据字典错误",
-          "describe1": "数据自定未定义HTML窗口。",
-          "companySwitchFailed":"公司切换失败"
-      },
-
-      "RetrievePassword": {
-        "retrievePassword": "找回密码",
-        "authentication": "验证身份",
-        "resetPassword": "重置密码",
-        "complete": "完成"
-      },
-
-      "RetrievePasswordStep1": {
-          "yourEmail":"您的邮箱",
-          "pleaseEnterYourEmail":"请输入您的邮箱!",
-          "yourAccount":"您的账号",
-          "pleaseEnterYourAccount":"请输入您的账号!",
-          "verificationCode": "验证码",
-          "pleaseEnterVerificationVode": "请输入验证码",
-          "nextStep": "下一步",
-          "getVerificationCode": "获取验证码",
-          "accountNumberCannotBeBlank": "账号不允许为空",
-          "mailboxCannotBeEmpty": "邮箱不允许为空",
-          "illegalFormat": "非法格式"
-      },
-
-      "RetrievePasswordStep2": {
-          "newPassword": "新密码",
-          "pleaseEnterYourNewPassword": "请输入您的新密码!",
-          "enterAgain": "再次输入",
-          "pleaseEnterYourNewPasswordAgain": "请再次输入您的新密码!",
-          "submit": "提交",
-          "describe1":"新密码不能为空",
-          "describe2":"新密码中不允许包含空格字符",
-          "describe3":"确认密码与新密码不一致,请核对后再提交",
-          "describe4":"两次密码输入不一致!"
-      },
-
-      "RetrievePasswordStep3":{
-          "title":"恭喜您,密码重置成功!",
-          "subTitle":"您可以使用新密码登录固定资产管理系统。",
-          "signInNow": "立即登录"
-      },
-
-      "ResetPassword": {
-          "newPassword": "新密码",
-          "enterNewPassword": "输入新密码",
-          "confirmPassword": "确认密码",
-          "enterConfirmPassword": "输入确认密码",
-          "resetPassword": "重置密码",
-          "describe1":"新密码不能为空",
-          "describe2":"新密码中不允许包含空格字符",
-          "describe3":"确认密码与新密码不一致,请核对后再提交",
-          "describe4":"两次密码输入不一致!"
-      },
-
-      "window": {
-          "dataNotSaved": "数据未保存",
-          "describe1": "请先保存数据请先保存数据或者撤销改动或者撤销改动"
-      },
-
-      "WindowEditCustomer": {
-          "savedSuccessfully": "保存成功",
-          "dataSavedSuccessfully": "数据保存成功",
-          "deleteConfirmation": "删除确认",
-          "describe1": "您确定要删除该条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮",
-          "determine": "确定",
-          "cancel": "取消"
-
-      },
-
-      "LoginNotice": {
-        "describe1": "培训-固定资产管理系统简介",
-        "describe2": "隐私声明(Privacy Notice)",
-        "describe3": "固定资产知识培训",
-        "describe4": "重置密码",
-        "describe5": "部门经理填写部门、存放地点的资产管理员"
-      },
-
-      "StudyVideo": {
-        "completeCourse": "学习完毕"
-      },
-
-      "TabFormFieldView": {
-        "pendingApproval": "审批中",
-        "editing": "编辑中",
-        "approved": "审批通过",
-        "yes": "是",
-        "no": "否",
-        "transfer": "转移",
-        "disposal": "报废",
-        "rejected": "审批不通过",
-        "withdraw": "单据已撤回",
-        "overall": "全盘",
-        "randomInventory": "抽盘"
-      }
+    "login": {
+      "login": "登陆",
+      "accountInfo": "账套信息",
+      "pleaseInputUserName": "请输入用户电子邮件地址",
+      "pleaseInputPassword": "请输入密码",
+      "pleaseInputVerificationCode": "请输入验证码",
+      "rememberPassword": "记住密码",
+      "forgetPassword": "忘记密码",
+      "initClient": "初始化公司",
+      "createAccount": "创建账户",
+      "systemManagment": "系统管理",
+      "systemConfig": "系统配置",
+      "appDownload": "APP下载",
+      "copyright": "©2011 上海联物信息科技有限公司 版权所有.",
+      "getVerificationCode": "获取验证码",
+      "getVerificationCodeErrorMssage": "用户名或密码不允许为空",
+      "verificationCodeCannotBeEmpty": "验证码不允许为空",
+      "loginFailure": "登录失败",
+      "second": "秒"
+    },
+    "common": {
+      "ok": "确定",
+      "cancel": "取消"
+    },
+    "stastic": {
+      "userCount": "用户总数",
+      "onlineUserCount": "Web在线人数",
+      "needApprove": "待处理",
+      "needReview": "待审阅",
+      "approved": "已处理",
+      "rejected": "被驳回"
+    },
+    "menuWidget": {
+      "searchMenu": "search menu"
+    },
+    "tabGridEdit": {
+      "deleteConfirmation": "删除确认",
+      "someWhatOne": "您确定要删除选择的",
+      "someWhatTwo": "条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮",
+      "someWhatThree": "您确定要删除该条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮",
+      "determine": "确定",
+      "cancel": "取消",
+      "create": "新建",
+      "createInNewPage": "新建+",
+      "save": "保存",
+      "revert": "撤销",
+      "refresh": "刷新",
+      "editAll": "编辑全部",
+      "remove": "删除",
+      "validateError": "数据校验失败",
+      "validateErrorMsg": "数据校验失败,存在{errorCount}个错误。",
+      "pageInfo": "第{start}-{end}条,共计{total}条。 ",
+      "pageSize": "每页",
+      "advancedSearch": "高级搜索",
+      "describe1": "打开CURD窗口错误",
+      "describe2": "数据未保存",
+      "describe3": "请先保存数据或者撤销改动",
+      "describe4": "点击新建错误",
+      "describe5": "您没有权限新建数据,请联系管理员设置对应的权限",
+      "describe6": "点击编辑全部错误",
+      "describe7": "您没有权限编辑数据,请联系管理员设置对应的权限",
+      "describe8": "点击删除错误",
+      "describe9": "您没有权限删除数据,请联系管理员设置对应的权限",
+      "describe10": "未选择数据",
+      "describe11": "请先选择要删除的数据。",
+      "describe12": "点击删除错误",
+      "describe13": "您没有权限删除数据,请联系管理员设置对应的权限",
+      "describe14": "保存成功",
+      "describe15": "数据保存成功",
+      "describe16": "没有新增或修改数据"
+    },
+    "gridHeader": {
+      "operate": "操作",
+      "serialNumber": "序号"
+    },
+    "simpleFilterPanel": {
+      "inputCondition": "输入搜索条件",
+      "clearHistoryRecord": "清空所有记录"
+    },
+    "tabButton": {
+      "other": "其他",
+      "export": "导出",
+      "import": "导入",
+      "notice": "通知",
+      "executeResult": "执行结果",
+      "sendNotice": "发送通知",
+      "send": "发送",
+      "cancel": "取消",
+      "open": "打开",
+      "close": "关闭",
+      "describe1": "明细数据为空",
+      "describe2": "请最少勾选一条数据",
+      "describe3": "未选择可操作的数据",
+      "describe4": "点击导出错误",
+      "describe5": "您没有权限进行导出数据,请联系管理员设置对应的权限",
+      "describe6": "执行失败",
+      "describe7": "没有可操作的数据",
+      "describe8": "请选择消息接收人",
+      "describe9": "请填写消息主题",
+      "describe10": "请填写消息内容",
+      "describe11": "通知",
+      "describe12": "消息发送成功"
+    },
+    "gridColumnDef": {
+      "gridField": "表格字段"
+    },
+    "vueBootstrapPagination": {
+      "firstPage": "首页",
+      "lastPage": "尾页",
+      "previous": "上一页",
+      "next": "下一页"
+    },
+    "tabFormView": {
+      "deleteConfirmation": "删除确认",
+      "someWhat": "您确定要删除该条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮",
+      "determine": "确定",
+      "cancel": "取消",
+      "create": "新建",
+      "edit": "编辑",
+      "refresh": "刷新",
+      "remove": "删除",
+      "redraw": "弃审",
+      "recordInformation": "记录信息",
+      "reportView": "报表视图",
+      "formView": "表单视图",
+      "dataException": "数据异常",
+      "reviewDataHasBeenDeleted": "审阅数据已经被删除",
+      "documentHasBeenReviewed": "单据已经审阅",
+      "describe1": "您没有权限审阅本单据数据。",
+      "describe2": "设置单据已经审阅成功。",
+      "clickNewError": "点击新建错误",
+      "describe3": "您没有权限新建数据,请联系管理员设置对应的权限",
+      "clickEditError": "点击编辑错误",
+      "describe4": "您没有权限编辑数据,请联系管理员设置对应的权限",
+      "clickDeleteError": "点击删除错误",
+      "describe5": "您没有权限删除数据,请联系管理员设置对应的权限",
+      "describe6": "存在未设置的审批人",
+      "submitFailed": "提交失败",
+      "describe7": "节点:【{userTaskDtoName}】未选择审批人",
+      "notice": "通知",
+      "describe8": "审批流程启动成功"
+    },
+    "formFieldDef": {
+      "formField": "表单字段"
+    },
+    "AttributeEditPane": {
+      "deleteConfirmation": "删除确认",
+      "someWhatOne": "您确定要删除属性值",
+      "someWhatTwo": "?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮",
+      "someWhatThree": "您确定要删除属性",
+      "someWhatFour": "及其属性值?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮",
+      "determine": "确定",
+      "cancel": "取消"
+    },
+    "subTabGridEdit": {
+      "deleteConfirmation": "删除确认",
+      "someWhatOne": "您确定要删除选择的",
+      "someWhatTwo": "条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮",
+      "someWhatThree": "您确定要删除该条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮",
+      "determine": "确定",
+      "cancel": "取消",
+      "create": "新建",
+      "edit": "编辑",
+      "refresh": "刷新",
+      "remove": "删除",
+      "revert": "撤销",
+      "editAll": "编辑全部",
+      "advancedSearch": "高级搜索",
+      "the": "第",
+      "strip": "条",
+      "total": "共计",
+      "displayOnEachPage": "每页显示",
+      "describe1": "没有勾选数据或勾选了不止一条数据",
+      "describe2": "您修改了{changedCount}条数据,删除操作将会放弃这些修改。",
+      "noDataSelected": "未选择数据",
+      "describe3": "请先选择要删除的数据。",
+      "describe4": "存在未保存的数据",
+      "describe5": "存在未保存的数据,请先保存数据"
+    },
+    "attributeViewPanel": {
+      "attribute": "属性"
+    },
+    "workflowSelectUser": {
+      "approve": "审批",
+      "approveUser": "审批人",
+      "copyUser": "抄送人",
+      "submit": "提交审批",
+      "chooseUser": "选择用户",
+      "userName": "用户姓名",
+      "userNo": "用户编号"
+    },
+    "workflowUser": {
+      "approve": "审批",
+      "userName": "用户姓名",
+      "userNo": "用户编号",
+      "description": "说明",
+      "chooseUser": "选择用户",
+      "approveUser": "审批人",
+      "remove": "删除",
+      "submit": "提交审批"
+    },
+    "approveComment": {
+      "approveStatus": "审批状态",
+      "processing": "审批中",
+      "running": "进行中",
+      "finished": "已完成",
+      "needApprove": "待审批",
+      "approved": "已审批",
+      "abandon": "已弃审",
+      "approve": "同意",
+      "agree": "提交",
+      "transfer": "转交",
+      "reject": "拒绝",
+      "withdraw": "撤回",
+      "return": "退回",
+      "comment": "评论",
+      "attachment": "附件",
+      "chooseFile": "选择文件",
+      "submitApprove": "提交了审批",
+      "submitUser": "发起人",
+      "chooseUser": "选择用户",
+      "organizationName": "部门名称",
+      "userName": "用户姓名",
+      "userNo": "用户编号",
+      "query": "查询",
+      "notice": "提示",
+      "confirmSubmit": "您确认要提交吗?",
+      "confirm": "确认",
+      "cancel": "取消",
+      "rejectConfirm": "您确认要拒绝吗?",
+      "returnConfirm": "您确认要退回吗?",
+      "chooseTransferUser": "选择转交用户",
+      "transferTo": "转交给",
+      "inputComment": "填写评论",
+      "copyUser": "抄送人",
+      "viewApprovalProcess": "查看审批流程",
+      "opinion": "意见",
+      "picture": "图片"
+    },
+    "attachmentPanel": {
+      "attachment": "附件",
+      "addAttachment": "添加附件",
+      "uploadAttachment": "上传附件",
+      "download": "下载",
+      "remove": "删除",
+      "describe1": "您没有权限删除数据。"
+    },
+    "attachmentUpload": {
+      "uploadFile": "上传文件",
+      "captureImage": "扫描图片",
+      "camera": "摄像头",
+      "altimeter": "高拍仪",
+      "mustSelectFile": "必须选择一个文件",
+      "attachmentUploadedSuccessfully": "附件上传成功",
+      "uploadSucceeded": "上传成功",
+      "noPermissionUploadAttachments": "你没有权限上传附件",
+      "noPicture": "没有图片",
+      "uploadFailed": "上传失败"
+    },
+    "uploadWidget": {
+      "uploadFile": "上传文件"
+    },
+    "webSocketImage": {
+      "uploadImage": "上传图片"
+    },
+    "webRtcImage": {
+      "uploadImage": "上传图片"
+    },
+    "webRtcCapture": {
+      "remove": "删除",
+      "capture": "抓拍"
+    },
+    "imagePreview": {
+      "imagePreview": "图片查看"
+    },
+    "tabFormEdit": {
+      "create": "新建",
+      "edit": "编辑",
+      "refresh": "刷新",
+      "remove": "删除",
+      "redraw": "弃审",
+      "save": "保存",
+      "revert": "撤销",
+      "recordInformation": "记录信息",
+      "validateError": "数据校验失败",
+      "validateErrorMsg": "数据校验失败,存在{ errorCount }个错误,{ errorMsg }。",
+      "reportView": "报表视图",
+      "formView": "表单视图",
+      "dataNotSaved": "数据未保存",
+      "describe1": "请先保存数据请先保存数据或者撤销改动或者撤销改动",
+      "savingSucceeded": "保存成功",
+      "dataSavingSucceeded": "数据保存成功",
+      "describe2": "数据保存成功,窗口即将关闭。",
+      "describe3": "数据恢复提示",
+      "describe4": "存在草稿,是否恢复数据?",
+      "describe5": "撤销数据",
+      "describe6": "确定撤销数据吗?"
+    },
+    "assetBasicSetting": {
+      "baseInformation": "基本信息",
+      "depreciationInformation": "折旧信息",
+      "encodingMethod": "编码方式",
+      "systemIntegration": "系统集成",
+      "picture": "图片",
+      "setNo": "账套号",
+      "setName": "账套名称",
+      "userClient": "使用单位",
+      "printPictureOfAssetCard": "资产卡片打印图片",
+      "printPictureOfAssetCard2": "资产卡片打印图片2",
+      "printPictureOfAssetCard3": "资产卡片打印图片3",
+      "printPictureOfAssetCard4": "资产卡片打印图片4",
+      "printPictureOfAssetCard5": "资产卡片打印图片5",
+      "depreciationOfThisSet": "本账套计提折旧",
+      "companyPrefix": "公司前缀",
+      "enableAssetAcceptanceAndWarehousing": "启用资产验收入库",
+      "assetCountShowsUnrecognizedAsset": "资产盘点显示不识别资产",
+      "minimumTimeForAssetCollectionAndReturn": "资产领用归还最小时间(分钟)",
+      "batchGenerationOfDepartmentChangeDocuments": "批量生成部门变动单",
+      "mainDepreciationMethods": "主要折旧方法",
+      "depreciationSummaryAllocationPeriod": "折旧汇总分配周期(月)",
+      "one": "1",
+      "two": "2",
+      "three": "3",
+      "four": "4",
+      "six": "6",
+      "twelve": "12",
+      "nextDepreciationAllocationMonth": "下次折旧分配月份",
+      "monthOfOpeningASet": "账套启用月份",
+      "changesInOriginalValueTakeEffectInTheCurrentPeriod": "原值增减变动当期生效",
+      "theAdjustment": "净残值(率)调整当期生效",
+      "depreciationEffectiveAdjustment": "累计折旧调整当期生效",
+      "When": "当(月初已计提月份=可使用月份-1)时将剩余折旧全是提足(工作量法除外)",
+      "assetCategoryCodingMethod": "资产类别编码方式",
+      "totalLength": "总长度",
+      "assetNumberCodingMethod": "资产编号编码方式",
+      "manualEncoding": "手动编码",
+      "automaticCoding": "自动编码",
+      "assetCodeCategory": "资产编码类别",
+      "categoryNumberAndSerialNumber": "类别编号+序号",
+      "departmentNumberAndSerialNumber": "部门编号+序号",
+      "companyNumberAndManualInput": "公司编号+手动输入",
+      "assetCodeLength": "资产编码序号长度",
+      "assetSerialNumber": "资产编号顺序号",
+      "assetGroupCodingMethod": "资产组编码方式",
+      "assetCardNumberCodingMethod": "资产卡片编号编码方式",
+      "assetCardCodingMethod": "资产卡片编码方式",
+      "assetNumberAndSequenceNumber": "资产编号+顺序号",
+      "companyPrefixAndAssetNumberAndSequenceNumber": "公司前缀+资产编号+顺序号",
+      "calculateAccordingToCodeDefinition": "根据编码定义计算",
+      "u8DatabaseLinkString": "U8数据库链接字符串",
+      "imageDatabaseLinkString": "图片数据库链接字符串",
+      "imageServerRootDirectory": "图片服务器根目录",
+      "determine": "确定",
+      "regenerateThumbnail": "重新生成缩略图",
+      "assetConfig": "资产设置",
+      "edit": "编辑",
+      "cancelEdit": "取消编辑"
+    },
+    "AssetDetailList": {
+      "assetList": "资产清单",
+      "search": "搜索",
+      "export": "导出",
+      "empty": "清空",
+      "the": "第",
+      "strip": "条",
+      "total": "共计",
+      "displayOnEachPage": "每页显示",
+      "ownerDepartment": " 所属部门",
+      "useDepartment": "使用部门",
+      "assetCategory": "资产类别",
+      "projectSelection": "项目选择",
+      "other": "其他",
+      "usageStatus": "使用状况",
+      "assetsInService": "在役资产",
+      "reducedAssets": "已减少资产",
+      "assetNumber": "资产编号",
+      "startDate": "启用日期",
+      "originalValue": "原值",
+      "accumulatedDepreciation": "累计折旧",
+      "serviceLife": "使用年限(月)",
+      "selfNumbering": "自编号",
+      "vehicleNo": "车牌号",
+      "areThereAnyPictures": "是否有图片",
+      "true": "是",
+      "false": "否",
+      "amountTo": "总计",
+      "totalNumberOfCards": "卡片总数",
+      "totalAssets": "资产总数",
+      "totalOfOriginalValue": "原值总计",
+      "totalNetResidualValue": "净残值总计",
+      "selectTheFieldsToExport": "选择需要导出的字段",
+      "ownerClient": "所属单位",
+      "useClient": "使用单位",
+      "assetName": "资产名称",
+      "cardName": "卡片名称",
+      "cardNo": "卡片编号",
+      "qrCode": "二维码",
+      "electronicCoding": "电子编码",
+      "assetClassification": "资产分类",
+      "specificationAndType": "规格型号",
+      "quantity": "数量",
+      "unitOfMeasurement": "计量单位",
+      "itemNo": "项目编号",
+      "objectName": "项目名称",
+      "increaseMethod": "增加方式",
+      "methodOfDepreciation": "折旧方法",
+      "accruedMonth": "已计提月份",
+      "netResidualValueRate": "净残值率",
+      "netResidualValue": "净残值",
+      "monthlyDepreciationRate": "月折旧率",
+      "theAMountOfDepreciationIsWithDrawnThisMonth": "本月计提折旧额",
+      "remarks": "备注",
+      "necessaryToMakeAnAppointment": "需预约",
+      "needToMaintain": "需保养",
+      "supplier": "供应商",
+      "manufacturer": "制造商",
+      "factoryNumber": "出厂编号",
+      "detailedParameters": "详细参数",
+      "operatingProcedures": "操作规程",
+      "contractNo": "合同编号",
+      "invoiceNumber": "发票编号",
+      "purchaseDate": "购置(出厂)日期",
+      "warrantyDeadline": "保修截止日期",
+      "subscriber": "申购人",
+      "purchaser": "采购人",
+      "personliable": "责任人",
+      "user": "使用人",
+      "userInput": "使用人(录入)",
+      "placementRoom": "放置房间",
+      "placeOfPlacement": "放置地点",
+      "accuntingSubject": "会计科目",
+      "thereArePictures": "有图片"
+    },
+    "AssetCheck": {
+      "generateAssetFromAssetAcceptanceDocument": "资产验收单生成资产",
+      "supplier": "供货单位",
+      "personInChargeOfSupplier": "供货单位负责人",
+      "contactInformationOfSupplier": "供货单位联系方式",
+      "assetName": "资产名称",
+      "assetCategory": "资产类别",
+      "unitOfMeasurement": "计量单位",
+      "type": "规格型号",
+      "quantity": " 数量",
+      "contractAmount": "合同金额",
+      "performanceBond": "履约保证金",
+      "placeOfAcceptance": "验收地点",
+      "acceptanceDate": "验收日期",
+      "acceptanceComments": "验收意见",
+      "expectedServiceLife": "预计使用年限(月)",
+      "expectedNetResidualValue": "预计净残值",
+      "technicalDataAvailable": "有技术资料",
+      "receivingDepartment": "接收部门",
+      "custodian": "保管人",
+      "personLiable": "责任人",
+      "remarks": "备注",
+      "documentNumberOfAssetPurchaseOrder": "资产采购单单据号",
+      "nameOfAssetPurchase": "资产采购名称",
+      "assetPurchaseSpecificationAndModel": "资产采购规格型号",
+      "assetsGeneratedFromAssetAcceptanceDocument": "资产验收单生成的资产",
+      "whetherTheAssetAcceptanceDocumentHasGeneratedAssets": "资产验收单是否已生成资产",
+      "assetsClassification": "资产分类",
+      "generateAssets": "生成资产"
+    },
+    "AssetInstancePrint": {
+      "assetCardPrintingQueue": "资产卡片打印队列",
+      "printing": "打印",
+      "printPdf": "打印PDF",
+      "delete": "删除",
+      "book": "账套",
+      "period": "期间",
+      "assetNumber": "资产编号",
+      "assetCategory": "资产类别",
+      "lifeYearMonth": "折旧年限",
+      "costCenter": "成本中心",
+      "acquisitionDate": "启用日期",
+      "cost": "资产成本",
+      "assetCostAccount": "原值会计科目",
+      "depreciationAmount": "本期折旧金额",
+      "account": "折旧会计科目",
+      "ytdDepreciation": "本年度折旧额",
+      "ltdDepreciation": "总折旧额",
+      "reserveAccount": "累计折旧会计科目",
+      "nbvPeriodEnd": "期末净现值",
+      "method": "折旧方法",
+      "location": "地点",
+      "serialNumber": "序列号",
+      "tagNumber": "标签编号",
+      "balancingSegment": "公司代码",
+      "description": "资产名称",
+      "the": "第",
+      "strip": "条",
+      "total": "共计",
+      "displayOnEachPage": "每页显示",
+      "assetCardPrintingReport": "资产卡片打印报表"
+    },
+    "AssetInstanceSearchDetail": {
+      "assetCardDetails": "资产卡片详细信息",
+      "ownerClient": "所属单位",
+      "ownerDepartment": "所属部门",
+      "useClient": "使用单位",
+      "useDepartment": "使用部门",
+      "assetName": "资产名称",
+      "assetNumber": "资产编号",
+      "originalAssetNumber": "原资产编号",
+      "cardName": "卡片名称",
+      "cardNumber": "卡片编号",
+      "barcode": "二维码",
+      "epc": "电子编码",
+      "noteName": "备注名",
+      "type": "规格型号",
+      "categoryName": "类别名称",
+      "projectName": "项目名称",
+      "placeOfPlacement": "放置地点",
+      "placementRoom": "放置位置",
+      "originalValue": "原值",
+      "unitOfMeasurement": "计量单位",
+      "subscriber": "申购人",
+      "purchaser": "采购人",
+      "receiver": "领用人",
+      "use": "使用人",
+      "custodian": "保管人",
+      "personLiable": "责任人",
+      "usageStatus": "使用状况",
+      "quantity": "数量",
+      "validUntil": "有效日期至",
+      "technicalIndex": "技术指标",
+      "waysToIncrease": "增加方式",
+      "depreciationMethod": "折旧方法",
+      "serviceMonths": "使用月限",
+      "startUseDate": "开始使用日期",
+      "totalAmountOfWork": "工作总量",
+      "accruedMonth": "已计提月份",
+      "netResidualValueRate": "净残值率",
+      "netResidualValue": "净残值",
+      "accumulatedDepreciation": "累计折旧",
+      "monthlyDepreciationRate": "月折旧率",
+      "theAmountOfDepreciationIsWithdrawnThisMonth": "本月计提折旧额",
+      "netWorth": "净值",
+      "pictureURL": "图片网址",
+      "invoicePictureAddress": "发票图片地址",
+      "otherPictureWebsites": "其他图片网址",
+      "remarks": "备注",
+      "necessaryToMakeAnAppointment": "需预约",
+      "needToMaintain": "需保养",
+      "supplier": "供应商",
+      "manufacturer": "制造商",
+      "maintenanceUnit": "维保单位",
+      "factoryNumber": "出厂编号",
+      "detailedParameters": "详细参数",
+      "operatingProcedures": "操作规程",
+      "purchaseDate": "购置(出厂)日期",
+      "financialEntryDate": "财务入账日期",
+      "contractNo": "合同编号",
+      "invoiceNumber": "发票编号",
+      "warrantyDeadline": "保修截止日期",
+      "importTime": "导入时间",
+      "accountingSubjects": "会计科目",
+      "userInput": "使用人(录入)",
+      "licensePlate": "车牌号码",
+      "selfNumbering": "自编号",
+      "computerName": "计算机名称",
+      "ipAddress": "IP地址",
+      "macAddress": "MAC地址",
+      "lifeCycle": "生命周期",
+      "currentLocation": "当前位置",
+      "historicalPosition": "历史位置",
+      "inAndOutRecords": "进出记录",
+      "time": "时间",
+      "startTime": "开始时间",
+      "endTime": "结束时间",
+      "determine": "确定",
+      "serialNumber": "序号",
+      "place": "地点",
+      "picture": "图片",
+      "scanTime": "扫描时间",
+      "scanner": "扫描人",
+      "position": "扫描位置",
+      "totalQueries": "共查询到",
+      "data": "数据",
+      "strip": "条",
+      "true": "是",
+      "false": "否"
+    },
+    "AssetInventorySearch": {
+      "generateAssetCountDetails": "生成资产盘点明细",
+      "query": "查询",
+      "empty": "清空",
+      "ownerDepartment": "所属部门",
+      "category": "类别",
+      "project": "项目",
+      "ownerClient": "所属单位",
+      "useClient": "使用单位",
+      "useDepartment": "使用部门",
+      "assetName": "资产名称",
+      "assetNumber": "资产编号",
+      "cardNumber": "卡片编号",
+      "type": "规格型号",
+      "assetClassification": "资产分类",
+      "subordinateToTheProject": "所属项目",
+      "originalValue": "原值",
+      "placeOfPlacement": "放置地点",
+      "placementRoom": "放置位置",
+      "unitOfMeasurement": "计量单位",
+      "user": "使用人",
+      "usageStatus": "使用状况",
+      "userInput": "使用人(输入)",
+      "licensePlate": "车牌号码",
+      "selfNumbering": "自编号",
+      "startUseDate": "开始使用日期",
+      "remarks": "备注",
+      "totalOfOriginalValue": "原值总计",
+      "the": "第",
+      "strip": "条",
+      "inTotal": "共",
+      "eachPage": "每页"
+    },
+    "AutoGenerateAsset": {
+      "assetPurchaseOrderDetailsGenerateAsset": "资产采购单明细生成资产",
+      "documentNumber": "单据号",
+      "assetName": "资产名称",
+      "type": "规格型号",
+      "unitPrice": "单价",
+      "number": "数量",
+      "totalprice": "总价",
+      "assetclassification": "资产分类",
+      "generateassets": "生成资产"
+    },
+    "CopyAsset": {
+      "copyAssets": "复制资产",
+      "return": "返回",
+      "determine": "确定",
+      "assetName": "资产名称",
+      "assetNumber": "资产编号",
+      "type": "规格型号",
+      "assetClassification": "资产分类",
+      "unitPrice": "单价",
+      "number": "数量",
+      "numberOfCopies": "复制数量"
+    },
+    "CustomPrintAssetInstance": {
+      "selectTemplateToPrintAssetCard": "选择模板打印资产卡片",
+      "back": "返回",
+      "assetName": "资产名称",
+      "assetNumber": "资产编号",
+      "type": "规格型号",
+      "categoryName": "类别名称",
+      "printTemplate": "打印模板",
+      "printing": "打印"
+    },
+    "AssetWorkLoadInput": {
+      "workloadInputOfFixedAssets": "固定资产工作量输入",
+      "selectMonth": "选择月份",
+      "closed": "(已关闭)",
+      "login": "登录",
+      "refresh": "刷新",
+      "empty": "清空",
+      "save": "保存",
+      "serialNumber": "序号",
+      "ownerClient": "所属单位",
+      "ownerDepartment": "所属部门",
+      "useClient": "使用单位",
+      "useDepartment": "使用部门",
+      "assetName": "资产名称",
+      "assetNo": "资产编号",
+      "assetSpecificationAndModel": "资产规格型号",
+      "totalAmountOfWork": "工作总量",
+      "assetWorkloadOfLastPeriodNumber": "上期间工作量",
+      "monthlyWorkload": "本月工作量",
+      "cumulativeWorkload": "累计工作量"
+    },
+    "DepreciationDetailList": {
+      "depreciationOfFixedAssets": "固定资产折旧",
+      "selectMonth": "选择月份",
+      "closed": "(已关闭)",
+      "login": "登录",
+      "query": "查询",
+      "provisionForDepreciation": "计提折旧",
+      "queryByUseDepartment": "按使用部门查询",
+      "queryByDepartment": "按所属部门查询",
+      "queryByAssetCategory": "按资产类别查询",
+      "serialNumber": "序号",
+      "ownerClient": "所属单位",
+      "ownerDepartment": "所属部门",
+      "useClient": "使用单位",
+      "useDepartment": "使用部门",
+      "assetName": "资产名称",
+      "assetNo": "资产编号",
+      "assetSpecificationAndModel": "资产规格型号",
+      "assetClass": "资产类别",
+      "originalValue": "原值",
+      "monthlyDepreciation": "月折旧额",
+      "accumulatedDepreciation": "累计折旧",
+      "accumulatedDepreciationInThisYear": "本年累计折旧",
+      "total": "总计",
+      "strip": "条",
+      "totalOfOriginalValue": "原值总计",
+      "totalDepreciationOfTheMonth": "本月总折旧额",
+      "totalWorkloadOfThisMonth": "本月总工作量",
+      "totalAmountOfAccumulatedProvisionForImpairment": "累计减值准备金额总计",
+      "totalNetResidualValue": "净残值总计",
+      "totalNetWorth": "净值总计",
+      "depreciationCompleted": "计提折旧完成"
+    },
+    "DepreciationDistribution": {
+      "distributionOfDismantlingTheOld": "拆旧分配",
+      "modeOfDistribution": "分配方式",
+      "distributionByDepartment": "按部门分配",
+      "distributionByCategory": "按类别分配",
+      "selectMonth": "选择月份",
+      "login": "登录",
+      "query": "查询",
+      "serialNumber": "序号",
+      "departmentNumber": "部门编号",
+      "departmentName": "部门名称",
+      "projectNumber": "项目编号",
+      "projectName": "项目名称",
+      "courseNumber": "科目编号",
+      "courseName": "科目名称",
+      "depreciation": "折旧额",
+      "categoryNumber": "类别编号",
+      "categoryName": "类别名称"
+    },
+    "SettleAccountAtTheEndOfMonth": {
+      "monthEndClosing": "月末结账",
+      "selectMonth": "选择月份",
+      "recalculation": "重新测算",
+      "settleAccounts": "结账",
+      "counterSettlement": "反结账",
+      "amountOfMoney": "金额",
+      "generateBookkeepingVoucher": "生成记账凭证",
+      "templateOfEndingCarryForwardVoucher": "期末结转凭证模板",
+      "addVoucherTemplate": "添加凭证模板",
+      "voucherTemplateName": "凭证模板名称",
+      "voucherGenerationDate": "生成凭证日期",
+      "selectVoucherType": "选择凭证类型",
+      "mark": "记",
+      "silver": "银",
+      "present": "现",
+      "selectVoucherTemplateType": "选择凭证模板类型",
+      "provisionForDepreciation": "计提折旧",
+      "delete": "删除",
+      "determine": "确定",
+      "voucherTemplateSummary": "凭证模板摘要"
+    },
+    "AssetByRfid": {
+      "assetInAndOutRecords": "资产进出记录",
+      "startTime": "开始时间",
+      "endTime": "结束时间",
+      "storageLocation": "存放地点",
+      "determine": "确定",
+      "export": "导出",
+      "serialNumber": "序号",
+      "assetName": "资产名称",
+      "assetNumber": "资产编号",
+      "assetCategory": "资产分类",
+      "assetEPC": "资产Epc",
+      "startUseTime": "开始使用时间",
+      "remarks": "备注"
+    },
+    "OASetting": {
+      "oASettings": "OA设置",
+      "imageDatabaseLinkString": "图片数据库链接字符串",
+      "imageServerRootDirectory": "图片服务器根目录",
+      "snapshotServerRequestPathOne": "抓拍服务器请求路径(抓拍至硬盘)",
+      "snapshotServerRequestPathTwo": "抓拍服务器请求路径(抓拍至内存)",
+      "surveillanceCameraNumber": "监控摄像头编号(设备id_通道号)",
+      "companyAadministratorSettings": "公司管理员设置",
+      "surveillanceCameraChannelNumber": "监控摄像头通道号(设备id_通道号)",
+      "edit": "编辑",
+      "cancelEdit": "取消编辑",
+      "determine": "确定"
+    },
+    "WorkflowEdit": {
+      "workflowManagement": "工作流管理",
+      "queryCondition": "查询条件",
+      "query": "查询",
+      "newlyBuild": "新建",
+      "serialNumber": "序号",
+      "corporateName": "公司名称",
+      "workflowName": "工作流名称",
+      "filePath": "文件路径",
+      "window": "窗口",
+      "workflowType": "工作流类型",
+      "deploymentStatus": "部署状态",
+      "workflowDefinition": "工作流定义",
+      "windowName": "窗口名称",
+      "workflowFilePath": "工作流文件路径",
+      "deployed": "已部署",
+      "notDeployed": "未部署",
+      "deleteProcessVerificationPassword": "删除流程验证密码",
+      "editor": "编辑器",
+      "delete": "删除",
+      "save": "保存",
+      "synchronization": "同步",
+      "deleteInstance": "删除实例",
+      "numberOfProcessInstances": "流程实例数量",
+      "manualStartProcess": "手工启动流程",
+      "export": "导出",
+      "import": "导入",
+      "workflowJsonFile": "工作流JSON文件",
+      "cancel": "取消",
+      "determine": "确定"
+    },
+    "DataImportPanel": {
+      "DataImport": "数据导入",
+      "stepOne": "步骤1",
+      "selectTemplate": "选择模板",
+      "downloadTemplate": "下载模板",
+      "stepTwo": "步骤2",
+      "stepThree": "步骤3",
+      "testImport": "测试导入",
+      "formalImport": "正式导入",
+      "emptyImport": "清空导入",
+      "chooseSheet": "选择Sheet",
+      "completeTask": "完成任务",
+      "processingResults": "处理结果",
+      "describe1": "必须选择一个文件",
+      "describe2": "必须是Excel 2003~2007 文件格式(xls)",
+      "describe3": "请先选择导入模板",
+      "describe4": "请先选择需要导入的excel的页",
+      "describe5": "导入操作完毕,请查看界面上的处理结果字段。",
+      "describe6": "模拟导入操作完毕,请查看界面上的处理结果字段。",
+      "describe7": "导入操作完毕,数据存在异常,请查看处理结果字段。",
+      "describe8": "模拟导入操作完毕,数据存在异常,请查看处理结果字段。",
+      "describe9": "导入成功",
+      "describe10": "请先选择任务。",
+      "describe11": "设置任务完成成功"
+    },
+    "BarCodeEdit": {
+      "barcodeEditor": "条码编辑器",
+      "foundationTemplate": "基础模板",
+      "customTemplate": "自定义模板"
+    },
+    "BarCodeEditPanel": {
+      "selectPrintTemplate": "选择打印模板",
+      "refresh": "刷新",
+      "save": "保存",
+      "download": "下载",
+      "customTemplate": "自定义模板"
+    },
+    "CustomerBarCodeEditPanel": {
+      "selectPrintTemplate": "选择打印模板",
+      "refresh": "刷新",
+      "save": "保存",
+      "delete": "删除",
+      "upload": "上传",
+      "download": "下载",
+      "setAsDefaultTemplate": "设置为默认模板",
+      "distributedToSubsidiaries": "下发到子公司",
+      "edit": "编辑",
+      "editTemplate": "编辑模板",
+      "templateName": "模板名称",
+      "templateNumber": "模板编号",
+      "templateType": "模板类型",
+      "extraData": "自定义设置",
+      "sqlStatement": "sql语句",
+      "uploadTemplate": "上传模板",
+      "templateContent": "模板内容",
+      "cancel": "取消",
+      "determine": "确定"
+    },
+    "PrintWidget": {
+      "selectPrinter": "选择打印机",
+      "cardIssuingMachine": "发卡机",
+      "printing": "打印"
+    },
+    "OrganizationEditPanel": {
+      "departmentManagement": "部门管理",
+      "newDepartment": "新建部门",
+      "deleteDepartment": "删除部门",
+      "refresh": "刷新",
+      "corporateName": "公司名称",
+      "departmentInquiry": "部门查询",
+      "departmentNumber": "部门编号",
+      "departmentName": "部门名称",
+      "superiorDepartment": "上级部门",
+      "departmentProfile": "部门简介",
+      "save": "保存",
+      "companyNumber": "公司编号",
+      "edit": "编辑",
+      "cancelEditing": "取消编辑",
+      "departmentManager": "部门管理员",
+      "companyManger": "公司管理员",
+      "describe1": "没有可以修改的数据",
+      "describe2": "部门查询失败",
+      "describe3": "删除成功",
+      "describe4": "请先选择部门",
+      "describe5": "数据填写不完整",
+      "describe6": "保存成功"
+    },
+    "RoleAppMenuEdit": {
+      "save": "保存",
+      "refresh": "刷新",
+      "menuName": "菜单名称",
+      "accessible": "可访问",
+      "readOnly": "只读",
+      "allowDeletion": "允许删除",
+      "exportable": "可导出",
+      "downloadableAttachment": "可下载附件",
+      "attachmentCanBeUploaded": "可上传附件",
+      "attachmentCanBeDeleted": "可删除附件"
+    },
+    "RoleDashboardEdit": {
+      "save": "保存",
+      "refresh": "刷新",
+      "kanbanName": "看板名称",
+      "kanbanNo": "看板编号",
+      "accessible": "可访问",
+      "lineNumber": "行号"
+    },
+    "RoleEdit": {
+      "modulePermissions": "模块权限",
+      "departmentAuthority": "部门权限",
+      "menuPermissions": "菜单权限",
+      "appPermissions": "APP权限",
+      "kanbanAuthority": "看板权限",
+      "importPermission": "导入权限",
+      "processReportPermission": "流程报表权限",
+      "role": "角色",
+      "edit": "编辑",
+      "editRole": "编辑角色",
+      "newlyAdded": "新增",
+      "save": "保存",
+      "serialNumber": "序号",
+      "departmentName": "部门名称",
+      "roleName": "角色名称",
+      "roleDescription": "角色描述",
+      "operation": "操作",
+      "delete": "删除",
+      "roleEdit": "角色编辑",
+      "pleaseSelectACompany": "请选择单位"
+    },
+    "RoleImportTemplateEdit": {
+      "modular": "模块",
+      "save": "保存",
+      "refresh": "刷新",
+      "sortNumber": "排序编号",
+      "dataTemplateName": "数据模板名称",
+      "relativePathOfDataTemplate": "数据模板相对路径",
+      "accessible": "可访问"
+    },
+    "RoleMenuEdit": {
+      "save": "保存",
+      "refresh": "刷新",
+      "menuName": "菜单名称",
+      "accessible": "可访问",
+      "readOnly": "只读",
+      "allowDeletion": "允许删除",
+      "exportable": "可导出",
+      "downloadableAttachment": "可下载附件",
+      "attachmentCanBeUploaded": "可上传附件",
+      "attachmentCanBeDeleted": "可删除附件",
+      "justLookAtYourOwnCreation": "只看自己创建"
+    },
+    "RoleModuleEdit": {
+      "save": "保存",
+      "refresh": "刷新",
+      "moduleNumber": "模块编号",
+      "moduleName": "模块名称",
+      "accessible": "可访问"
+    },
+    "RoleOrganizationEdit": {
+      "save": "保存",
+      "refresh": "刷新",
+      "clientAndDepartment": "单位/部门",
+      "accessible": "可访问",
+      "allowQueries": "允许查询",
+      "allowNew": "允许新建",
+      "allowUpdates": "允许更新",
+      "allowDeletion": "允许删除"
+    },
+    "RoleProcessReportEdit": {
+      "save": "保存",
+      "refresh": "刷新",
+      "processAndReportName": "流程和报表名称",
+      "accessible": "可访问"
+    },
+    "DataSyncEdit": {
+      "u8AssetNumberSynchronization": "U8资产编号同步",
+      "assetsToBeAdded": "U8待新增资产",
+      "prodogUnnumberedAssets": "Prodog无编号资产",
+      "refresh": "刷新",
+      "save": "保存"
+    },
+    "DataSync": {
+      "basicDataSynchronization": "基础数据同步",
+      "assetCardToBeAdded": "待新增资产卡片",
+      "assetCardToBeUpdated": "待更新资产卡片",
+      "performSynchronization": "执行同步",
+      "serialNumber": "序号",
+      "synchronizationItem": "同步项",
+      "synchronizationResults": "同步结果",
+      "success": "成功",
+      "fail": "失败",
+      "assetNumber": "资产编号",
+      "assetName": "资产名称",
+      "type": "规格型号",
+      "departmentNumber": "部门编号",
+      "handle": "处理",
+      "noData": "无数据"
+    },
+    "AssetBatchOperationOrganization": {
+      "assetConfirmationBatchTransfer": "资产确认批量转移",
+      "ownerDepartmentAfterTransfer": "转移后的所属部门",
+      "ownerClientAfterTransfer": "转移后的所属单位",
+      "useDepartmentAfterTransfer": "转移后的使用部门",
+      "useClientAfterTransfer": "转移后的使用单位",
+      "newStorageLocation": "新存放地点",
+      "personHhandlingAParticularTask": "调拨经手人",
+      "reasonsForTransfer": "转移原因",
+      "pleaseFillInTheReasonForTransfer": "请填写转移原因",
+      "query": "查询",
+      "cancelTransfer": "取消转移",
+      "generateDepartmentChangeDocument": "生成部门变动单",
+      "generateAssetTransferDocument": "生成资产调拨单"
+    },
+    "AssetBatchOperationQuery": {
+      "batchOfAssets": "资产批量",
+      "assetName": "资产名称",
+      "assetNumber": "资产编号",
+      "cardNumber": "卡片编号",
+      "type": "规格型号",
+      "query": "查询",
+      "joinToBe": "加入待",
+      "detailedList": "清单",
+      "openToWait": "打开待",
+      "ownerDepartment": "所属单位部门",
+      "useDepartment": "使用单位部门",
+      "projectName": "项目名称",
+      "assetCategory": "资产类别",
+      "originalValue": "原值",
+      "placeOfPlacement": "放置地点",
+      "aRoomToBePlacedIn": "放置位置",
+      "startDate": "开始使用日期",
+      "user": "使用人",
+      "specificationUser": "规格使用人(输入)",
+      "usageStatus": "使用状况"
+    },
+    "AssetBatchOperationQueue": {
+      "assetName": "资产名称",
+      "assetNumber": "资产编号",
+      "cardNumber": "卡片编号",
+      "ownerDepartment": "所属单位部门",
+      "useDepartment": "使用单位部门",
+      "type": "规格型号",
+      "projectName": "项目名称",
+      "assetCategory": "资产类别",
+      "originalValue": "原值",
+      "placeOfPlacement": "放置地点",
+      "aRoomToBePlacedIn": "放置位置",
+      "startDate": "开始使用日期",
+      "user": "使用人",
+      "userInput": "使用人(输入)",
+      "usageStatus": "使用状况"
+    },
+    "AssetBatchOperationScrap": {
+      "assetConfirmationBatchScrapping": "资产确认批量报废",
+      "serviceConditionAfterScrap": "报废后使用状况",
+      "reasonsForScrapping": "报废原因",
+      "pleaseFillInTheScrapReason": "请填写报废原因",
+      "query": "查询",
+      "cancelScrapping": "取消报废",
+      "confirmScrap": "确认报废"
+    },
+    "InventoryCheckLoss": {
+      "dataProcessingOfAssetInventoryLoss": "资产盘亏数据处理",
+      "back": "返回",
+      "serialNumber": "序号",
+      "assetName": "资产名称",
+      "assetNumber": "资产编号",
+      "type": "规格型号",
+      "cardNumber": "卡片编号",
+      "inventoryLocationOfOtherDepartments": "其他部门盘点位置",
+      "inventoryTimeOfOtherDepartments": "其他部门盘点时间",
+      "handle": "处理"
+    },
+    "workflowUserDefine": {
+      "submit": "提交审批",
+      "copyUser": "抄送人",
+      "approve": "发起审批"
+    },
+    "previousNodeSelectUser": {
+      "copyUser": "抄送人",
+      "selectUser": "选择审批人"
+    },
+    "TabButton": {
+      "dataExport": "数据导出",
+      "DataExport": "如果您只要导出主表的数据(较快),那么点击【导出主表数据】按钮。如果您要导出明细表的数据(较慢),那么点击【导出全部数据】按钮。",
+      "exportMasterTableData": "导出主表数据",
+      "exportAllData": "导出全部数据",
+      "cancel": "取消"
+    },
+    "FinanceBasicSetting": {
+      "financialSettings": "财务设置",
+      "basicInformation": "基本信息",
+      "setNo": "账套号",
+      "setName": "账套名称",
+      "userClient": "使用单位",
+      "monthOfOpeningASet": "账套启用月份",
+      "edit": "编辑",
+      "cancelEditing": "取消编辑",
+      "determine": "确定"
+    },
+    "Period": {
+      "period": "期间",
+      "particularYear": "年份",
+      "startDate": "起始日期",
+      "endDate": "结束日期",
+      "state": "状态",
+      "open": "打开",
+      "cancelOpening": "取消打开",
+      "settleAccounts": "已结账",
+      "theLatestFiscalYearOfTheCurrentSetIs": "当前账套的最新会计年度为",
+      "year": "年",
+      "delete": "删除",
+      "openAllPeriods": "打开全部期间",
+      "closeAllPeriods": "关闭全部期间",
+      "canCreateNew": "可以新建",
+      "annualAccountingCalendar": "年的会计月历",
+      "increase": "增加"
+    },
+    "AccountSubject": {
+      "accountingSubject": "会计科目",
+      "assets": "资产",
+      "liabilities": "负债",
+      "rightsAndInterests": "权益",
+      "cost": "成本",
+      "profitAndLoss": "损益",
+      "commonClass": "共同类",
+      "name": "名称",
+      "code": "编码",
+      "category": "类别",
+      "balanceDirection": "余额方向",
+      "cashAccount": "是否现金科目",
+      "state": "状态",
+      "operation": "操作",
+      "import": "导入",
+      "export": "导出",
+      "newlyAdded": "新增",
+      "delete": "删除",
+      "batchEnable": "批量启用",
+      "batchDisable": "批量禁用"
+    },
+    "MenuFieldEdit": {
+      "menuCustomization": "菜单自定义",
+      "menuName": "菜单名称",
+      "modifyMenuName": "修改菜单名称",
+      "cancel": "取消",
+      "save": "保存"
+    },
+    "RoleCurdField": {
+      "roleFieldAccessPermissions": "角色字段访问权限",
+      "role": "角 色 ",
+      "window": "窗 口 ",
+      "pleaseSelectTheRole": "请选择角色",
+      "pleaseSelectTheWindowName": "请选择窗口名称",
+      "save": "保存",
+      "presentation": "提示",
+      "successfulPreservation": "保存成功"
+    },
+    "imageUpload": {
+      "upload": "上传图片"
+    },
+    "AssignCompanyAdministrator": {
+      "assignAssetManagers": "分配使用公司、使用部门、存放地点的资产管理员",
+      "areYouSureToCancel": "您确定取消吗?",
+      "cancel": "取消",
+      "edit": "编辑",
+      "complete": "完成",
+      "company": "使用公司",
+      "department": "使用部门",
+      "placeOfBusiness": "存放场所",
+      "departmentManager": "部门经理",
+      "assetAdministratorEmail": "资产管理员-电子邮箱",
+      "assetManagerNickname": "资产管理员-昵称",
+      "operation": "操作",
+      "describe1": "查询公司部门营业场所部门经理资产管理员信息异常",
+      "describe2": "请填写资产管理员昵称",
+      "describe3": "请填写资产管理员邮箱",
+      "describe4": "未填写资产管理员-昵称",
+      "describe5": "未填写资产管理员-电子邮箱",
+      "describe6": "分配资产管理员成功",
+      "close": "关闭"
+    },
+    "AssignCompanyAdministratorTwo": {
+      "assignAssetManagers": "修改使用公司、使用部门、存放地点的资产管理员",
+      "areYouSureToCancel": "您确定取消吗?",
+      "cancel": "取消",
+      "edit": "编辑",
+      "complete": "修改",
+      "company": "使用公司",
+      "department": "使用部门",
+      "storageLocation": "存放地点",
+      "departmentManager": "部门经理",
+      "assetAdministratorEmail": "资产管理员-电子邮箱",
+      "assetManagerNickname": "资产管理员-昵称",
+      "operation": "操作",
+      "describe1": "查询公司部门营业场所部门经理资产管理员信息异常",
+      "describe2": "请填写资产管理员昵称",
+      "describe3": "请填写资产管理员邮箱",
+      "describe4": "未填写资产管理员-昵称",
+      "describe5": "未填写资产管理员-电子邮箱",
+      "describe6": "分配资产管理员成功"
+    },
+    "ActivitiAdmin": {
+      "workflowEditing": "工作流编辑",
+      "newlyAdded": "新增",
+      "refresh": "刷新",
+      "download": "下载",
+      "delete": "删除",
+      "upload": "上传",
+      "edit": "编辑",
+      "deploy": "部署",
+      "deleteDeployment": "删除部署",
+      "pleaseConfirm": "请确认删除工作流",
+      "areYouSure": "您确定要删除选中的",
+      "Name": "名称",
+      "creationTime": "创建时间",
+      "updateTime": "更新时间",
+      "deploymentID": "部署Id",
+      "tenantID": "租户Id",
+      "operation": "操作"
+    },
+    "TaskProcessManagement": {
+      "taskManagement": "任务管理",
+      "newlyAdded": "创建任务",
+      "editTask": "编辑任务",
+      "basicConfiguration": "1.基本配置",
+      "name": "名称",
+      "enterATaskName": "请输入任务名称",
+      "describe": "描述",
+      "fillTaskDescription": "请填写任务描述",
+      "taskType": "任务类型",
+      "selectTaskType": "请选择任务类型",
+      "processReport": "流程报表",
+      "processReportFileCode": "流程报表文件编码",
+      "fillProcessReportFileCode": "请填写流程报表文件编码",
+      "processReportName": "流程报表名称",
+      "fillProcessReportName": "请填写流程报表名称",
+      "hTTPTask": "HTTP任务",
+      "hTTPRequestType": "HTTP请求类型",
+      "selectHTTPRequestType": "请选择HTTP请求类型",
+      "hTTPRequestAddress": "HTTP请求地址",
+      "fillrequestAddress": "请填写HTTP请求地址",
+      "parameters": "HTTP参数(json)",
+      "hTTPParameters": "请填写HTTP参数",
+      "receiver": "接收人",
+      "selectAReceiveration": "请选择接收人",
+      "receivingUserGroup": "接收用户组",
+      "selectReceivingUserGroup": "请选择接收用户组",
+      "nextStep": "下一步",
+      "timingConfiguration": "2.定时配置",
+      "timeType": "时间类型",
+      "selectTimeType": "请选择时间类型",
+      "cronExpressions": "cron表达式",
+      "fillInTheCronExpression": "请填写cron表达式",
+      "previousStep": "上一步",
+      "alarmConfiguration": "3.报警配置",
+      "timeoutAlarm": "超时报警",
+      "timeout": "超时时间",
+      "byDefault": "超时时间(s),默认2小时",
+      "timeoutTermination": "超时终止",
+      "failureAlarm": "失败报警",
+      "alarmContact": "报警联系人",
+      "selectAlarmContact": "请选择报警联系人",
+      "otherConfigurations": "4.其他配置",
+      "State": "状态",
+      "pleaseSetTheTaskStatu": "请设置任务状态",
+      "save": "保存",
+      "serialNumber": "序号",
+      "taskName": "任务名",
+      "taskDescription": "任务描述",
+      "effectiveStartTime": "生效开始时间",
+      "effectiveEndTime": "生效结束时间",
+      "operation": "操作",
+      "hTTPRequest": "HTTP请求",
+      "startUsing": "启用",
+      "forbidden": "禁用",
+      "edit": "编辑",
+      "manualExecution": "手动执行",
+      "delete": "删除"
+    },
+    "TrainTask": {
+      "trainingTasks": "培训",
+      "fixedAssetsBasicknowledge": "固定资产基础知识",
+      "systemLogin": "系统登录",
+      "labelPrinting": "标签打印",
+      "inventory": "盘点",
+      "ada": "资产报废",
+      "ata": "资产转移",
+      "describe1": "使用手机,打开浏览器,扫描下面的二维码,可以进入手机端程序。",
+      "describe2": "或者使用手机,输入网址",
+      "assignAssetManager": "分配资产管理员",
+      "modifyAssetAdministrator": "修改资产管理员",
+      "assetSecondment": "资产借调"
+    },
+    "AssetInstanceSearch": {
+      "assetSearch": "资产搜索",
+      "search": "搜索",
+      "condition": "输入资产名称、资产编号等..."
+    },
+    "ExcelReport": {
+      "download": "下载"
+    },
+    "SodControlReport": {
+      "accountStatus": "账户状态",
+      "generateReport": "生成报表",
+      "download": "下载",
+      "quit": "离职",
+      "disable": "禁用",
+      "normal": "正常",
+      "ineffective": "未生效"
+    },
+    "DelegationReport": {
+      "taskIssuTime": "任务下发时间",
+      "taskCompletionTime": "任务完成时间",
+      "start": "开始",
+      "end": "结束",
+      "generateReport": "生成报表",
+      "download": "下载"
+    },
+    "top-nav-user-info": {
+      "personalSettings": "个人设置",
+      "cancellation": "注销"
+    },
+    "UserParameters": {
+      "personalSettings": "个人设置",
+      "userAvatar": "用户头像",
+      "roleTemplate": "角色模板",
+      "role":"角色",
+      "userPasswordModification": "用户密码修改",
+      "originalPassword": "原密码",
+      "inputOriginalPassword": "输入原密码",
+      "newPassword": "新密码",
+      "inputNewPassword": "输入新密码",
+      "confirmPassword": "确认密码",
+      "againInputNewPassword": "再次输入新密码",
+      "save": "保存",
+      "clearUserSettings": "清空用户设置"
+    },
+    "ImageWidget": {
+      "addPicture": "添加图片",
+      "delete": "删除",
+      "uploadFiles": "上传文件",
+      "describe1": "当前浏览器不支持FileReader接口",
+      "describe2": "截图已上传成功",
+      "describe3": "图片已上传成功"
+    },
+    "Cropper": {
+      "selectPicture": "选择图片",
+      "selectPictureUploadDirectly": "选择图片直接上传",
+      "upload": "上传"
+    },
+    "VideoListWidget": {
+      "selectVideo": "选择视频"
+    },
+    "FileListWidget": {
+      "download": "下载",
+      "delete": "删除"
+    },
+    "UploadButton": {
+      "upload": "上传",
+      "uploadFiles": "上传文件",
+      "selectFile": "选择文件"
+    },
+    "ComplexFilterPanel": {
+      "query": "查询",
+      "empty": "清空",
+      "all": "全部",
+      "yes": "是",
+      "no": "否",
+      "isEqual": "等于",
+      "isNotEqual": "不等于",
+      "isGreater": "大于",
+      "greaterThanOrEqual": "大于等于",
+      "lessThan": "小于",
+      "lessThanOrEqualTo": "小于等于",
+      "leftIncluding": "左包括",
+      "rightIncludes": "右包括",
+      "including": "包括",
+      "isEmpty": "为空",
+      "isNotNull": "不为空",
+      "in": "属于",
+      "between": "区间条件",
+      "pleaseEnterContent": "请输入内容",
+      "pleaseEnterTheNumber": "请输入数字",
+      "division": ";分割"
+    },
+    "ComplexFilterHistory": {
+      "theHistoricalRecord": "历史记录",
+      "clearAllRecords": "清空所有记录",
+      "saveSearchCriteria": "保存搜索条件",
+      "nameOfSearchCriteria": "搜索条件名称",
+      "pleaseEnterNameSearchCriteria": "请输入搜索条件名称"
+    },
+    "Approve": {
+      "initiateApply": "发起申请",
+      "pending": "待处理",
+      "approved": "已处理",
+      "myApply": "我的提交",
+      "ccMy": "待审阅",
+      "rejected": "被驳回"
+    },
+    "NeedApproveWorkflow": {
+      "startTime": "开始时间",
+      "approvalOriginator": "审批发起人",
+      "subject": "主题",
+      "all": "全部",
+      "search": "搜索",
+      "closeAdvancedSearch": "关闭高级搜索",
+      "advancedSearch": "高级搜索",
+      "clearSearchCriteria": "清空搜索条件",
+      "documentCode": "文件编码",
+      "approvalSummary": "审批摘要",
+      "originatingTime": "发起时间",
+      "endTime": "截止时间",
+      "operation": "操作",
+      "viewTasks": "查看任务",
+      "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见"
+    },
+    "ApprovedWorkflow": {
+      "startTime": "开始时间",
+      "completionTime": "完成时间",
+      "approvalOriginator": "审批发起人",
+      "subject": "主题",
+      "all": "全部",
+      "search": "搜索",
+      "closeAdvancedSearch": "关闭高级搜索",
+      "advancedSearch": "高级搜索",
+      "clearSearchCriteria": "清空搜索条件",
+      "completed": "已完成",
+      "haveInHand": "进行中",
+      "documentCode": "文件编码",
+      "approvalSummary": "审批摘要",
+      "originatingTime": "发起时间",
+      "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见",
+      "status": "状态",
+      "inProcess": "进行中",
+      "done": "已完成"
+    },
+    "MyApplyWorkflow": {
+      "startTime": "开始时间",
+      "completionTime": "完成时间",
+      "approvalOriginator": "审批发起人",
+      "subject": "主题",
+      "all": "全部",
+      "search": "搜索",
+      "closeAdvancedSearch": "关闭高级搜索",
+      "advancedSearch": "高级搜索",
+      "clearSearchCriteria": "清空搜索条件",
+      "completed": "已完成",
+      "haveInHand": "进行中",
+      "documentCode": "文件编码",
+      "approvalSummary": "审批摘要",
+      "originatingTime": "发起时间",
+      "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见",
+      "status": "状态",
+      "inProcess": "进行中",
+      "done": "已完成"
+    },
+    "CopyTaskWorkflow": {
+      "startTime": "开始时间",
+      "completionTime": "完成时间",
+      "approvalOriginator": "审批发起人",
+      "subject": "主题",
+      "all": "全部",
+      "search": "搜索",
+      "closeAdvancedSearch": "关闭高级搜索",
+      "advancedSearch": "高级搜索",
+      "clearSearchCriteria": "清空搜索条件",
+      "completed": "已完成",
+      "haveInHand": "进行中",
+      "documentCode": "文件编码",
+      "approvalSummary": "审批摘要",
+      "originatingTime": "发起时间",
+      "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见",
+      "status": "状态",
+      "inProcess": "进行中",
+      "done": "已完成"
+    },
+    "NotApproveWorkflow": {
+      "startTime": "开始时间",
+      "completionTime": "完成时间",
+      "approvalOriginator": "审批发起人",
+      "subject": "主题",
+      "all": "全部",
+      "search": "搜索",
+      "closeAdvancedSearch": "关闭高级搜索",
+      "advancedSearch": "高级搜索",
+      "clearSearchCriteria": "清空搜索条件",
+      "completed": "已完成",
+      "haveInHand": "进行中",
+      "documentCode": "文件编码",
+      "approvalSummary": "审批摘要",
+      "originatingTime": "发起时间",
+      "describe1": "请输入关键字,包括主题、文件编码、正文内容、审批意见",
+      "status": "状态",
+      "inProcess": "进行中",
+      "done": "已完成"
+    },
+    "PdfPrint": {
+      "watchTrainingVideo": "学习培训视频",
+      "operationComplete": "操作完成",
+      "scanQrCodes": "扫描二维码",
+      "describe1": "您可以使用手机从浏览打开相机,扫描以下二维码访问移动应用程序网站。然后打印并粘贴标签,拍摄并上传固定资产的照片。",
+      "viewReport": "查看报表",
+      "missingTaskId": "缺少任务Id"
+    },
+    "KnowledgeTrainAnswer": {
+      "describe1": "固定资产基本知识问答",
+      "notSelectAnswer": "未选择答案",
+      "correctAnswer": "回答正确",
+      "describe2": "回答错误:确定答案是",
+      "submit": "提交",
+      "title": "固定资产知识培训",
+      "describe3": "本次固定资产知识培训,还有题目未回答,请查看界面的提示",
+      "describe4": "查询固定资产培训"
+    },
+    "KnowledgeTrain": {
+      "describe1": "UPS 固定资产基本知识需知",
+      "describe2": "1.固定资产",
+      "describe3": "UPS将购买单件成本大于或等于USD1000.00的资产确认为固定资产。",
+      "describe4": "2.固定资产的新增",
+      "describe5": "使用部门通过RFA/PO申请购买固定资产,当接收新的固定资产,使用部门的固定资产协调员需要登录固定资产系统进行新增固定资产标签打印和张贴到固定资产外表并拍照上传至固定资产系统。",
+      "describe6": "3.当固定资产的状态发生变化",
+      "describe7": "例如借调转移或破损、淘汰……使用部门应该登录固定资产系统提出固定资产转移和固定资产报废申请,按照公司规定的流程获得批准及资产转移接收部门经理同意后才可以进行固定资产转移或报废的处理程序。",
+      "describe8": "4.关于固定资产盘点",
+      "describe9": "每年都要进行固定资产盘点包括在客户或供应商处使用的固定资产,使用部门应当在依照固定资产系统分配的固定资产清单进行盘点(扫描二维码记录固定资产的状态并上传固定资产的照片),盘点的工作应当在一个月内完成并由部门经理确认盘点结果,盘点过程中对于某些固定资产状态发生变化的应当在完成盘点确认后立刻提交ATA/ADA进行后补固定资产转移或报废的审批流程。",
+      "nextStep": "下一步"
+    },
+    "InventoryAssetInstanceSearch": {
+      "condition": "输入资产名称、资产编号等...",
+      "search": "搜索",
+      "describe1": "一共为您找到相关结果约",
+      "assetName": "资产名称",
+      "assetNumber": "资产编号",
+      "assetCategory": "资产分类",
+      "storageLocation": "存放地点",
+      "cost": "资产原值",
+      "useStatus": "使用状况",
+      "individual": "个"
+    },
+    "ReportApprove": {
+      "viewReport": "查看报表"
+    },
+    "ImageListWidget": {
+      "selectPicture": "选择图片",
+      "describe1": "图片大小超过限制,最大3M"
+    },
+    "Notify": {
+      "prompt": "提示",
+      "error": "错误",
+      "success": "成功",
+      "warning": "警告",
+      "fail": "失败",
+      "pleaseSelectTaskFirst": "请先选择任务。",
+      "errorOpeningCURDWindow": "打开CURD窗口错误",
+      "dataDictionaryError": "数据字典错误",
+      "describe1": "数据自定未定义HTML窗口。",
+      "companySwitchFailed": "公司切换失败"
+    },
+    "RetrievePassword": {
+      "retrievePassword": "找回密码",
+      "authentication": "验证身份",
+      "resetPassword": "重置密码",
+      "complete": "完成"
+    },
+    "RetrievePasswordStep1": {
+      "yourEmail": "您的邮箱",
+      "pleaseEnterYourEmail": "请输入您的邮箱!",
+      "yourAccount": "您的账号",
+      "pleaseEnterYourAccount": "请输入您的账号!",
+      "verificationCode": "验证码",
+      "pleaseEnterVerificationVode": "请输入验证码",
+      "nextStep": "下一步",
+      "getVerificationCode": "获取验证码",
+      "accountNumberCannotBeBlank": "账号不允许为空",
+      "mailboxCannotBeEmpty": "邮箱不允许为空",
+      "illegalFormat": "非法格式"
+    },
+    "RetrievePasswordStep2": {
+      "newPassword": "新密码",
+      "pleaseEnterYourNewPassword": "请输入您的新密码!",
+      "enterAgain": "再次输入",
+      "pleaseEnterYourNewPasswordAgain": "请再次输入您的新密码!",
+      "submit": "提交",
+      "describe1": "新密码不能为空",
+      "describe2": "新密码中不允许包含空格字符",
+      "describe3": "确认密码与新密码不一致,请核对后再提交",
+      "describe4": "两次密码输入不一致!"
+    },
+    "RetrievePasswordStep3": {
+      "title": "恭喜您,密码重置成功!",
+      "subTitle": "您可以使用新密码登录固定资产管理系统。",
+      "signInNow": "立即登录"
+    },
+    "ResetPassword": {
+      "newPassword": "新密码",
+      "enterNewPassword": "输入新密码",
+      "confirmPassword": "确认密码",
+      "enterConfirmPassword": "输入确认密码",
+      "resetPassword": "重置密码",
+      "describe1": "新密码不能为空",
+      "describe2": "新密码中不允许包含空格字符",
+      "describe3": "确认密码与新密码不一致,请核对后再提交",
+      "describe4": "两次密码输入不一致!"
+    },
+    "window": {
+      "dataNotSaved": "数据未保存",
+      "describe1": "请先保存数据请先保存数据或者撤销改动或者撤销改动"
+    },
+    "WindowEditCustomer": {
+      "savedSuccessfully": "保存成功",
+      "dataSavedSuccessfully": "数据保存成功",
+      "deleteConfirmation": "删除确认",
+      "describe1": "您确定要删除该条数据吗?如果\"是\"的话,请点击\"确定\"按钮,否则点击\"取消\"按钮",
+      "determine": "确定",
+      "cancel": "取消"
+    },
+    "LoginNotice": {
+      "describe1": "培训-固定资产管理系统简介",
+      "describe2": "隐私声明(Privacy Notice)",
+      "describe3": "固定资产知识培训",
+      "describe4": "重置密码",
+      "describe5": "部门经理填写部门、存放地点的资产管理员"
+    },
+    "StudyVideo": {
+      "completeCourse": "学习完毕"
+    },
+    "TabFormFieldView": {
+      "pendingApproval": "审批中",
+      "editing": "编辑中",
+      "approved": "审批通过",
+      "yes": "是",
+      "no": "否",
+      "transfer": "转移",
+      "disposal": "报废",
+      "rejected": "审批不通过",
+      "withdraw": "单据已撤回",
+      "overall": "全盘",
+      "randomInventory": "抽盘"
+    }
   }
 }

+ 2 - 0
src/routes/main_routes.js

@@ -60,6 +60,7 @@ const PrintTemp = () => import(/* webpackChunkName: "component-test-6" */ '../cu
 
 const PrintCard = () => import('../print/PrintCard.vue');
 const DataArchive = () => import('../archive/DataArchive.vue');
+const ArchivalRecord = () => import('../archive/ArchivalRecord.vue');
 import { ProcessReport } from 'pc-component-v3';
 
 export default [
@@ -371,4 +372,5 @@ export default [
   { path: '/dateExcelReport/:processReportNo', component: DateExcelReport },
   { path: '/desktop/delegationReport', component: DelegationReport },
   { path: '/desktop/dataArchive', component: DataArchive },//数据归档
+  { path: '/desktop/archivalRecord', component: ArchivalRecord },//数据归档
 ];

+ 1 - 1
src/window/tabFormView/TabFormEdit.vue

@@ -454,7 +454,7 @@ export default {
       handler(curVal, oldVal) {
         var _self = this;
         this.tabButtonsShowLogical();
-        this.reportViewsShowLogical();
+        // this.reportViewsShowLogical();
         if (_self.autoSaveInterval != null) {
           clearInterval(_self.autoSaveInterval);
           _self.autoSaveInterval = null;

+ 13 - 4
src/window/tabGridView/TabGridEdit.vue

@@ -219,7 +219,7 @@
                 }}
               </span>
               {{ $t('lang.tabGridEdit.pageSize') }}
-              <PageSizeSelect @page-size-changed="gridSizeSelect" />
+              <PageSizeSelect :size="pagination.per_page" @page-size-changed="gridSizeSelect" />
             </div>
 
             <div class="pull-right">
@@ -354,7 +354,6 @@ export default {
       searchText: '', // 简单过滤条件
     };
   },
-
   computed: {
     tableWidth: function () {
       // 第一列和第二列
@@ -521,6 +520,9 @@ export default {
       );
     },
   },
+  created: function(){
+    this.rememberPageSize();
+  },
 
   beforeUnmount: function () {
     let _self = this;
@@ -613,7 +615,13 @@ export default {
     changeSelectMode: function (val) {
       this.multipleSelect = val;
     },
-
+    // 记住每页条数
+    rememberPageSize:function(){
+      const curdPageSize = localStorage.getItem(`CurdWindowPageSize${this.$route.params.windowNo}`);
+      if(curdPageSize){
+        this.pagination.per_page = curdPageSize;
+      }
+    },
     /**
          * 加载窗口的定义
          * @param complexFilterParams 复杂过滤条件
@@ -651,7 +659,7 @@ export default {
         current_page: 1, // required
         last_page: 10, // required
       };
-
+      _self.rememberPageSize();
       // _self.windowNo = window.no;
       _self.window = window;
       _self.jsUrl = window.jsUrl;
@@ -1243,6 +1251,7 @@ export default {
     gridSizeSelect: function (newPageSize) {
       this.pagination.per_page = newPageSize;
       this.pagination.current_page = 1;
+      localStorage.setItem(`CurdWindowPageSize${this.windowNo}`,newPageSize);
       // 刷新界面
       // this.queryGridData(true);
     },

+ 3 - 3
src/workflow/NotApproveWorkflow.vue

@@ -148,7 +148,7 @@
             </thead>
             <tbody>
               <tr
-                v-for="item in historicTaskInfos.historicTaskInfos"
+                v-for="item in historicTaskInfos.historicProcessInstanceInfos"
                 :key="item.id"
                 class="m-tr"
                 @click="selectTaskInfo(item)"
@@ -334,7 +334,7 @@ export default {
         success: function (data) {
           _self.loading=false;
           _self.historicTaskInfos = data;
-          _self.historicTaskInfos.historicTaskInfos.forEach(item => {
+          _self.historicTaskInfos.historicProcessInstanceInfos.forEach(item => {
             try{
               var content = JSON.parse(item.content);
               var parentForm = '';
@@ -417,7 +417,7 @@ export default {
         success: function (data) {
           _self.loading=false;
           _self.historicTaskInfos = data;
-          _self.historicTaskInfos.historicTaskInfos.forEach(item => {
+          _self.historicTaskInfos.historicProcessInstanceInfos.forEach(item => {
             try{
 
               var content = JSON.parse(item.content);