Commit 681b1d24 authored by gary's avatar gary

Merge remote-tracking branch 'origin/dev_mysql' into dev_mysql

parents 6cc0db68 79701cd5
package pwc.taxtech.atms.constant.enums;
import java.util.HashMap;
import java.util.Map;
public class FileUploadEnum {
/**
* 业务来源
*/
public enum BizSource {
REPORT_UPLOAD("REPORT_UPLOAD", "历史报表归档上传"),
RECORD_UPLOAD("RECORD_UPLOAD", "档案管理上传");
private String code;
private String name;
public static final Map<String, String> MAPPING = new HashMap<>();
BizSource(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
static {
for (FileUploadEnum.BizSource bizSource : FileUploadEnum.BizSource.values()) {
MAPPING.put(bizSource.getCode(), bizSource.getName());
}
}
}
}
...@@ -46,14 +46,8 @@ public class FileTypesController { ...@@ -46,14 +46,8 @@ public class FileTypesController {
@PostMapping("/query4SelectionBox") @PostMapping("/query4SelectionBox")
@ResponseBody @ResponseBody
public Map<String,String> query4SelectionBox(){ public Map<String,String> query4SelectionBox(){
// public Map<String,Map<Long,String>> query4SelectionBox(){
List<FileTypes> fileTypes = fileTypesService.query4SelectionBox(); List<FileTypes> fileTypes = fileTypesService.query4SelectionBox();
// Map<Long,String> fileAttrList = fileTypes.stream().collect(Collectors.toMap(FileTypes::getId,FileTypes::getFileAttr));
// Map<Long,String> fileTypeList = fileTypes.stream().collect(Collectors.toMap(FileTypes::getId,FileTypes::getFileType));
Map<String,String> result = fileTypes.stream().collect(Collectors.toMap(FileTypes::getFileType,FileTypes::getFileAttr)); Map<String,String> result = fileTypes.stream().collect(Collectors.toMap(FileTypes::getFileType,FileTypes::getFileAttr));
// Map<String,Map<Long,String>> result = new HashMap<>();
// result.put("fileAttrList",fileAttrList);
// result.put("fileTypeList",fileTypeList);
return result; return result;
} }
......
...@@ -48,8 +48,10 @@ public class TaxDocumentController { ...@@ -48,8 +48,10 @@ public class TaxDocumentController {
@PostMapping("add") @PostMapping("add")
@ResponseBody @ResponseBody
public boolean addTaxDocument(@RequestBody TaxDocument taxDocument) { public boolean addTaxDocument(@RequestBody TaxDocument taxDocument,
return taxDocumentService.addTaxDocumentList(taxDocument); @RequestPart("file") MultipartFile file,
@RequestParam(required = false) String modual) {
return taxDocumentService.addTaxDocumentList(file,taxDocument);
} }
@PostMapping("delete") @PostMapping("delete")
...@@ -70,9 +72,10 @@ public class TaxDocumentController { ...@@ -70,9 +72,10 @@ public class TaxDocumentController {
return taxDocumentService.editFilesType(taxDocument); return taxDocumentService.editFilesType(taxDocument);
} }
@RequestMapping("exportExcel") @RequestMapping("exportExcel")
@ResponseBody @ResponseBody
public void exportExcelFile(HttpServletResponse response,@RequestBody TaxDocumentDto taxDocumentDto) { public void exportExcelFile(HttpServletResponse response, @RequestBody TaxDocumentDto taxDocumentDto) {
try { try {
Map<String, String> headers = new HashMap<String, String>(); Map<String, String> headers = new HashMap<String, String>();
headers.put("id", "id"); headers.put("id", "id");
...@@ -111,6 +114,17 @@ public class TaxDocumentController { ...@@ -111,6 +114,17 @@ public class TaxDocumentController {
@RequestMapping("upload") @RequestMapping("upload")
@ResponseBody @ResponseBody
public String upload(@RequestPart("file") MultipartFile picture, @RequestParam(required = false) String modual) { public String upload(@RequestPart("file") MultipartFile picture, @RequestParam(required = false) String modual) {
return getUploadUrl(picture, modual);
}
/**
* 生成上传url
*
* @param picture
* @param modual
* @return
*/
private String getUploadUrl(MultipartFile picture, String modual) {
String fileName = picture.getOriginalFilename(); String fileName = picture.getOriginalFilename();
String pictureName = UUID.randomUUID().toString() + fileName.substring(fileName.lastIndexOf(".")); String pictureName = UUID.randomUUID().toString() + fileName.substring(fileName.lastIndexOf("."));
String dir = DateUtils.getStringDateShort(); String dir = DateUtils.getStringDateShort();
...@@ -133,4 +147,6 @@ public class TaxDocumentController { ...@@ -133,4 +147,6 @@ public class TaxDocumentController {
} }
return "images" + File.separator + typePath + File.separator + pictureName; return "images" + File.separator + typePath + File.separator + pictureName;
} }
} }
...@@ -74,7 +74,7 @@ public class DidiFileUploadService extends BaseService { ...@@ -74,7 +74,7 @@ public class DidiFileUploadService extends BaseService {
private static final String PROXY_PORT = "11007"; private static final String PROXY_PORT = "11007";
public FileUpload uploadFile(MultipartFile file, String fileName,String bizSource) throws ServiceException { public FileUpload uploadFile(MultipartFile file, String fileName, String bizSource) throws ServiceException {
CloseableHttpClient httpClient = null; CloseableHttpClient httpClient = null;
String requestKey = CommonUtils.getUUID(); String requestKey = CommonUtils.getUUID();
String requestUrl = upload_post_url + "/" + requestKey; String requestUrl = upload_post_url + "/" + requestKey;
...@@ -86,7 +86,7 @@ public class DidiFileUploadService extends BaseService { ...@@ -86,7 +86,7 @@ public class DidiFileUploadService extends BaseService {
httpClient = HttpClients.createDefault(); httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(requestUrl); HttpPost httpPost = new HttpPost(requestUrl);
String md5Str = getFileMD5String(file); String md5Str = getFileMD5String(file);
ByteArrayBody byteBody = new ByteArrayBody(file.getBytes(), ContentType.MULTIPART_FORM_DATA, StringUtils.isBlank(fileName)?file.getOriginalFilename():fileName); ByteArrayBody byteBody = new ByteArrayBody(file.getBytes(), ContentType.MULTIPART_FORM_DATA, StringUtils.isBlank(fileName) ? file.getOriginalFilename() : fileName);
StringBody md5 = new StringBody(md5Str, ContentType.create("text/plain")); StringBody md5 = new StringBody(md5Str, ContentType.create("text/plain"));
HttpEntity httpEntity = MultipartEntityBuilder.create().addPart("filecontent", byteBody).addPart("md5", md5).build(); HttpEntity httpEntity = MultipartEntityBuilder.create().addPart("filecontent", byteBody).addPart("md5", md5).build();
httpPost.setEntity(httpEntity); httpPost.setEntity(httpEntity);
...@@ -98,7 +98,7 @@ public class DidiFileUploadService extends BaseService { ...@@ -98,7 +98,7 @@ public class DidiFileUploadService extends BaseService {
fileUpload = new FileUpload(); fileUpload = new FileUpload();
fileUpload.setBizSource(bizSource); fileUpload.setBizSource(bizSource);
fileUpload.setUid(CommonUtils.getUUID()); fileUpload.setUid(CommonUtils.getUUID());
fileUpload.setFileName(StringUtils.isBlank(fileName)?file.getOriginalFilename():fileName); fileUpload.setFileName(StringUtils.isBlank(fileName) ? file.getOriginalFilename() : fileName);
fileUpload.setResourceKey(requestKey); fileUpload.setResourceKey(requestKey);
assemblyModel(resultDto, fileUpload); assemblyModel(resultDto, fileUpload);
uploadLog.setFileUploadId(fileUpload.getUid()); uploadLog.setFileUploadId(fileUpload.getUid());
...@@ -153,22 +153,22 @@ public class DidiFileUploadService extends BaseService { ...@@ -153,22 +153,22 @@ public class DidiFileUploadService extends BaseService {
} }
FileUploadExample example = new FileUploadExample(); FileUploadExample example = new FileUploadExample();
FileUploadExample.Criteria criteria = example.createCriteria(); FileUploadExample.Criteria criteria = example.createCriteria();
if(CollectionUtils.isNotEmpty(param.getUuids())){ if (CollectionUtils.isNotEmpty(param.getUuids())) {
criteria.andUidIn(param.getUuids()); criteria.andUidIn(param.getUuids());
} }
if(CollectionUtils.isNotEmpty(param.getBizSources())){ if (CollectionUtils.isNotEmpty(param.getBizSources())) {
criteria.andBizSourceIn(param.getBizSources()); criteria.andBizSourceIn(param.getBizSources());
} }
if(CollectionUtils.isNotEmpty(param.getUploadMonths())){ if (CollectionUtils.isNotEmpty(param.getUploadMonths())) {
criteria.andUploadMonthIn(param.getUploadMonths()); criteria.andUploadMonthIn(param.getUploadMonths());
} }
if(CollectionUtils.isNotEmpty(param.getUploadDates())){ if (CollectionUtils.isNotEmpty(param.getUploadDates())) {
criteria.andUploadDateIn(param.getUploadDates()); criteria.andUploadDateIn(param.getUploadDates());
} }
if(CollectionUtils.isNotEmpty(param.getUploadWeeks())){ if (CollectionUtils.isNotEmpty(param.getUploadWeeks())) {
criteria.andUploadWeekIn(param.getUploadWeeks()); criteria.andUploadWeekIn(param.getUploadWeeks());
} }
if(CollectionUtils.isNotEmpty(param.getUploadYears())){ if (CollectionUtils.isNotEmpty(param.getUploadYears())) {
criteria.andUploadYearIn(param.getUploadYears()); criteria.andUploadYearIn(param.getUploadYears());
} }
refreshViewUrl(param); refreshViewUrl(param);
...@@ -214,22 +214,22 @@ public class DidiFileUploadService extends BaseService { ...@@ -214,22 +214,22 @@ public class DidiFileUploadService extends BaseService {
public void refreshViewUrl(DidiFileIUploadParam param) throws ServiceException { public void refreshViewUrl(DidiFileIUploadParam param) throws ServiceException {
FileUploadExample example = new FileUploadExample(); FileUploadExample example = new FileUploadExample();
FileUploadExample.Criteria criteria = example.createCriteria(); FileUploadExample.Criteria criteria = example.createCriteria();
if(CollectionUtils.isNotEmpty(param.getUuids())){ if (CollectionUtils.isNotEmpty(param.getUuids())) {
criteria.andUidIn(param.getUuids()); criteria.andUidIn(param.getUuids());
} }
if(CollectionUtils.isNotEmpty(param.getBizSources())){ if (CollectionUtils.isNotEmpty(param.getBizSources())) {
criteria.andBizSourceIn(param.getBizSources()); criteria.andBizSourceIn(param.getBizSources());
} }
if(CollectionUtils.isNotEmpty(param.getUploadMonths())){ if (CollectionUtils.isNotEmpty(param.getUploadMonths())) {
criteria.andUploadMonthIn(param.getUploadMonths()); criteria.andUploadMonthIn(param.getUploadMonths());
} }
if(CollectionUtils.isNotEmpty(param.getUploadDates())){ if (CollectionUtils.isNotEmpty(param.getUploadDates())) {
criteria.andUploadDateIn(param.getUploadDates()); criteria.andUploadDateIn(param.getUploadDates());
} }
if(CollectionUtils.isNotEmpty(param.getUploadWeeks())){ if (CollectionUtils.isNotEmpty(param.getUploadWeeks())) {
criteria.andUploadWeekIn(param.getUploadWeeks()); criteria.andUploadWeekIn(param.getUploadWeeks());
} }
if(CollectionUtils.isNotEmpty(param.getUploadYears())){ if (CollectionUtils.isNotEmpty(param.getUploadYears())) {
criteria.andUploadYearIn(param.getUploadYears()); criteria.andUploadYearIn(param.getUploadYears());
} }
criteria.andUsefulEndTimeLessThan(new Date()); criteria.andUsefulEndTimeLessThan(new Date());
...@@ -261,12 +261,12 @@ public class DidiFileUploadService extends BaseService { ...@@ -261,12 +261,12 @@ public class DidiFileUploadService extends BaseService {
} }
} }
public Boolean delData(String uid){ public Boolean delData(String uid) {
boolean delFlag = false; boolean delFlag = false;
FileUploadExample example = new FileUploadExample(); FileUploadExample example = new FileUploadExample();
example.createCriteria().andUidEqualTo(uid); example.createCriteria().andUidEqualTo(uid);
List<FileUpload> dataList = fileUploadMapper.selectByExample(example); List<FileUpload> dataList = fileUploadMapper.selectByExample(example);
if(CollectionUtils.isNotEmpty(dataList)){ if (CollectionUtils.isNotEmpty(dataList)) {
CloseableHttpClient httpClient = null; CloseableHttpClient httpClient = null;
FileUploadLog uploadLog = new FileUploadLog(); FileUploadLog uploadLog = new FileUploadLog();
uploadLog.setRequestId(dataList.get(0).getResourceKey()); uploadLog.setRequestId(dataList.get(0).getResourceKey());
......
...@@ -8,6 +8,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -8,6 +8,7 @@ import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.common.AuthUserHelper; import pwc.taxtech.atms.common.AuthUserHelper;
import pwc.taxtech.atms.common.CommonUtils; import pwc.taxtech.atms.common.CommonUtils;
import pwc.taxtech.atms.common.message.ErrorMessage; import pwc.taxtech.atms.common.message.ErrorMessage;
import pwc.taxtech.atms.constant.enums.FileUploadEnum;
import pwc.taxtech.atms.constant.enums.ReportFileUploadEnum; import pwc.taxtech.atms.constant.enums.ReportFileUploadEnum;
import pwc.taxtech.atms.dao.ProjectMapper; import pwc.taxtech.atms.dao.ProjectMapper;
import pwc.taxtech.atms.dao.UserMapper; import pwc.taxtech.atms.dao.UserMapper;
...@@ -106,7 +107,7 @@ public class ReportFileUploadService extends BaseService { ...@@ -106,7 +107,7 @@ public class ReportFileUploadService extends BaseService {
data.setOrgId(project.getOrganizationId()); data.setOrgId(project.getOrganizationId());
ReportFileUploadExample example = new ReportFileUploadExample(); ReportFileUploadExample example = new ReportFileUploadExample();
example.createCriteria().andProjectIdEqualTo(data.getProjectId()).andPeriodEqualTo(data.getPeriod()).andReportTypeEqualTo(data.getReportType()); example.createCriteria().andProjectIdEqualTo(data.getProjectId()).andPeriodEqualTo(data.getPeriod()).andReportTypeEqualTo(data.getReportType());
FileUpload fileUpload = didiFileUploadService.uploadFile(file, file.getOriginalFilename(), "ReportUpload"); FileUpload fileUpload = didiFileUploadService.uploadFile(file, file.getOriginalFilename(), FileUploadEnum.BizSource.REPORT_UPLOAD.name());
data.setFileUploadId(fileUpload.getUid()); data.setFileUploadId(fileUpload.getUid());
data.setUid(CommonUtils.getUUID()); data.setUid(CommonUtils.getUUID());
data.setCreateTime(new Date()); data.setCreateTime(new Date());
......
...@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; ...@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.common.AuthUserHelper; import pwc.taxtech.atms.common.AuthUserHelper;
import pwc.taxtech.atms.common.CommonUtils; import pwc.taxtech.atms.common.CommonUtils;
import pwc.taxtech.atms.constant.enums.FileUploadEnum;
import pwc.taxtech.atms.dao.ProjectMapper; import pwc.taxtech.atms.dao.ProjectMapper;
import pwc.taxtech.atms.dao.UserMapper; import pwc.taxtech.atms.dao.UserMapper;
import pwc.taxtech.atms.dto.didiFileUpload.DidiFileIUploadParam; import pwc.taxtech.atms.dto.didiFileUpload.DidiFileIUploadParam;
...@@ -96,7 +97,7 @@ public class ReportUploadService extends BaseService { ...@@ -96,7 +97,7 @@ public class ReportUploadService extends BaseService {
} }
fileName += ".xlsx"; fileName += ".xlsx";
data.setReportName(fileName); data.setReportName(fileName);
FileUpload fileUpload = didiFileUploadService.uploadFile(file, fileName, "ReportUpload"); FileUpload fileUpload = didiFileUploadService.uploadFile(file, fileName, FileUploadEnum.BizSource.REPORT_UPLOAD.name());
data.setFileUploadId(fileUpload.getUid()); data.setFileUploadId(fileUpload.getUid());
data.setUid(CommonUtils.getUUID()); data.setUid(CommonUtils.getUUID());
data.setCreateTime(new Date()); data.setCreateTime(new Date());
......
...@@ -5,12 +5,15 @@ import org.apache.commons.lang3.StringUtils; ...@@ -5,12 +5,15 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.common.AuthUserHelper; import pwc.taxtech.atms.common.AuthUserHelper;
import pwc.taxtech.atms.constant.enums.FileUploadEnum;
import pwc.taxtech.atms.dao.TaxDocumentMapper; import pwc.taxtech.atms.dao.TaxDocumentMapper;
import pwc.taxtech.atms.dto.TaxDocumentDto; import pwc.taxtech.atms.dto.TaxDocumentDto;
import pwc.taxtech.atms.entity.OperationLogTaxDocument; import pwc.taxtech.atms.entity.OperationLogTaxDocument;
import pwc.taxtech.atms.entity.TaxDocument; import pwc.taxtech.atms.entity.TaxDocument;
import pwc.taxtech.atms.entity.TaxDocumentExample; import pwc.taxtech.atms.entity.TaxDocumentExample;
import pwc.taxtech.atms.vat.entity.FileUpload;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Calendar; import java.util.Calendar;
...@@ -34,6 +37,10 @@ public class TaxDocumentServiceImpl { ...@@ -34,6 +37,10 @@ public class TaxDocumentServiceImpl {
@Autowired @Autowired
private OperationLogTaxDocServiceImpl operationLogTaxDocService; private OperationLogTaxDocServiceImpl operationLogTaxDocService;
@Autowired
DidiFileUploadService didiFileUploadService;
public List<TaxDocument> selectTaxDocumentList(TaxDocumentDto taxDocumentDto) { public List<TaxDocument> selectTaxDocumentList(TaxDocumentDto taxDocumentDto) {
return taxDocumentMapper.selectByExample(getExample(taxDocumentDto)); return taxDocumentMapper.selectByExample(getExample(taxDocumentDto));
} }
...@@ -111,8 +118,12 @@ public class TaxDocumentServiceImpl { ...@@ -111,8 +118,12 @@ public class TaxDocumentServiceImpl {
} }
@Transactional @Transactional
public synchronized boolean addTaxDocumentList(TaxDocument taxDocument) { public synchronized boolean addTaxDocumentList(MultipartFile file, TaxDocument taxDocument) {
try { try {
//上传文件
FileUpload fileUpload = didiFileUploadService.uploadFile(file,file.getOriginalFilename(), FileUploadEnum.BizSource.RECORD_UPLOAD.name());
taxDocument.setFileUploadId(fileUpload.getUid());
taxDocument.setFilePositionUrl(fileUpload.getViewHttpUrl());
//设置创建人 创建时间信息 设置年份区分 //设置创建人 创建时间信息 设置年份区分
taxDocument.setCreateTime(new Date()); taxDocument.setCreateTime(new Date());
taxDocument.setCreator(authUserHelper.getCurrentAuditor().get()); taxDocument.setCreator(authUserHelper.getCurrentAuditor().get());
......
...@@ -267,6 +267,17 @@ public class TaxDocument implements Serializable { ...@@ -267,6 +267,17 @@ public class TaxDocument implements Serializable {
*/ */
private String filePositionUrl; private String filePositionUrl;
/**
* Database Column Remarks:
* 上传文件id
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column tax_document.file_upload_id
*
* @mbg.generated
*/
private String fileUploadId;
/** /**
* Database Column Remarks: * Database Column Remarks:
* 按年份分区的冗余字段 * 按年份分区的冗余字段
...@@ -313,6 +324,14 @@ public class TaxDocument implements Serializable { ...@@ -313,6 +324,14 @@ public class TaxDocument implements Serializable {
return enable; return enable;
} }
public String getFileUploadId() {
return fileUploadId;
}
public void setFileUploadId(String fileUploadId) {
this.fileUploadId = fileUploadId;
}
public void setEnable(String enable) { public void setEnable(String enable) {
this.enable = enable; this.enable = enable;
} }
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
<result column="remark" jdbcType="VARCHAR" property="remark"/> <result column="remark" jdbcType="VARCHAR" property="remark"/>
<result column="file_original_name" jdbcType="VARCHAR" property="fileOriginalName"/> <result column="file_original_name" jdbcType="VARCHAR" property="fileOriginalName"/>
<result column="file_position_url" jdbcType="VARCHAR" property="filePositionUrl"/> <result column="file_position_url" jdbcType="VARCHAR" property="filePositionUrl"/>
<result column="file_upload_id" jdbcType="VARCHAR" property="fileUploadId"/>
<result column="year_redundancy" jdbcType="INTEGER" property="yearRedundancy"/> <result column="year_redundancy" jdbcType="INTEGER" property="yearRedundancy"/>
<result column="audit_status" jdbcType="INTEGER" property="auditStatus"/> <result column="audit_status" jdbcType="INTEGER" property="auditStatus"/>
<result column="physical_index_number" jdbcType="VARCHAR" property="physicalIndexNumber"/> <result column="physical_index_number" jdbcType="VARCHAR" property="physicalIndexNumber"/>
...@@ -110,7 +111,7 @@ ...@@ -110,7 +111,7 @@
--> -->
id, file_attr, file_type_id, file_type, file_name, business_line, company_id, company_name, id, file_attr, file_type_id, file_type, file_name, business_line, company_id, company_name,
tax_type, file_time, effective_time, creator_id, creator, create_time, update_time, tax_type, file_time, effective_time, creator_id, creator, create_time, update_time,
upload_time, storage_area, keeper_id, keeper, remark, file_original_name, file_position_url, upload_time, storage_area, keeper_id, keeper, remark, file_original_name, file_upload_id, file_position_url,
year_redundancy,audit_status,physical_index_number,own_time,enable year_redundancy,audit_status,physical_index_number,own_time,enable
</sql> </sql>
<select id="selectByExample" parameterType="pwc.taxtech.atms.entity.TaxDocumentExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="pwc.taxtech.atms.entity.TaxDocumentExample" resultMap="BaseResultMap">
...@@ -170,7 +171,7 @@ ...@@ -170,7 +171,7 @@
file_time, effective_time, creator_id, file_time, effective_time, creator_id,
creator, create_time, update_time, creator, create_time, update_time,
upload_time, storage_area, keeper_id, upload_time, storage_area, keeper_id,
keeper, remark, file_original_name, file_position_url, keeper, remark, file_original_name, file_upload_id, file_position_url,
year_redundancy,audit_status,physical_index_number,own_time) year_redundancy,audit_status,physical_index_number,own_time)
values (#{id,jdbcType=BIGINT}, #{fileAttr,jdbcType=VARCHAR}, #{fileTypeId,jdbcType=INTEGER}, values (#{id,jdbcType=BIGINT}, #{fileAttr,jdbcType=VARCHAR}, #{fileTypeId,jdbcType=INTEGER},
#{fileType,jdbcType=VARCHAR}, #{fileName,jdbcType=VARCHAR}, #{businessLine,jdbcType=VARCHAR}, #{fileType,jdbcType=VARCHAR}, #{fileName,jdbcType=VARCHAR}, #{businessLine,jdbcType=VARCHAR},
...@@ -178,7 +179,8 @@ ...@@ -178,7 +179,8 @@
#{fileTime,jdbcType=TIMESTAMP}, #{effectiveTime,jdbcType=TIMESTAMP}, #{creatorId,jdbcType=INTEGER}, #{fileTime,jdbcType=TIMESTAMP}, #{effectiveTime,jdbcType=TIMESTAMP}, #{creatorId,jdbcType=INTEGER},
#{creator,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{creator,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{uploadTime,jdbcType=TIMESTAMP}, #{storageArea,jdbcType=VARCHAR}, #{keeperId,jdbcType=INTEGER}, #{uploadTime,jdbcType=TIMESTAMP}, #{storageArea,jdbcType=VARCHAR}, #{keeperId,jdbcType=INTEGER},
#{keeper,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{fileOriginalName,jdbcType=VARCHAR}, #{filePositionUrl,jdbcType=VARCHAR}, #{keeper,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{fileOriginalName,jdbcType=VARCHAR},
#{fileUploadId,jdbcType=VARCHAR}, #{filePositionUrl,jdbcType=VARCHAR},
#{yearRedundancy,jdbcType=INTEGER},#{auditStatus,jdbcType=INTEGER},#{physicalIndexNumber,jdbcType=VARCHAR}, #{yearRedundancy,jdbcType=INTEGER},#{auditStatus,jdbcType=INTEGER},#{physicalIndexNumber,jdbcType=VARCHAR},
#{ownTime,jdbcType=TIMESTAMP}) #{ownTime,jdbcType=TIMESTAMP})
</insert> </insert>
...@@ -576,6 +578,9 @@ ...@@ -576,6 +578,9 @@
<if test="null != remark and '' != remark"> <if test="null != remark and '' != remark">
remark = #{remark,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR},
</if> </if>
<if test="null != fileUploadId">
file_upload_id = #{fileUploadId,jdbcType=VARCHAR},
</if>
<if test="null != filePositionUrl"> <if test="null != filePositionUrl">
file_position_url = #{filePositionUrl,jdbcType=VARCHAR}, file_position_url = #{filePositionUrl,jdbcType=VARCHAR},
</if> </if>
......
...@@ -234,16 +234,19 @@ grunt.initConfig({ ...@@ -234,16 +234,19 @@ grunt.initConfig({
"Scripts/viewer/viewer.js", "Scripts/viewer/viewer.js",
"Scripts/xlsx/shim.min.js", "Scripts/xlsx/shim.min.js",
"Scripts/xlsx/xlsx.full.min.js", "Scripts/xlsx/xlsx.full.min.js",
"Scripts/position-calculator/position-calculator.min.js"], "Scripts/position-calculator/position-calculator.min.js"
],
dest: '<%= pkg.bundleTemp %>/util.js' dest: '<%= pkg.bundleTemp %>/util.js'
}, },
angularFileUpload:{ angularFileUpload:{
src: ["Scripts/angular-file-upload.js"], src: ["Scripts/angular-file-upload.js"],
dest: '<%= pkg.bundleTemp %>/angular-file-upload.js' dest: '<%= pkg.bundleTemp %>/angular-file-upload.js'
}, },
PDFObject:{ pdfWorker:{
src: ["Scripts/PDFObject.js"], src: [
dest: '<%= pkg.bundleTemp %>/PDFObject.js' "Scripts/pdf/pdf.js",
"Scripts/pdf/pdf.worker.js"],
dest: '<%= pkg.bundleTemp %>/pdf.worker.js'
}, },
jqueryval: { jqueryval: {
src: ["Scripts/jquery.validate*"], src: ["Scripts/jquery.validate*"],
...@@ -559,7 +562,7 @@ grunt.registerTask('build', '生产构建任务', function () { ...@@ -559,7 +562,7 @@ grunt.registerTask('build', '生产构建任务', function () {
}); });
grunt.registerTask('dev', '开发环境', function () { grunt.registerTask('dev', '开发环境', function () {
grunt.task.run(['concat:adminHomePageJs', 'concat:adminHomePageLess','concat:basicDataJs','concat:angularFileUpload','concat:PDFObject', grunt.task.run(['concat:adminHomePageJs', 'concat:adminHomePageLess','concat:basicDataJs','concat:angularFileUpload','concat:pdfWorker',
'concat:basicDataLess', 'concat:systemConfigurationJs','concat:systemConfigurationLess', 'concat:basicDataLess', 'concat:systemConfigurationJs','concat:systemConfigurationLess',
'concat:basicDataCss', 'concat:infrastructureJs','concat:infrastructureLess', 'concat:basicDataCss', 'concat:infrastructureJs','concat:infrastructureLess',
'concat:commonCss', 'concat:commonLess','concat:adminApp','concat:noPermissionPageJs','concat:noPermissionPageLess', 'concat:commonCss', 'concat:commonLess','concat:adminApp','concat:noPermissionPageJs','concat:noPermissionPageLess',
......
/*global ActiveXObject, window, console, define, module, jQuery */
//jshint unused:false, strict: false
/*
PDFObject v2.1.1
https://github.com/pipwerks/PDFObject
Copyright (c) 2008-2018 Philip Hutchison
MIT-style license: http://pipwerks.mit-license.org/
UMD module pattern from https://github.com/umdjs/umd/blob/master/templates/returnExports.js
*/
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define([], factory);
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory();
} else {
// Browser globals (root is window)
root.PDFObject = factory();
}
}(this, function () {
"use strict";
//jshint unused:true
//PDFObject is designed for client-side (browsers), not server-side (node)
//Will choke on undefined navigator and window vars when run on server
//Return boolean false and exit function when running server-side
if(typeof window === "undefined" || typeof navigator === "undefined"){ return false; }
var pdfobjectversion = "2.1.1",
ua = window.navigator.userAgent,
//declare booleans
supportsPDFs,
isIE,
supportsPdfMimeType = (typeof navigator.mimeTypes['application/pdf'] !== "undefined"),
supportsPdfActiveX,
isModernBrowser = (function (){ return (typeof window.Promise !== "undefined"); })(),
isFirefox = (function (){ return (ua.indexOf("irefox") !== -1); } )(),
isFirefoxWithPDFJS = (function (){
//Firefox started shipping PDF.js in Firefox 19.
//If this is Firefox 19 or greater, assume PDF.js is available
if(!isFirefox){ return false; }
//parse userAgent string to get release version ("rv")
//ex: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:57.0) Gecko/20100101 Firefox/57.0
return (parseInt(ua.split("rv:")[1].split(".")[0], 10) > 18);
})(),
isIOS = (function (){ return (/iphone|ipad|ipod/i.test(ua.toLowerCase())); })(),
//declare functions
createAXO,
buildFragmentString,
log,
embedError,
embed,
getTargetElement,
generatePDFJSiframe,
generateEmbedElement;
/* ----------------------------------------------------
Supporting functions
---------------------------------------------------- */
createAXO = function (type){
var ax;
try {
ax = new ActiveXObject(type);
} catch (e) {
ax = null; //ensure ax remains null
}
return ax;
};
//IE11 still uses ActiveX for Adobe Reader, but IE 11 doesn't expose
//window.ActiveXObject the same way previous versions of IE did
//window.ActiveXObject will evaluate to false in IE 11, but "ActiveXObject" in window evaluates to true
//so check the first one for older IE, and the second for IE11
//FWIW, MS Edge (replacing IE11) does not support ActiveX at all, both will evaluate false
//Constructed as a method (not a prop) to avoid unneccesarry overhead -- will only be evaluated if needed
isIE = function (){ return !!(window.ActiveXObject || "ActiveXObject" in window); };
//If either ActiveX support for "AcroPDF.PDF" or "PDF.PdfCtrl" are found, return true
//Constructed as a method (not a prop) to avoid unneccesarry overhead -- will only be evaluated if needed
supportsPdfActiveX = function (){ return !!(createAXO("AcroPDF.PDF") || createAXO("PDF.PdfCtrl")); };
//Determines whether PDF support is available
supportsPDFs = (
//as of iOS 12, inline PDF rendering is still not supported in Safari or native webview
//3rd-party browsers (eg Chrome, Firefox) use Apple's webview for rendering, and thus the same result as Safari
//Therefore if iOS, we shall assume that PDF support is not available
!isIOS && (
//Modern versions of Firefox come bundled with PDFJS
isFirefoxWithPDFJS ||
//Browsers that still support the original MIME type check
supportsPdfMimeType || (
//Pity the poor souls still using IE
isIE() && supportsPdfActiveX()
)
)
);
//Create a fragment identifier for using PDF Open parameters when embedding PDF
buildFragmentString = function(pdfParams){
var string = "",
prop;
if(pdfParams){
for (prop in pdfParams) {
if (pdfParams.hasOwnProperty(prop)) {
string += encodeURIComponent(prop) + "=" + encodeURIComponent(pdfParams[prop]) + "&";
}
}
//The string will be empty if no PDF Params found
if(string){
string = "#" + string;
//Remove last ampersand
string = string.slice(0, string.length - 1);
}
}
return string;
};
log = function (msg){
if(typeof console !== "undefined" && console.log){
console.log("[PDFObject] " + msg);
}
};
embedError = function (msg){
log(msg);
return false;
};
getTargetElement = function (targetSelector){
//Default to body for full-browser PDF
var targetNode = document.body;
//If a targetSelector is specified, check to see whether
//it's passing a selector, jQuery object, or an HTML element
if(typeof targetSelector === "string"){
//Is CSS selector
targetNode = document.querySelector(targetSelector);
} else if (typeof jQuery !== "undefined" && targetSelector instanceof jQuery && targetSelector.length) {
//Is jQuery element. Extract HTML node
targetNode = targetSelector.get(0);
} else if (typeof targetSelector.nodeType !== "undefined" && targetSelector.nodeType === 1){
//Is HTML element
targetNode = targetSelector;
}
return targetNode;
};
generatePDFJSiframe = function (targetNode, url, pdfOpenFragment, PDFJS_URL, id){
var fullURL = PDFJS_URL + "?file=" + encodeURIComponent(url) + pdfOpenFragment;
var scrollfix = (isIOS) ? "-webkit-overflow-scrolling: touch; overflow-y: scroll; " : "overflow: hidden; ";
var iframe = "<div style='" + scrollfix + "position: absolute; top: 0; right: 0; bottom: 0; left: 0;'><iframe " + id + " src='" + fullURL + "' style='border: none; width: 100%; height: 100%;' frameborder='0'></iframe></div>";
targetNode.className += " pdfobject-container";
targetNode.style.position = "relative";
targetNode.style.overflow = "auto";
targetNode.innerHTML = iframe;
return targetNode.getElementsByTagName("iframe")[0];
};
generateEmbedElement = function (targetNode, targetSelector, url, pdfOpenFragment, width, height, id){
var style = "";
if(targetSelector && targetSelector !== document.body){
style = "width: " + width + "; height: " + height + ";";
} else {
style = "position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%;";
}
targetNode.className += " pdfobject-container";
targetNode.innerHTML = "<embed " + id + " class='pdfobject' src='" + url + pdfOpenFragment + "' type='application/pdf' style='overflow: auto; " + style + "'/>";
return targetNode.getElementsByTagName("embed")[0];
};
embed = function(url, targetSelector, options){
//Ensure URL is available. If not, exit now.
if(typeof url !== "string"){ return embedError("URL is not valid"); }
//If targetSelector is not defined, convert to boolean
targetSelector = (typeof targetSelector !== "undefined") ? targetSelector : false;
//Ensure options object is not undefined -- enables easier error checking below
options = (typeof options !== "undefined") ? options : {};
//Get passed options, or set reasonable defaults
var id = (options.id && typeof options.id === "string") ? "id='" + options.id + "'" : "",
page = (options.page) ? options.page : false,
pdfOpenParams = (options.pdfOpenParams) ? options.pdfOpenParams : {},
fallbackLink = (typeof options.fallbackLink !== "undefined") ? options.fallbackLink : true,
width = (options.width) ? options.width : "100%",
height = (options.height) ? options.height : "100%",
assumptionMode = (typeof options.assumptionMode === "boolean") ? options.assumptionMode : true,
forcePDFJS = (typeof options.forcePDFJS === "boolean") ? options.forcePDFJS : false,
PDFJS_URL = (options.PDFJS_URL) ? options.PDFJS_URL : false,
targetNode = getTargetElement(targetSelector),
fallbackHTML = "",
pdfOpenFragment = "",
fallbackHTML_default = "<p>This browser does not support inline PDFs. Please download the PDF to view it: <a href='[url]'>Download PDF</a></p>";
//If target element is specified but is not valid, exit without doing anything
if(!targetNode){ return embedError("Target element cannot be determined"); }
//page option overrides pdfOpenParams, if found
if(page){
pdfOpenParams.page = page;
}
//Stringify optional Adobe params for opening document (as fragment identifier)
pdfOpenFragment = buildFragmentString(pdfOpenParams);
//Do the dance
//If the forcePDFJS option is invoked, skip everything else and embed as directed
if(forcePDFJS && PDFJS_URL){
return generatePDFJSiframe(targetNode, url, pdfOpenFragment, PDFJS_URL, id);
//If traditional support is provided, or if this is a modern browser and not iOS (see comment for supportsPDFs declaration)
} else if(supportsPDFs || (assumptionMode && isModernBrowser && !isIOS)){
return generateEmbedElement(targetNode, targetSelector, url, pdfOpenFragment, width, height, id);
//If everything else has failed and a PDFJS fallback is provided, try to use it
} else if(PDFJS_URL){
return generatePDFJSiframe(targetNode, url, pdfOpenFragment, PDFJS_URL, id);
} else {
//Display the fallback link if available
if(fallbackLink){
fallbackHTML = (typeof fallbackLink === "string") ? fallbackLink : fallbackHTML_default;
targetNode.innerHTML = fallbackHTML.replace(/\[url\]/g, url);
}
return embedError("This browser does not support embedded PDFs");
}
};
return {
embed: function (a,b,c){ return embed(a,b,c); },
pdfobjectversion: (function () { return pdfobjectversion; })(),
supportsPDFs: (function (){ return supportsPDFs; })()
};
}));
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
<script type="text/javascript" src="bundles/echarts.js"></script> <script type="text/javascript" src="bundles/echarts.js"></script>
<script type="text/javascript" src="bundles/jsword.js"></script> <script type="text/javascript" src="bundles/jsword.js"></script>
<script type="text/javascript" src="bundles/angular-file-upload.js"></script> <script type="text/javascript" src="bundles/angular-file-upload.js"></script>
<script type="text/javascript" src="bundles/PDFObject.js"></script> <script type="text/javascript" src="bundles/pdf.worker.js"></script>
<script type="text/javascript" src="bundles/app.js"></script> <script type="text/javascript" src="bundles/app.js"></script>
<script type="text/javascript" src="bundles/common.js"></script> <script type="text/javascript" src="bundles/common.js"></script>
......
...@@ -3,9 +3,9 @@ a { ...@@ -3,9 +3,9 @@ a {
color: #404041; color: #404041;
} }
a:hover, a:visited, a:active, a:checked { a:hover, a:visited, a:active, a:checked {
color: #602320; color: #602320;
} }
.badge { .badge {
background-color: #968c6d; background-color: #968c6d;
...@@ -176,8 +176,6 @@ span.form-control-customer { ...@@ -176,8 +176,6 @@ span.form-control-customer {
/* LOGIN */ /* LOGIN */
body.login-body { body.login-body {
background: #999999 url('/app-resources/images/login_pic.jpg') no-repeat; background: #999999 url('/app-resources/images/login_pic.jpg') no-repeat;
height: calc(100% - 16px);
background-size: cover;
color: #333; color: #333;
overflow-y: auto; overflow-y: auto;
} }
...@@ -203,9 +201,9 @@ body.login-body { ...@@ -203,9 +201,9 @@ body.login-body {
color: #A32020; color: #A32020;
} }
.tilte .text { .tilte .text {
position: absolute; position: absolute;
} }
.background-frame { .background-frame {
background-repeat: no-repeat; background-repeat: no-repeat;
...@@ -249,9 +247,9 @@ body.login-body { ...@@ -249,9 +247,9 @@ body.login-body {
margin-top: -45px; margin-top: -45px;
} }
.form-wrapper input, .form-wrapper button { .form-wrapper input, .form-wrapper button {
opacity: 1; opacity: 1;
} }
.loginfull { .loginfull {
...@@ -277,17 +275,17 @@ body.login-body { ...@@ -277,17 +275,17 @@ body.login-body {
height: 100px; height: 100px;
} }
.login-button:hover { .login-button:hover {
color: #fff; color: #fff;
background-color: #dc6900; background-color: #dc6900;
} }
.login-button:disabled { .login-button:disabled {
background-color: #968c6d; background-color: #968c6d;
color: #fff; color: #fff;
width: 100px; width: 100px;
height: 100px; height: 100px;
} }
.loginfull input::-webkit-input-placeholder { .loginfull input::-webkit-input-placeholder {
font-weight: 400; font-weight: 400;
...@@ -331,11 +329,11 @@ body.login-body { ...@@ -331,11 +329,11 @@ body.login-body {
border-radius: 10px; border-radius: 10px;
} }
.loginfull .form-control-customer.has-error { .loginfull .form-control-customer.has-error {
border-color: #a94442; border-color: #a94442;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075); box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
} }
.loginfull .successMsg { .loginfull .successMsg {
float: left; float: left;
...@@ -493,17 +491,17 @@ form.userchoose .form-group { ...@@ -493,17 +491,17 @@ form.userchoose .form-group {
text-align: center; text-align: center;
} }
.progress-table > tbody > tr > td:first-child { .progress-table > tbody > tr > td:first-child {
text-align: left; text-align: left;
} }
.progress-table > tbody > tr > td { .progress-table > tbody > tr > td {
border-top: 0px; border-top: 0px;
} }
.progress-table > tbody > tr > td:after { .progress-table > tbody > tr > td:after {
border-top: 0px; border-top: 0px;
} }
.progress-title { .progress-title {
text-shadow: none; text-shadow: none;
...@@ -583,9 +581,9 @@ form.userchoose .form-group { ...@@ -583,9 +581,9 @@ form.userchoose .form-group {
background: #a32020; background: #a32020;
} }
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover { .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover {
background: #602320; background: #602320;
} }
.bootstrap-switch.bootstrap-switch-focused { .bootstrap-switch.bootstrap-switch-focused {
border-color: #dc6900; border-color: #dc6900;
...@@ -765,28 +763,26 @@ form.userchoose .form-group { ...@@ -765,28 +763,26 @@ form.userchoose .form-group {
} }
} }
width: 100%; @-webkit-keyframes uil-flickr-anim2 { @-webkit-keyframes uil-flickr-anim2 {
0%;
{
left: 100px;
z-index: 1;
}
49% { 0%{
z-index: 1; left: 100px;
} z-index: 1;
}
50% { 49% {
left: 0; z-index: 1;
z-index: 10; }
}
100% { 50% {
left: 100px; left: 0;
z-index: 10; z-index: 10;
} }
100% {
left: 100px;
z-index: 10;
}
} }
@-webkit-keyframes uil-flickr-anim2 { @-webkit-keyframes uil-flickr-anim2 {
...@@ -943,34 +939,34 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 { ...@@ -943,34 +939,34 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 {
height: 200px; height: 200px;
} }
.uil-flickr-css > div { .uil-flickr-css > div {
width: 100px; width: 100px;
height: 100px; height: 100px;
border-radius: 50px; border-radius: 50px;
position: absolute; position: absolute;
top: 50px; top: 50px;
} }
.uil-flickr-css > div:nth-of-type(1) {
left: 0;
background: #e35839;
z-index: 5;
-ms-animation: uil-flickr-anim1 1s linear infinite;
-moz-animation: uil-flickr-anim1 1s linear infinite;
-webkit-animation: uil-flickr-anim1 1s linear infinite;
-o-animation: uil-flickr-anim1 1s linear infinite;
animation: uil-flickr-anim1 1s linear infinite;
}
.uil-flickr-css > div:nth-of-type(1) { .uil-flickr-css > div:nth-of-type(2) {
left: 0; left: 100px;
background: #e35839; background: #d28d4f;
z-index: 5; -ms-animation: uil-flickr-anim2 1s linear infinite;
-ms-animation: uil-flickr-anim1 1s linear infinite; -moz-animation: uil-flickr-anim2 1s linear infinite;
-moz-animation: uil-flickr-anim1 1s linear infinite; -webkit-animation: uil-flickr-anim2 1s linear infinite;
-webkit-animation: uil-flickr-anim1 1s linear infinite; -o-animation: uil-flickr-anim2 1s linear infinite;
-o-animation: uil-flickr-anim1 1s linear infinite; animation: uil-flickr-anim2 1s linear infinite;
animation: uil-flickr-anim1 1s linear infinite; }
}
.uil-flickr-css > div:nth-of-type(2) {
left: 100px;
background: #d28d4f;
-ms-animation: uil-flickr-anim2 1s linear infinite;
-moz-animation: uil-flickr-anim2 1s linear infinite;
-webkit-animation: uil-flickr-anim2 1s linear infinite;
-o-animation: uil-flickr-anim2 1s linear infinite;
animation: uil-flickr-anim2 1s linear infinite;
}
/* datepicker */ /* datepicker */
...@@ -984,10 +980,10 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 { ...@@ -984,10 +980,10 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 {
background-color: #eb8c00; background-color: #eb8c00;
} }
.datepicker table tr td span.active.active.focus, .datepicker table tr td span.active.active:focus, .datepicker table tr td span.active.active:hover, .datepicker table tr td span.active.disabled.active.focus, .datepicker table tr td span.active.disabled.active:focus, .datepicker table tr td span.active.disabled.active:hover, .datepicker table tr td span.active.disabled:active.focus, .datepicker table tr td span.active.disabled:active:focus, .datepicker table tr td span.active.disabled:active:hover, .datepicker table tr td span.active.disabled:hover.active.focus, .datepicker table tr td span.active.disabled:hover.active:focus, .datepicker table tr td span.active.disabled:hover.active:hover, .datepicker table tr td span.active.disabled:hover:active.focus, .datepicker table tr td span.active.disabled:hover:active:focus, .datepicker table tr td span.active.disabled:hover:active:hover, .datepicker table tr td span.active:active.focus, .datepicker table tr td span.active:active:focus, .datepicker table tr td span.active:active:hover, .datepicker table tr td span.active:hover.active.focus, .datepicker table tr td span.active:hover.active:focus, .datepicker table tr td span.active:hover.active:hover, .datepicker table tr td span.active:hover:active.focus, .datepicker table tr td span.active:hover:active:focus, .datepicker table tr td span.active:hover:active:hover { .datepicker table tr td span.active.active.focus, .datepicker table tr td span.active.active:focus, .datepicker table tr td span.active.active:hover, .datepicker table tr td span.active.disabled.active.focus, .datepicker table tr td span.active.disabled.active:focus, .datepicker table tr td span.active.disabled.active:hover, .datepicker table tr td span.active.disabled:active.focus, .datepicker table tr td span.active.disabled:active:focus, .datepicker table tr td span.active.disabled:active:hover, .datepicker table tr td span.active.disabled:hover.active.focus, .datepicker table tr td span.active.disabled:hover.active:focus, .datepicker table tr td span.active.disabled:hover.active:hover, .datepicker table tr td span.active.disabled:hover:active.focus, .datepicker table tr td span.active.disabled:hover:active:focus, .datepicker table tr td span.active.disabled:hover:active:hover, .datepicker table tr td span.active:active.focus, .datepicker table tr td span.active:active:focus, .datepicker table tr td span.active:active:hover, .datepicker table tr td span.active:hover.active.focus, .datepicker table tr td span.active:hover.active:focus, .datepicker table tr td span.active:hover.active:hover, .datepicker table tr td span.active:hover:active.focus, .datepicker table tr td span.active:hover:active:focus, .datepicker table tr td span.active:hover:active:hover {
color: #fff; color: #fff;
background-color: #dc6900; background-color: #dc6900;
} }
.datepicker table tr td, .datepicker table tr th { .datepicker table tr td, .datepicker table tr th {
text-align: center; text-align: center;
...@@ -1044,9 +1040,9 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 { ...@@ -1044,9 +1040,9 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 {
background-image: none; background-image: none;
} }
.ui-select-no-border .select2-container .select2-choice .select2-arrow b { .ui-select-no-border .select2-container .select2-choice .select2-arrow b {
background: url(/app-resources/images/vat/down.png) no-repeat scroll right center transparent; background: url(/app-resources/images/vat/down.png) no-repeat scroll right center transparent;
} }
.ui-select-no-border .select2-container .select2-choice { .ui-select-no-border .select2-container .select2-choice {
border: none; border: none;
...@@ -1085,36 +1081,36 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 { ...@@ -1085,36 +1081,36 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 {
outline: none; outline: none;
} }
.ui-select-has-border .select2-container .select2-choice .select2-arrow { .ui-select-has-border .select2-container .select2-choice .select2-arrow {
border-left: none; border-left: none;
background: none; background: none;
background-image: none; background-image: none;
} }
.ui-select-has-border .select2-container .select2-choice .select2-arrow b { .ui-select-has-border .select2-container .select2-choice .select2-arrow b {
margin-top: 2px; margin-top: 2px;
} }
.ui-select-has-border .select2-container .select2-choice, .ui-select-has-border .select2-container .select2-choice,
.ui-select-has-border .select2-container-active .select2-choice { .ui-select-has-border .select2-container-active .select2-choice {
background-image: none; background-image: none;
background: none; background: none;
outline: none; outline: none;
height: 34px; height: 34px;
padding: 6px 12px; padding: 6px 12px;
font-size: 14px; font-size: 14px;
line-height: 1.42857143; line-height: 1.42857143;
color: #555555; color: #555555;
background-color: #ffffff; background-color: #ffffff;
background-image: none; background-image: none;
border: 1px solid #cccccc; border: 1px solid #cccccc;
border-radius: 4px; border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
} }
.dx-checkbox-checked .dx-checkbox-icon { .dx-checkbox-checked .dx-checkbox-icon {
color: #e0301e; color: #e0301e;
...@@ -1142,17 +1138,17 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 { ...@@ -1142,17 +1138,17 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 {
background-color: #dc6900; background-color: #dc6900;
} }
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused.dx-list-item-selected { .dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused.dx-list-item-selected {
background-color: #dc6900; background-color: #dc6900;
} }
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active { .dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active {
background-color: #dc6900; background-color: #dc6900;
} }
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-list-slide-item-content { .dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-list-slide-item-content {
background-color: #dc6900; background-color: #dc6900;
} }
.dx-list-item.dx-list-item-ghost-reordering.dx-state-focused.dx-state-hover { .dx-list-item.dx-list-item-ghost-reordering.dx-state-focused.dx-state-hover {
...@@ -1169,10 +1165,10 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 { ...@@ -1169,10 +1165,10 @@ width: 100%; @-webkit-keyframes uil-flickr-anim2 {
} }
.dx-checkbox.dx-state-focused .dx-checkbox-icon { .dx-checkbox.dx-state-focused .dx-checkbox-icon {
border: 1px solid rgba(239, 213, 189, 0.5); border: 1px solid rgba(239, 213, 189, 0.5);
} }
.dx-treeview .dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-focused > .dx-checkbox .dx-checkbox-icon { .dx-treeview .dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-focused > .dx-checkbox .dx-checkbox-icon {
border: 1px solid rgba(239, 213, 189, 1); border: 1px solid rgba(239, 213, 189, 1);
} }
...@@ -18,6 +18,10 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -18,6 +18,10 @@ taxDocumentManageModule.controller('taxDocumentListController',
}; };
$scope.pagingOptions = { $scope.pagingOptions = {
pageIndex: 1, //当前页码
totalItems: 0, //总数据
pageSize: 10, //每页多少条数据
pageSizeString: '10',
}; };
$scope.localData = null; $scope.localData = null;
$scope.loadMainData = function () { $scope.loadMainData = function () {
...@@ -29,7 +33,7 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -29,7 +33,7 @@ taxDocumentManageModule.controller('taxDocumentListController',
SweetAlert.warning($translate.instant("NoData")); SweetAlert.warning($translate.instant("NoData"));
return; return;
} }
console.log("taxDocList:", data); // console.log("taxDocList:", data);
$scope.dataGridUpdate(data); $scope.dataGridUpdate(data);
}) })
...@@ -199,8 +203,9 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -199,8 +203,9 @@ taxDocumentManageModule.controller('taxDocumentListController',
caption: $translate.instant('Operation'), caption: $translate.instant('Operation'),
cellTemplate: function (container, options) { cellTemplate: function (container, options) {
var prevTargetString = '<a style="color:#506bf7;margin-right:1rem;" href="javascript:void(0)" ng-click="viewRemoteFile(\'' var prevTargetString = '<a style="color:#506bf7;margin-right:1rem;" href="javascript:void(0)" ng-click="viewRemoteFile(\''
+ encodeURIComponent(options.data.filePositionUrl) + options.data.fileName + '\',\'' + options.data.filePositionUrl
+ '\')">' + '\')">'
+ '<span>{{"Preview"|translate}}</span></a>'; + '<span>{{"Preview"|translate}}</span></a>';
var editTargetString = '<a style="color:#506bf7;" href="javascript:void(0)" ng-click="openSimpleUploadPop(\'' var editTargetString = '<a style="color:#506bf7;" href="javascript:void(0)" ng-click="openSimpleUploadPop(\''
...@@ -252,7 +257,7 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -252,7 +257,7 @@ taxDocumentManageModule.controller('taxDocumentListController',
$('#simpleUploadPopDialog').modal('show'); $('#simpleUploadPopDialog').modal('show');
}; };
// $scope.isCoverOpreation = false; $scope.isCoverOperation = false;
//新建档案 //新建档案
var simpleUploadSubmit = function () { var simpleUploadSubmit = function () {
...@@ -260,15 +265,16 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -260,15 +265,16 @@ taxDocumentManageModule.controller('taxDocumentListController',
// 先设置上传参数 // 先设置上传参数
var uploadItem = $scope.uploader.queue[0]; var uploadItem = $scope.uploader.queue[0];
var fileName = uploadItem._file ? uploadItem._file.name : uploadItem.name;
uploadItem.formData = [ uploadItem.formData = [
{originFileName:uploadItem._file.name} {originFileName:fileName}
]; ];
// data == true,代表可以直接上传,否则属于覆盖行为 // data == true,代表可以直接上传,否则属于覆盖行为
if (data === true) { if (data === true) {
// $scope.uploader.uploadItem(0); $scope.uploader.uploadItem(0);
// $scope.isCoverOpreation = false; $scope.isCoverOperation = false;
addLogicAfterUploadFile($scope.editFieldModel,'simple'); // addLogicAfterUploadFile($scope.editFieldModel,'simple');
} else { } else {
SweetAlert.swal({ SweetAlert.swal({
title: '提示', title: '提示',
...@@ -283,9 +289,8 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -283,9 +289,8 @@ taxDocumentManageModule.controller('taxDocumentListController',
}, },
function (isConfirm) { function (isConfirm) {
if (isConfirm) { if (isConfirm) {
// $scope.uploader.uploadItem(0); $scope.uploader.uploadItem(0);
// $scope.isCoverOpreation = true; $scope.isCoverOperation = true;
editDocFileRecord($scope.editFieldModel,'simple')
} }
}) })
} }
...@@ -400,7 +405,7 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -400,7 +405,7 @@ taxDocumentManageModule.controller('taxDocumentListController',
]; ];
$("input[name='dataGridCheckBox']").each(function(index,item){ $("input[name='dataGridCheckBox']").each(function(index,item){
if(item.checked){ if(item.checked){
checkedURLs.push('http://etms.longi-silicon.com:8180/' + $scope.localData[index].filePositionUrl); checkedURLs.push($scope.localData[index].filePositionUrl);
} }
}); });
if(!checkedURLs.length) return SweetAlert.warning($translate.instant("NeedChecked")); if(!checkedURLs.length) return SweetAlert.warning($translate.instant("NeedChecked"));
...@@ -409,21 +414,21 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -409,21 +414,21 @@ taxDocumentManageModule.controller('taxDocumentListController',
checkedURLs.forEach(function(item,index){ checkedURLs.forEach(function(item,index){
_createIFrame(item, index * triggerDelay, removeDelay); _createIFrame(item, index * triggerDelay, removeDelay);
}); });
function _createIFrame(url, triggerDelay, removeDelay) { function _createIFrame(url, _triggerDelay, _removeDelay) {
setTimeout(function() { setTimeout(function() {
var frame = $('<iframe style="display: none;" class="multi-download"></iframe>'); var frame = $('<iframe style="display: none;" class="multi-download"></iframe>');
frame.attr('src', url); frame.attr('src', url);
document.body.appendChild(frame[0]); document.body.appendChild(frame[0]);
setTimeout(function() { setTimeout(function() {
frame.remove(); frame.remove();
}, removeDelay); }, _removeDelay);
}, triggerDelay); }, _triggerDelay);
} }
}; };
$scope.loadSelectMap = function(){ $scope.loadSelectMap = function(){
taxDocumentListService.getFileInfoOptions().then(function(data){ taxDocumentListService.getFileInfoOptions().then(function(data){
console.log(data); // console.log(data);
if(data){ if(data){
Object.keys(data).forEach(function (item) { Object.keys(data).forEach(function (item) {
$scope.fileTypeOptions[item] = item; $scope.fileTypeOptions[item] = item;
...@@ -434,11 +439,17 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -434,11 +439,17 @@ taxDocumentManageModule.controller('taxDocumentListController',
} }
}); });
taxDocumentListService.getCompanyNameOptions().then(function(data){
console.log(data); taxDocumentListService.getCompanyNameOptions().then(function(res){
if(data){ if (res && 0 === res.code) {
$scope.companyNameOptionsMap = data; angular.forEach(res.data, function (item) {
$scope.companyNameOptionsMap[item.id]=item.name;
});
console.log($scope.companyNameOptionsMap)
} else {
SweetAlert.error($translate.instant('RevenueGetOrgError'));
} }
}); });
}; };
...@@ -465,10 +476,11 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -465,10 +476,11 @@ taxDocumentManageModule.controller('taxDocumentListController',
})(); })();
}]) }])
.directive("multiDatePicker", function () { taxDocumentManageModule.directive("multiDatePicker", function () {
return { return {
restrict: "EA", restrict: "EA",
controller: function ($scope, $element, $translate,$compile) { controller: ['$scope', '$element', '$translate','$compile',
function ($scope, $element, $translate,$compile) {
var minDate = [1, 1970]; var minDate = [1, 1970];
var maxDate = [12, new Date().getFullYear()]; var maxDate = [12, new Date().getFullYear()];
...@@ -525,113 +537,116 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -525,113 +537,116 @@ taxDocumentManageModule.controller('taxDocumentListController',
$scope.queryFieldModel.uploadBeginTime = result[0].reverse().join("-"); $scope.queryFieldModel.uploadBeginTime = result[0].reverse().join("-");
$scope.queryFieldModel.uploadEndTime = result[1].reverse().join("-"); $scope.queryFieldModel.uploadEndTime = result[1].reverse().join("-");
}); });
} }]
} }
}) });
.directive('dateTimePicker', function () { taxDocumentManageModule.directive('dateTimePicker', function () {
return { return {
restrict: 'EA', restrict: 'EA',
replace: true, replace: true,
controller: function ($scope, $element, $attrs, region) { controller: ['$scope', '$element', '$attrs', 'region', function ($scope, $element, $attrs, region) {
// 鼠标down的时候动态创建 // 鼠标down的时候动态创建
var year = new Date().getFullYear(); var year = new Date().getFullYear();
$element.off('mousedown').on('mousedown',function(e){ $element.off('mousedown').on('mousedown',function(e){
$element.datepicker({ $element.datepicker({
startDate:new Date(year - 20, 1, 1), startDate:new Date(year - 20, 1, 1),
endDate:new Date(year + 20, 1, 1), endDate:new Date(year + 20, 1, 1),
minViewMode: 1, minViewMode: 1,
autoclose: true, autoclose: true,
language: region, language: region,
format: "yyyy-mm-dd", format: "yyyy-mm-dd",
clearBtn: true //清除按钮 clearBtn: true //清除按钮
}).off("changeDate").on('changeDate', function(ev){ }).off("changeDate").on('changeDate', function(ev){
runCallback(ev); runCallback(ev);
}).off("hide").on("hide",function(){ }).off("hide").on("hide",function(){
killPlugin(); killPlugin();
}) })
}); });
function resetValue(){
$element.val("");
}
function killPlugin(){ function resetValue(){
// 当选择完毕的时候,就摧毁控件,腾出内存 $element.val("");
$element.datepicker('remove'); }
}
function runCallback(ev){ function killPlugin(){
// changeDate的操作主要是为了,视图上被合并单元格之后,数据需要同步到被合并的单元格上 // 当选择完毕的时候,就摧毁控件,腾出内存
// 这样做需要满足两个接口: $element.datepicker('remove');
// @rowName : 当行的数据模型的名字, }
// @itemIndex : 当前数据模型在行数据模型中的下标,
// @callback : 回调,返回两个值,一个是选择的日期,一个是当前单元格的数据模型
var saafTable = $scope[$attrs["table"]];
var callback = saafTable ? saafTable.getData : $scope[$attrs["callback"]];
var peerRow = $scope[$attrs["rowName"]];
var itemIndex = $attrs["itemIndex"];
if(callback) callback(ev.currentTarget.value,peerRow[itemIndex]);
}
function setDateRang(){ function runCallback(ev){
// 当启动焦点事件的时候,才判断设置时间范围 // changeDate的操作主要是为了,视图上被合并单元格之后,数据需要同步到被合并的单元格上
$element.datepicker("setStartDate", $attrs.startdate? $attrs.startdate : new Date(year - 20, 1, 1)); // 这样做需要满足两个接口:
$element.datepicker("setEndDate", $attrs.enddate? $attrs.enddate : new Date(year + 20, 1, 1)); // @rowName : 当行的数据模型的名字,
} // @itemIndex : 当前数据模型在行数据模型中的下标,
// @callback : 回调,返回两个值,一个是选择的日期,一个是当前单元格的数据模型
var saafTable = $scope[$attrs["table"]];
var callback = saafTable ? saafTable.getData : $scope[$attrs["callback"]];
var peerRow = $scope[$attrs["rowName"]];
var itemIndex = $attrs["itemIndex"];
if(callback) callback(ev.currentTarget.value,peerRow[itemIndex]);
}
function getLayout(e){ function setDateRang(){
var result = "bottom-left"; // 当启动焦点事件的时候,才判断设置时间范围
var $ = angular.element; $element.datepicker("setStartDate", $attrs.startdate? $attrs.startdate : new Date(year - 20, 1, 1));
var target = $(e.currentTarget); $element.datepicker("setEndDate", $attrs.enddate? $attrs.enddate : new Date(year + 20, 1, 1));
var targetTop = target.offset().top; }
var targetHeight = target.height(); function getLayout(e){
var result = "bottom-left";
var $ = angular.element;
var target = $(e.currentTarget);
var targetTop = target.offset().top;
var winHeight = document.body.clientHeight; var targetHeight = target.height();
// 300为插件的默认高度(固定值) var winHeight = document.body.clientHeight;
// 取固定值是因为,【设置显示位置】的API只能在创建时使用
if(targetTop + 300 + targetHeight > winHeight){
result = "top-left";
}
return result; // 300为插件的默认高度(固定值)
// 取固定值是因为,【设置显示位置】的API只能在创建时使用
if(targetTop + 300 + targetHeight > winHeight){
result = "top-left";
} }
return result;
} }
}
}) }]
.directive('fileUploader',function () { }
return{ });
restrict:"EA", taxDocumentManageModule.directive('fileUploader',function () {
controller:function($scope,FileUploader,apiInterceptor,taxDocumentListService,$translate,SweetAlert){ return{
restrict:"EA",
controller:['$scope','FileUploader','apiInterceptor','taxDocumentListService','$translate','SweetAlert',
function($scope,FileUploader,apiInterceptor,taxDocumentListService,$translate,SweetAlert){
$scope.uploadFile = function(){ $scope.uploadFile = function(){
$("#uploadFilePlugin").click(); $("#uploadFilePlugin").click();
}; };
$scope.uploader = new FileUploader({ $scope.uploader = new FileUploader({
url: "http://etms.longi-silicon.com:8180/api/v1/taxDoc/upload", url: "http://etms.longi-silicon.com:8180/api/v1/taxDoc/upload",
autoUpload: true,//添加后,自动上传 // autoUpload: true,//添加后,自动上传
headers:{"Authorization":apiInterceptor.tokenType + ' ' + apiInterceptor.apiToken()}, headers:{"Authorization":apiInterceptor.tokenType + ' ' + apiInterceptor.apiToken()},
removeAfterUpload:true, removeAfterUpload:true,
}); });
$scope.uploader.filters.push({//xls限制 $scope.uploader.filters.push({//xls限制
name: 'fileTypeFilter', name: 'fileTypeFilter',
fn: function (item, options) { fn: function (item, options) {
var type = item.name.split(".").pop(); // var type = item.name.split(".").pop();
var matchResult = /xlsx|xls|pdf/i.test(type); // var matchResult = /xlsx|xls|pdf/i.test(type);
var fileNativePath = $("#uploadFilePlugin")[0].value; var fileNativePath = $("#uploadFilePlugin")[0].value;
var splitMark = /\//.test(fileNativePath) ? "/" : "\\"; var splitMark = /\//.test(fileNativePath) ? "/" : "\\";
var prevPath = fileNativePath.split(splitMark); var prevPath = fileNativePath.split(splitMark);
prevPath.pop(); prevPath.pop();
fileNativePath = prevPath.join(splitMark); fileNativePath = prevPath.join(splitMark) + splitMark;
if(matchResult){ // if(matchResult){
$scope.uploader.clearQueue(); $scope.uploader.clearQueue();
$scope.editFieldModel.fileNativePath = fileNativePath; $scope.editFieldModel.fileNativePath = fileNativePath;
$scope.editFieldModel.fileName = item.name; $scope.editFieldModel.fileName = item.name;
} // $scope.uploader.addToQueue($("#uploadFilePlugin")[0].files[0]);
return matchResult; // $scope.uploader.queue[0] = $("#uploadFilePlugin")[0].files[0];
// }
return true;
} }
}); });
$scope.uploader.onAfterAddingFile(function(item){ $scope.uploader.onAfterAddingFile(function(item){
...@@ -641,33 +656,30 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -641,33 +656,30 @@ taxDocumentManageModule.controller('taxDocumentListController',
SweetAlert.warning($translate.instant('FailUpload')); SweetAlert.warning($translate.instant('FailUpload'));
$scope.uploader.clearQueue(); $scope.uploader.clearQueue();
$scope.editFieldModel = {}; $scope.editFieldModel = {};
console.info('onErrorItem', fileItem, response, status, headers); // console.info('onErrorItem', fileItem, response, status, headers);
}; };
// $scope.uploader.onCancelItem = function(fileItem, response, status, headers) { // $scope.uploader.onCancelItem = function(fileItem, response, status, headers) {
// console.info('onCancelItem', fileItem, response, status, headers); // console.info('onCancelItem', fileItem, response, status, headers);
// }; // };
$scope.uploader.onSuccessItem = function(fileItem, response, status, headers) { $scope.uploader.onSuccessItem = function(fileItem, response, status, headers) {
// taxDocumentListService.verifyDuplicate($scope.editFieldModel).then(function(data){
// if($scope.isCoverOpreation){
// if(data){
// $scope.addLogicAfterUploadFile($scope.editFieldModel,'simple');
// }else{
// $scope.coverDocFileRecord($scope.editFieldModel,'simple');
// }
// });
fileItem.filePositionUrl = response; fileItem.filePositionUrl = response;
$scope.editFieldModel.filePositionUrl = response; $scope.editFieldModel.filePositionUrl = response;
$scope.uploader.queue.push(fileItem); if($scope.isCoverOperation) {
console.info('onSuccessItem', arguments); $scope.coverDocFileRecord($scope.editFieldModel, 'simple');
} else {
$scope.addLogicAfterUploadFile($scope.editFieldModel, 'simple');
}
// console.info('onSuccessItem', arguments);
}; };
} }]
} }
}) });
.directive('multiFileUploader',function () { taxDocumentManageModule.directive('multiFileUploader',function () {
return{ return{
restrict:"EA", restrict:"EA",
controller:function($scope,FileUploader,apiInterceptor,taxDocumentListService,$translate,SweetAlert){ controller:['$scope','FileUploader','apiInterceptor','taxDocumentListService','$translate','SweetAlert',
function($scope,FileUploader,apiInterceptor,taxDocumentListService,$translate,SweetAlert){
var timer = null; var timer = null;
$scope.activeTab = function(activeIndex){ $scope.activeTab = function(activeIndex){
$scope.editFieldModel_multi.forEach(function (item) { $scope.editFieldModel_multi.forEach(function (item) {
...@@ -705,21 +717,23 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -705,21 +717,23 @@ taxDocumentManageModule.controller('taxDocumentListController',
$scope.multiUploader.filters.push({//xls限制 $scope.multiUploader.filters.push({//xls限制
name: 'fileTypeFilter', name: 'fileTypeFilter',
fn: function (item, options) { fn: function (item, options) {
var type = item.name.split(".").pop(); // var type = item.name.split(".").pop();
var matchResult = /xlsx|xls|pdf/i.test(type); // var matchResult = /xlsx|xls|pdf/i.test(type);
if(matchResult){ // if(matchResult){
var fileNativePath = $("#multiUploadFilePlugin")[0].value; var fileNativePath = $("#multiUploadFilePlugin")[0].value;
var splitMark = /\//.test(fileNativePath) ? "/" : "\\"; var splitMark = /\//.test(fileNativePath) ? "/" : "\\";
var prevPath = fileNativePath.split(splitMark); var prevPath = fileNativePath.split(splitMark);
prevPath.pop(); prevPath.pop();
fileNativePath = prevPath.join(splitMark); fileNativePath = prevPath.join(splitMark) + splitMark;
$scope.editFieldModel_multi.push({ $scope.editFieldModel_multi.push({
fileNativePath:fileNativePath, fileNativePath:fileNativePath,
fileName:item.name, fileName:item.name,
iShow:$scope.editFieldModel_multi.length === 0 iShow:$scope.editFieldModel_multi.length === 0
}); });
} // }
return matchResult;
// 根据需求,改为不做类型限制
return true;
} }
}); });
$scope.multiUploader.onAfterAddingFile(function(item){ $scope.multiUploader.onAfterAddingFile(function(item){
...@@ -746,8 +760,8 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -746,8 +760,8 @@ taxDocumentManageModule.controller('taxDocumentListController',
//先探测有没有覆盖的情况 //先探测有没有覆盖的情况
$scope.editFieldModel_multi.forEach(function(fieldItem){ $scope.editFieldModel_multi.forEach(function(fieldItem){
taxDocumentListService.verifyDuplicate(fieldItem).then(function(data){ taxDocumentListService.verifyDuplicate(fieldItem).then(function(data){
// data==true为可新增,不会覆盖
//$scope.multiUploadSuccessItems的长度可以用作判断上传是否已经完成
$scope.multiUploadSuccessItems.shift(); $scope.multiUploadSuccessItems.shift();
if (data === true) { if (data === true) {
$scope.addLogicAfterUploadFile(fieldItem,'multi'); $scope.addLogicAfterUploadFile(fieldItem,'multi');
...@@ -770,7 +784,6 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -770,7 +784,6 @@ taxDocumentManageModule.controller('taxDocumentListController',
modelItem.filePositionUrl = response; modelItem.filePositionUrl = response;
} }
}); });
console.info('onSuccessItem', arguments);
}; };
$scope.multiUploadSubmit = function(){ $scope.multiUploadSubmit = function(){
...@@ -787,170 +800,224 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -787,170 +800,224 @@ taxDocumentManageModule.controller('taxDocumentListController',
$scope.multiUploader.uploadItem(i); $scope.multiUploader.uploadItem(i);
} }
} }
} }]
} }
}) });
.directive('filePreview',function(){ taxDocumentManageModule.directive('filePreview',function(){
return{ return{
restrict:'EA', restrict:'EA',
controller:function($scope,$translate,SweetAlert,$compile,taxDocumentListService){ controller:['$scope','$translate','SweetAlert','$compile','taxDocumentListService',function($scope,$translate,SweetAlert,$compile,taxDocumentListService){
$scope.previewData = []; $scope.previewData = [];
$scope.viewNativeFile = function(fileItem){ /**上传时预览的功能取消 2019/3/8*/
/* $scope.viewNativeFile = function(fileItem){
if(!fileItem) return SweetAlert.warning($translate.instant('NeedLoadUp'));
if(!fileItem) return SweetAlert.warning($translate.instant('NeedLoadUp'));
var fileType = fileItem.filePositionUrl.split(".").pop();
var fileType = fileItem.filePositionUrl.split(".").pop();
if(/xlsx|xls/i.test(fileType)){
var reader = new FileReader(); if(/xlsx|xls/i.test(fileType)){
reader.onload = function (e) { var reader = new FileReader();
/* read workbook */ reader.onload = function (e) {
var wb = window.XLSX.read(e.target.result, {type:"binary"}); /!* read workbook *!/
var wb = window.XLSX.read(e.target.result, {type:"binary"});
var data = window.XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
if(data.length){
$scope.filePreview_dataGridUpdate(data);
$("#filePreviewPop").modal("show");
}
else{
SweetAlert.warning($translate.instant('UnReadFile'));
}
/!* DO SOMETHING WITH workbook HERE *!/
};
reader.readAsBinaryString(fileItem._file);
}else if(/pdf/i.test(fileType)){
$scope.openPdfPreviewPop(fileItem.filePositionUrl);
}else{
SweetAlert.warning($translate.instant('UnFile'));
}
};*/
$scope.viewRemoteFile = function (fileName, filePositionUrl) {
if(typeof filePositionUrl !== 'string'
|| filePositionUrl === 'null'
|| filePositionUrl === 'undefined')
return SweetAlert.warning($translate.instant('UnRecord'));
//区分文件类型
var fileType = fileName.split(".").pop();
if(/xlsx|xls/i.test(fileType)){
taxDocumentListService.getBinaryData(filePositionUrl).then(function(resData){
try{
var wb = window.XLSX.read(resData, {type:"array"});
var data = window.XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); var data = window.XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
if(data.length){ // console.log(data);
if(data && data.length){
$scope.filePreview_dataGridUpdate(data); $scope.filePreview_dataGridUpdate(data);
$("#filePreviewPop").modal("show"); $("#filePreviewPop").modal("show");
} }
else{ }catch(e){
SweetAlert.warning($translate.instant('UnReadFile')); SweetAlert.warning(e.message);
} }
/* DO SOMETHING WITH workbook HERE */ });
}; }
else if(/pdf/i.test(fileType)){
// return SweetAlert.warning('暂时不支持PDF预览');
$scope.openPdfPreviewPop(filePositionUrl);
}else{
SweetAlert.warning($translate.instant('UnFile'));
}
reader.readAsBinaryString(fileItem._file); };
}else if(/pdf/i.test(fileType)){
$scope.openPdfPreviewPop(fileItem.filePositionUrl);
}else{
SweetAlert.warning($translate.instant('UnFile'));
}
};
$scope.viewRemoteFile = function (filePositionUrl) { $scope.filePreview_dataGridUpdate = function (_data) {
// console.info("excel:",_data);
if(!filePositionUrl) return SweetAlert.warning($translate.instant('UnRecord')); $scope.previewData = _data || [{}];
var field_keys = Object.keys(_data[0]);
//区分文件类型 var field_values = Object.values(_data[0]);
var fileType = filePositionUrl.split(".").pop();
if(/xlsx|xls/i.test(fileType)){ _data.forEach(function(item){
taxDocumentListService.getBinaryData(filePositionUrl).then(function(resData){ var curRow_keys = Object.keys(item);
try{ var curRow_values = Object.values(item);
var wb = window.XLSX.read(resData, {type:"array"}); if(curRow_keys && curRow_keys.length > field_keys.length){
var data = window.XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); field_keys = curRow_keys;
// console.log(data); field_values = curRow_values;
if(data && data.length){
$scope.filePreview_dataGridUpdate(data);
$("#filePreviewPop").modal("show");
}
}catch(e){
SweetAlert.warning(e.message);
}
});
}else if(/pdf/i.test(fileType)){
$scope.openPdfPreviewPop(filePositionUrl);
}else{
SweetAlert.warning($translate.instant('UnFile'));
} }
});
}; $scope.filePreview_dataGridOptions = {
bindingOptions:{
$scope.filePreview_dataGridUpdate = function (_data) { dataSource: 'previewData',
console.info("excel:",_data); },
$scope.previewData = _data || [{}]; showBorders: true,
var field_keys = Object.keys(_data[0]); paging: {
var field_values = Object.values(_data[0]); enable: true,
pageIndex: 1,
_data.forEach(function(item){ pageSize: 10
var curRow_keys = Object.keys(item); },
var curRow_values = Object.values(item); pager: {
if(curRow_keys && curRow_keys.length > field_keys.length){ allowedPageSizes: 5,
field_keys = curRow_keys; infoText: "当前 {0} / {1} ({2} )",
field_values = curRow_values; showInfo: true,
} showNavigationButtons: true,
}); showPageSizeSelector: true,
visible: true
$scope.filePreview_dataGridOptions = { },
bindingOptions:{ searchPanel: {//查询
dataSource: 'previewData', highlightCaseSensitive: true,
}, highlightSearchText: true,
showBorders: true, searchVisibleColumnsOnly: false,
paging: { text: "",
enable: true, width: 518,
pageIndex: 1, visible: true,
pageSize: 10 placeholder: $translate.instant('Search'),
}, },
pager: { sorting: {//排序
allowedPageSizes: 5, ascendingText: "Sort Ascending",
infoText: "当前 {0} / {1} ({2} )", clearText: "Clear Sorting",
showInfo: true, descendingText: "Sort Descending",
showNavigationButtons: true, mode: "single"
showPageSizeSelector: true, },
visible: true showRowLines: true,
}, columnAutoWidth: true,
searchPanel: {//查询 allowColumnReordering: true,
highlightCaseSensitive: true, columns: (function(){
highlightSearchText: true, var cols = [];
searchVisibleColumnsOnly: false, field_keys.forEach(function(field,index){
text: "", cols.push({
width: 518, dataField: field,
visible: true, caption: (Object.keys(_data[0]).length === field_values.length) ? field_values[index]:index
placeholder: $translate.instant('Search'),
},
sorting: {//排序
ascendingText: "Sort Ascending",
clearText: "Clear Sorting",
descendingText: "Sort Descending",
mode: "single"
},
showRowLines: true,
columnAutoWidth: true,
allowColumnReordering: true,
columns: (function(){
var cols = [];
field_keys.forEach(function(field,index){
cols.push({
dataField: field,
caption: (Object.keys(_data[0]).length === field_values.length) ? field_values[index]:index
});
}); });
return cols; });
})(), return cols;
rowAlternationEnabled: true, //单双行颜色 })(),
}; rowAlternationEnabled: true, //单双行颜色
var dataGrid = $('<div dx-data-grid="filePreview_dataGridOptions">');
$("#preview_dataGrid").append(dataGrid);
$compile(dataGrid)($scope);
}; };
var dataGrid = $('<div dx-data-grid="filePreview_dataGridOptions">');
$("#preview_dataGrid").append(dataGrid);
$compile(dataGrid)($scope);
$scope.hideFilePreviewPop = function(){ };
$("#preview_dataGrid").html("");
$("#filePreviewPop").modal("hide");
};
$scope.resetDataForm = function(){ $scope.hideFilePreviewPop = function(){
$scope.previewData.length = 0; $("#preview_dataGrid").html("");
if($scope.filePreview_dataGridOptions) $("#filePreviewPop").modal("hide");
$scope.filePreview_dataGridOptions.columns.length = 0; };
};
$scope.resetDataForm = function(){
$scope.previewData.length = 0;
if($scope.filePreview_dataGridOptions)
$scope.filePreview_dataGridOptions.columns.length = 0;
};
}
}
})
.directive('pdfPreview',function(){
return{
restrict:'EA',
controller:function($scope){
$scope.openPdfPreviewPop = function(url){
window.PDFObject.embed('http://etms.longi-silicon.com:8180/' + url, "#pdfContainer");
$("#pdfLayoutDialog").show();
};
$scope.closePdfPop = function () { }]
$("#pdfLayoutDialog").hide(); }
});
taxDocumentManageModule.directive('pdfPreview',function(){
return{
restrict:'EA',
controller:['$scope',function($scope){
window.PDFJS.workerSrc = './bundles/pdf.worker.js';
var canvas = document.getElementById('the-canvas');
var context = canvas.getContext('2d');
var pdfCurPageIndex = 1;
var pdfSumPages = 1;
var container = document.getElementById("pdfLayoutDialog");
var pdfPromise = null;
var cacheUrl = null;
$scope.openPdfPreviewPop = function(url){
container.style.display = "block";
if(cacheUrl !== url){
cacheUrl = url;
pdfPromise = getPdf(url);
} }
pdfPromise.then(function(pdf){renderPdf(pdf)})
};
$scope.closePdfPop = function () {
container.style.display = "none";
};
$scope.prevPaging = function(){
if(pdfCurPageIndex === 1) return;
pdfCurPageIndex --;
pdfPromise.then(function(pdf){renderPdf(pdf)})
};
$scope.nextPaging = function(){
if(pdfCurPageIndex === pdfSumPages) return;
pdfCurPageIndex ++;
pdfPromise.then(function(pdf){renderPdf(pdf)})
};
function getPdf(url){
// var url = 'http://47.94.233.173:11007/static/erp_tax_system/61063D1D-8C9E-47C1-B106-AFF696CF5D98?expire=1552466477&signiture=5IaoVIHX_pzmQgyaxdzYC2NsNOz_R0eyRUhQU1BJjiE=';
return window.PDFJS.getDocument(url);
} }
} function renderPdf(pdf){
}) pdfSumPages = pdf.numPages;
\ No newline at end of file pdf.getPage(pdfCurPageIndex).then(function getPageHelloWorld(page) {
var scale = 1.5;
var viewport = page.getViewport(scale);
//
// Prepare canvas using PDF page dimensions
//
canvas.height = viewport.height;
canvas.width = viewport.width;
//
// Render PDF page into canvas context
//
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
}
}]
}
});
\ No newline at end of file
...@@ -201,6 +201,7 @@ ...@@ -201,6 +201,7 @@
line-height: 100%; line-height: 100%;
padding: 1.4rem; padding: 1.4rem;
/*color: #fff;*/ /*color: #fff;*/
cursor: pointer;
border: 1px solid #e5e5e5; border: 1px solid #e5e5e5;
} }
.TDL-multi-upload-content{ .TDL-multi-upload-content{
...@@ -216,33 +217,61 @@ ...@@ -216,33 +217,61 @@
color:#4395ff; color:#4395ff;
} }
.TDL-pdf-preview-pop{ .TDL-pdf-preview-pop{
position: fixed;top: 0;left: 0;z-index: 1051; position: fixed;
top: 0;left: 0;z-index: 1051;
background: #333;
text-align: center;
overflow: auto;
} }
.TDL-pdf-preview-pop-btn{ .TDL-pdf-preview-pop-close-btn{
position: fixed; position: fixed;
top: 6rem; top: 6rem;
right: 6rem; right: 6rem;
width: 4rem; width: 4rem;
height: 4rem; height: 4rem;
background: rgb(254,66,66); background: rgba(254,66,66,0.5);
color: #333;
border-radius: 100%; border-radius: 100%;
font-size: 2.4rem;
color: #666;
text-align: center; text-align: center;
line-height: 100%; line-height: 100%;
cursor: pointer; cursor: pointer;
padding: 0; padding: 0;
z-index: 1502; z-index: 1502;
border: 0; border: 0;
opacity: 0.6;
} }
.TDL-pdf-preview-pop-btn:hover{ .TDL-pdf-preview-pop-close-btn:hover{
opacity: 0.8; background: rgba(254,66,66,0.8);
color:#fff; color:#fff;
} }
.TDL-pdf-layout-dialog{ .TDL-pdf-layout-dialog{
display:none; display:none;
} }
.test{
position: absolute;
top:0;
left:0;
z-index: 1111;
}
.TDL-pdf-paging-btn{
position: fixed;
top: 49%;
z-index: 1052;
border: 0;
padding: 2rem;
font-size: 2rem;
background: rgba(33,33,33,0.5);
outline: none;
}
.TDL-pdf-paging-btn:hover{
background: rgba(255, 255, 198, 0.7);
color:#fff;
}
.TDL-pdf-paging-btn-prev{
left: 6rem;
}
.TDL-pdf-paging-btn-next{
right: 6rem;
}
</style> </style>
<div class="menu-header TDL-header" multi-date-picker> <div class="menu-header TDL-header" multi-date-picker>
<div class="TDL-query-bar" ng-init="MoreFields = false"> <div class="TDL-query-bar" ng-init="MoreFields = false">
...@@ -326,7 +355,6 @@ ...@@ -326,7 +355,6 @@
<div class="TDL-query-val"> <div class="TDL-query-val">
<select ng-model="queryFieldModel.companyName" class="form-control radius3" <select ng-model="queryFieldModel.companyName" class="form-control radius3"
title="{{queryFieldModel.companyName}}" required placeholder="{{'PleaseSelected' | translate}}"> title="{{queryFieldModel.companyName}}" required placeholder="{{'PleaseSelected' | translate}}">
<option selected></option>
<option ng-repeat="(key,companyName) in companyNameOptionsMap" <option ng-repeat="(key,companyName) in companyNameOptionsMap"
ng-click="queryFieldModel.companyId = key" ng-click="queryFieldModel.companyId = key"
value="{{companyName}}">{{companyName}}</option> value="{{companyName}}">{{companyName}}</option>
...@@ -488,11 +516,13 @@ ...@@ -488,11 +516,13 @@
<a href="javascript:void(0)" ng-click="uploadFile()"><i class="fa fa-upload"></i></a> <a href="javascript:void(0)" ng-click="uploadFile()"><i class="fa fa-upload"></i></a>
</div> </div>
</div> </div>
<div ng-if="isCreatePop && uploader.queue.length" class="col-sm-6 form-group">
<!--取消上传时的预览功能-->
<!--<div ng-if="isCreatePop && uploader.queue.length" class="col-sm-6 form-group">
<label class="col-sm-3 control-label" style="text-align: left;"> <label class="col-sm-3 control-label" style="text-align: left;">
<a href="javascript:void(0)" class="DTL-special-external-preview" ng-click="viewNativeFile(uploader.queue[0])">{{'PreviewFile'|translate}}</a> <a href="javascript:void(0)" class="DTL-special-external-preview" ng-click="viewNativeFile(uploader.queue[0])">{{'PreviewFile'|translate}}</a>
</label> </label>
</div> </div>-->
<div style="clear:both"></div> <div style="clear:both"></div>
<!--档案名称--> <!--档案名称-->
<div class="col-sm-6 form-group"> <div class="col-sm-6 form-group">
...@@ -692,11 +722,13 @@ ...@@ -692,11 +722,13 @@
<!--<input id="{{multiUploadFilePlugin}}" type="file" style="display:none" nv-file-select uploader="uploader" filters="fileTypeFilter">--> <!--<input id="{{multiUploadFilePlugin}}" type="file" style="display:none" nv-file-select uploader="uploader" filters="fileTypeFilter">-->
</div> </div>
</div> </div>
<div class="col-sm-6 form-group">
<label class="col-sm-3 control-label" style="text-align: left;margin-left: -34px;"> <!--取消上传时的预览功能-->
<a href="javascript:void(0)" class="DTL-special-external-preview" ng-click="viewNativeFile(multiUploader.queue[$index])">预览文件</a> <!-- <div class="col-sm-6 form-group">
</label> <label class="col-sm-3 control-label" style="text-align: left;margin-left: -34px;">
</div> <a href="javascript:void(0)" class="DTL-special-external-preview" ng-click="viewNativeFile(multiUploader.queue[$index])">预览文件</a>
</label>
</div>-->
<div style="clear:both"></div> <div style="clear:both"></div>
<!--档案名称--> <!--档案名称-->
<div class="col-sm-6 form-group"> <div class="col-sm-6 form-group">
...@@ -884,8 +916,11 @@ ...@@ -884,8 +916,11 @@
<div class="TDL-pdf-layout-dialog" id="pdfLayoutDialog" pdf-preview> <div class="TDL-pdf-layout-dialog" id="pdfLayoutDialog" pdf-preview>
<div class="wrapper TDL-pdf-preview-pop" id="pdfContainer"> <div class="wrapper TDL-pdf-preview-pop" id="pdfContainer">
<canvas id="the-canvas"></canvas>
</div> </div>
<button class="TDL-pdf-preview-pop-btn" ng-click="closePdfPop()">x</button> <button class="TDL-pdf-preview-pop-close-btn" ng-click="closePdfPop()">x</button>
</div>
<button class="TDL-pdf-paging-btn TDL-pdf-paging-btn-prev" ng-click="prevPaging()" title="上一页">&lt;</button>
<button class="TDL-pdf-paging-btn TDL-pdf-paging-btn-next" ng-click="nextPaging()" title="下一页">&gt;</button>
</div>
</div> </div>
\ No newline at end of file
...@@ -22,25 +22,23 @@ taxDocumentManageModule.factory('taxDocumentListService', ...@@ -22,25 +22,23 @@ taxDocumentManageModule.factory('taxDocumentListService',
return jqFetch.post(apiInterceptor.webApiHostUrl + '/fileTypes/query4SelectionBox', params); return jqFetch.post(apiInterceptor.webApiHostUrl + '/fileTypes/query4SelectionBox', params);
}, },
getCompanyNameOptions:function(params){ getCompanyNameOptions:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/org/query4SelectionBox', params); return jqFetch.get(apiInterceptor.webApiHostUrl + '/org/getMyOrgList', params);
}, },
delFileRecordItems:function(params){ delFileRecordItems:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/batchDelete', params); return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/batchDelete', params);
}, },
getBinaryData:function(url){ getBinaryData:function(url){
// var defer = $q.defer(); var defer = $q.defer();
// var oReq = new XMLHttpRequest(); var oReq = new XMLHttpRequest();
// oReq.onload = function(e) { oReq.onload = function(e) {
// var arraybuffer = oReq.response; var arraybuffer = oReq.response;
// console.info("arraybuffer:",arraybuffer); console.info("arraybuffer:",arraybuffer);
// defer.resolve(arraybuffer); defer.resolve(arraybuffer);
// }; };
// oReq.open("GET", 'http://47.94.233.173:11007/static/erp_tax_system/3221D133-85B8-4E22-AE9B-DBEBD942D217?expire=1552361736&signiture=_Wz1_8Z6T8h5qnZAGpoRa8kNZeqmE7KoztKeehzYK4U=', true); oReq.open("GET", url, true);
// oReq.responseType = "arraybuffer"; oReq.responseType = "arraybuffer";
// oReq.send(); oReq.send();
return defer.promise;
return jqFetch.get(apiInterceptor.webApiHostUrl + url,{},'arraybuffer');
// return defer.promise;
} }
......
a{color:#404041}a:active,a:checked,a:hover,a:visited{color:#602320}.badge{background-color:#968c6d}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ef9800}.align-right{float:right;display:inline-block;margin-right:15px}.alert-info{background-image:none;background-repeat:repeat-x;border-color:#c7c8ca;color:#404041;background-color:#f5f4f0;border-color:#c7c8ca}.alert-warning{background-image:none;background-repeat:repeat-x;border-color:#f7cbc7;color:#404041;background-color:#fae2bf;border-color:#f7cbc7}.alert-danger{background-image:none;background-repeat:repeat-x;border-color:#e0301e;color:#fff;background-color:#e0301e;border-color:#e0301e}.cursorpointer{cursor:pointer}.link-no-underline,.link-no-underline:active,.link-no-underline:hover{text-decoration:none}.btn-customer{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:5px 12px;line-height:1.5;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn-customer-group-lg>.btn-customer,.btn-customer-lg{padding:6px 12px;font-size:20px;line-height:1.33;border-radius:6px}.btn-customer.active:focus,.btn-customer:active:focus,.btn-customer:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn-customer.active,.btn-customer:active{outline:0;background-image:none;background-color:#bed1e1}.btn-customer.disabled,.btn-customer[disabled],.form-control-customer{display:block;width:100%;height:31px;padding:5px 12px;font-size:20px;line-height:1.5;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control.select-fix{width:auto;display:inline-block;font-size:14px;margin-right:15px}.btn-fix.disabled,.btn-fix[disabled]{display:inline-block;font-size:14px;width:auto}.form-control-customer:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control-customer[disabled],.form-control-customer[readonly],fieldset[disabled] .form-control-customer{cursor:not-allowed;background-color:#f2f2f2;opacity:1}textarea.form-control-customer{height:auto}span.form-control-customer{border:none;box-shadow:none}.progress-bar{background-color:#eb8c00}body.login-body{background:#999 url(/app-resources/images/login_pic.jpg) no-repeat;color:#333;overflow-y:auto}.login{display:block;margin-top:108px;margin-left:120px;width:648px;float:right;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.tilte{clear:both;margin-left:50px;width:227px;height:114px;font-family:'Papyrus Bold',Papyrus;font-weight:700;font-style:normal;font-size:72px;color:#a32020}.tilte .text{position:absolute}.background-frame{background-repeat:no-repeat;background-image:url(/app-resources/images/form_bg.png);float:left;display:block;width:643px;height:358px;opacity:.7;z-index:-99}.loginframe{position:relative;display:block;width:410px;height:158px;float:left;margin-top:-248px;z-index:10;padding-left:120px}.frame{display:none}.show{display:block!important}.form-wrapper{width:400px;font-weight:400;font-style:normal;font-size:13px;color:#333;text-align:center;line-height:normal;margin-top:-45px}.form-wrapper button,.form-wrapper input{opacity:1}.loginfull{width:270px;height:150px;float:left;color:#fff;clear:both!important}.button-wrapper{display:block;float:left;margin-left:40px;height:150px}.login-button{background-color:#eb8c00;color:#fff;width:100px;height:100px}.login-button:hover{color:#fff;background-color:#dc6900}.login-button:disabled{background-color:#968c6d;color:#fff;width:100px;height:100px}.loginfull input::-webkit-input-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input:-moz-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input::-moz-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input:-ms-input-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull .form-control-customer{background-color:#404041;color:#fff;font-weight:400;font-size:18px;font-style:normal;height:28px;border-radius:10px}.loginfull .form-control-customer.has-error{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.loginfull .successMsg{float:left;text-decoration:none;color:#a94442;font-size:28px;font-weight:200;margin-left:56px}.loginfull .form-forget-password{float:left;text-decoration:none;color:#dc6900;font-size:18px;font-weight:200;margin-left:6px}.has-error.label{color:#a94442;font-weight:700}.loadingImg{margin-top:135px;z-index:-9;margin-left:310px}.form-group{margin-bottom:20px}form.active{display:block!important;height:auto}form.email_sent .form-group,form.forgot_fivetimes .form-group,form.forgot_password .form-group,form.login .form-group,form.loginfull .form-group{margin:20px 0 20px 0}form.userchoose .form-group{margin:0 0 10px 0}.login .list-group-item-heading{margin:5px 0 5px 0}.navbar-brand{float:left;padding:15.5px 15px;font-size:32px;line-height:19px;height:50px;font-family:'Papyrus Bold',Papyrus;font-weight:700;font-style:normal;color:#a32020}.navbar-default .navbar-brand{color:#a32020;margin-left:37px;margin-right:37px}.sidebar-closed .navbar-default .navbar-brand{display:none}.navbar-brand:focus,.navbar-brand:hover{color:#a32020;text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-fixed-top .navbar-collapse{max-height:440px}.panelfix{margin-bottom:0;border-radius:0}.navbarfix{border-radius:0}.nav-split{background-color:#a32020;display:inline-block;height:42px;width:2px;margin-top:2px;float:left;margin-bottom:0;margin-right:10px}.nav-company-name{font-size:25px;margin-bottom:0;margin-top:10px;font-weight:100}.nav-company{display:none}@media(min-width:768px){.nav-company{display:block}}.navbar-customer{margin-top:0;width:46px;height:50px;margin-bottom:0;margin-right:10px;padding-left:11px;padding-right:11px;border-radius:0}.row-fix-width{width:960px}.progress-table{text-align:center}.progress-table>tbody>tr>td:first-child{text-align:left}.progress-table>tbody>tr>td{border-top:0}.progress-table>tbody>tr>td:after{border-top:0}.progress-title{text-shadow:none}.btn-city{width:130px;text-align:left}.btn-default.step1{background-color:#e5e2db}.btn-default.step2{background-color:#fae2bf}.btn-default.step3{background-color:#f7cbc7}.btn-default.step4{background-color:#f6d4da}.btn-default.step5{background-color:#d7c8c7}.btn-default.step6{background-color:#e5e2db}.btn-default.review{color:#fff;background-color:#a32020}.btn-default.signoff{color:#fff;background-color:#dc6900}.td-line:after{content:"";position:absolute;margin-top:-16px;width:150px;border-bottom:2px dashed #ccc}.tr-hr:after{content:"";position:absolute;margin-top:23px;margin-left:-720px;width:680px;border-bottom:2px dashed #e8c7c7}.btn-customer.disabled,.btn-customer[disabled],fieldset[disabled] .btn-customer{opacity:.5}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:15px;border-bottom-right-radius:15px}.bootstrap-switch-gap{margin-right:10px}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{background:#a32020}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover{background:#602320}.bootstrap-switch.bootstrap-switch-focused{border-color:#dc6900}.nav-tabs>li .close{margin:-2px 0 0 10px;font-size:18px}.marginBottom{padding-top:3px;margin-bottom:1px!important;margin-left:-15px}.operationDiv{padding:5px 10px 5px 5px}.operationDivWrapper{margin-top:-1px}.firstTab{margin-left:15px}.leftMenu{height:70%;background-color:#e6e6e6;border-right:2px solid #bfbfbf}.close-tab-button{margin-top:-41px;margin-right:6px;font-size:18px;margin:-41px 6px 0 0!important}.btn-position-fix{margin-top:25px}.removeBackgroud>li>a:focus{background-color:transparent;color:#000}.notice-center{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-moz-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-ms-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-moz-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-o-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}.uil-flickr-css>div{width:100px;height:100px;border-radius:50px;position:absolute;top:50px}.uil-flickr-css>div:nth-of-type(1){left:0;background:#e35839;z-index:5;-ms-animation:uil-flickr-anim1 1s linear infinite;-moz-animation:uil-flickr-anim1 1s linear infinite;-webkit-animation:uil-flickr-anim1 1s linear infinite;-o-animation:uil-flickr-anim1 1s linear infinite;animation:uil-flickr-anim1 1s linear infinite}.uil-flickr-css>div:nth-of-type(2){left:100px;background:#d28d4f;-ms-animation:uil-flickr-anim2 1s linear infinite;-moz-animation:uil-flickr-anim2 1s linear infinite;-webkit-animation:uil-flickr-anim2 1s linear infinite;-o-animation:uil-flickr-anim2 1s linear infinite;animation:uil-flickr-anim2 1s linear infinite}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{color:#fff;background-color:#eb8c00}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#eb8c00}.datepicker table tr td span.active.active.focus,.datepicker table tr td span.active.active:focus,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active.disabled.active.focus,.datepicker table tr td span.active.disabled.active:focus,.datepicker table tr td span.active.disabled.active:hover,.datepicker table tr td span.active.disabled:active.focus,.datepicker table tr td span.active.disabled:active:focus,.datepicker table tr td span.active.disabled:active:hover,.datepicker table tr td span.active.disabled:hover.active.focus,.datepicker table tr td span.active.disabled:hover.active:focus,.datepicker table tr td span.active.disabled:hover.active:hover,.datepicker table tr td span.active.disabled:hover:active.focus,.datepicker table tr td span.active.disabled:hover:active:focus,.datepicker table tr td span.active.disabled:hover:active:hover,.datepicker table tr td span.active:active.focus,.datepicker table tr td span.active:active:focus,.datepicker table tr td span.active:active:hover,.datepicker table tr td span.active:hover.active.focus,.datepicker table tr td span.active:hover.active:focus,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td span.active:hover:active.focus,.datepicker table tr td span.active:hover:active:focus,.datepicker table tr td span.active:hover:active:hover{color:#fff;background-color:#dc6900}.datepicker table tr td,.datepicker table tr th{text-align:center}.ui-select-has-border,.ui-select-no-border{display:inline-block;cursor:pointer}.search-container.ui-select-search-hidden{display:none}.ui-select-no-border .select2-container-active .select2-choice,.ui-select-no-border .select2-container-active .select2-choices{border:1px solid rgba(0,0,0,.15)}.ui-select-no-border .select2-results .select2-highlighted{background:#e0301e}.ui-select-no-border .select2-container,.ui-select-no-border .select2-results,.ui-select-no-border .select2-results li{outline:0}.ui-select-no-border .select2-container-active .select2-choice,.ui-select-no-border .select2-container-active .select2-choices,.ui-select-no-border .select2-drop,.ui-select-no-border .select2-dropdown-open .select2-choice{border-radius:0;box-shadow:none;-webkit-box-shadow:none}.ui-select-no-border .select2-drop-active{border:1px solid rgba(0,0,0,.15)}.ui-select-no-border .select2-container .select2-choice .select2-arrow{margin-right:8px}.ui-select-no-border .select2-container .select2-choice .select2-arrow,.ui-select-no-border .select2-dropdown-open .select2-choice{border-left:none;background:0 0;background-image:none}.ui-select-no-border .select2-container .select2-choice .select2-arrow b{background:url(/app-resources/images/vat/down.png) no-repeat scroll right center transparent}.ui-select-no-border .select2-container .select2-choice{border:none;background-image:none;background:0 0}.ui-select-has-border .select2-drop-active{border:1px solid #adb4bd;border-top:1px solid #adb4bd}.ui-select-has-border .select2-dropdown-open .select2-choice{box-shadow:none;background-color:none}.ui-select-has-border .select2-container-active .select2-choices{border:none}.ui-select-has-border .select2-results .select2-highlighted{background:#e0301e}.ui-select-has-border .select2-container-active .select2-choice,.ui-select-has-border .select2-container-active .select2-choices{border:1px solid #aaa}.ui-select-has-border .select2-container,.ui-select-has-border .select2-results,.ui-select-has-border .select2-results li{outline:0}.ui-select-has-border .select2-container .select2-choice .select2-arrow{border-left:none;background:0 0;background-image:none}.ui-select-has-border .select2-container .select2-choice .select2-arrow b{margin-top:2px}.ui-select-has-border .select2-container .select2-choice,.ui-select-has-border .select2-container-active .select2-choice{background-image:none;background:0 0;outline:0;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.dx-checkbox-checked .dx-checkbox-icon{color:#e0301e}.dx-checkbox-indeterminate .dx-checkbox-icon:before{background-color:#e0301e}.dx-texteditor.dx-state-hover{border-color:rgba(239,213,189,.5)}.dx-texteditor.dx-state-active,.dx-texteditor.dx-state-focused{border-color:rgba(239,213,189,.5)}.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-checkbox-icon,.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-radiobutton-icon:before{border:1px solid rgba(239,213,189,.5)}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused.dx-list-item-selected{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-list-slide-item-content{background-color:#dc6900}.dx-list-item.dx-list-item-ghost-reordering.dx-state-focused.dx-state-hover{border-top:1px solid rgba(239,213,189,.5);border-bottom:1px solid rgba(239,213,189,.5)}.dx-list-slide-menu-button-menu{background-color:#dc6900}.dx-checkbox.dx-state-hover .dx-checkbox-icon{border:1px solid rgba(239,213,189,.5)}.dx-checkbox.dx-state-focused .dx-checkbox-icon{border:1px solid rgba(239,213,189,.5)}.dx-treeview .dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-focused>.dx-checkbox .dx-checkbox-icon{border:1px solid rgba(239,213,189,1)} a{color:#404041}a:active,a:checked,a:hover,a:visited{color:#602320}.badge{background-color:#968c6d}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ef9800}.align-right{float:right;display:inline-block;margin-right:15px}.alert-info{background-image:none;background-repeat:repeat-x;border-color:#c7c8ca;color:#404041;background-color:#f5f4f0;border-color:#c7c8ca}.alert-warning{background-image:none;background-repeat:repeat-x;border-color:#f7cbc7;color:#404041;background-color:#fae2bf;border-color:#f7cbc7}.alert-danger{background-image:none;background-repeat:repeat-x;border-color:#e0301e;color:#fff;background-color:#e0301e;border-color:#e0301e}.cursorpointer{cursor:pointer}.link-no-underline,.link-no-underline:active,.link-no-underline:hover{text-decoration:none}.btn-customer{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:5px 12px;line-height:1.5;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn-customer-group-lg>.btn-customer,.btn-customer-lg{padding:6px 12px;font-size:20px;line-height:1.33;border-radius:6px}.btn-customer.active:focus,.btn-customer:active:focus,.btn-customer:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn-customer.active,.btn-customer:active{outline:0;background-image:none;background-color:#bed1e1}.btn-customer.disabled,.btn-customer[disabled],.form-control-customer{display:block;width:100%;height:31px;padding:5px 12px;font-size:20px;line-height:1.5;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control.select-fix{width:auto;display:inline-block;font-size:14px;margin-right:15px}.btn-fix.disabled,.btn-fix[disabled]{display:inline-block;font-size:14px;width:auto}.form-control-customer:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control-customer[disabled],.form-control-customer[readonly],fieldset[disabled] .form-control-customer{cursor:not-allowed;background-color:#f2f2f2;opacity:1}textarea.form-control-customer{height:auto}span.form-control-customer{border:none;box-shadow:none}.progress-bar{background-color:#eb8c00}body.login-body{background:#999 url(/app-resources/images/login_pic.jpg) no-repeat;color:#333;overflow-y:auto}.login{display:block;margin-top:108px;margin-left:120px;width:648px;float:right;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.tilte{clear:both;margin-left:50px;width:227px;height:114px;font-family:'Papyrus Bold',Papyrus;font-weight:700;font-style:normal;font-size:72px;color:#a32020}.tilte .text{position:absolute}.background-frame{background-repeat:no-repeat;background-image:url(/app-resources/images/form_bg.png);float:left;display:block;width:643px;height:358px;opacity:.7;z-index:-99}.loginframe{position:relative;display:block;width:410px;height:158px;float:left;margin-top:-248px;z-index:10;padding-left:120px}.frame{display:none}.show{display:block!important}.form-wrapper{width:400px;font-weight:400;font-style:normal;font-size:13px;color:#333;text-align:center;line-height:normal;margin-top:-45px}.form-wrapper button,.form-wrapper input{opacity:1}.loginfull{width:270px;height:150px;float:left;color:#fff;clear:both!important}.button-wrapper{display:block;float:left;margin-left:40px;height:150px}.login-button{background-color:#eb8c00;color:#fff;width:100px;height:100px}.login-button:hover{color:#fff;background-color:#dc6900}.login-button:disabled{background-color:#968c6d;color:#fff;width:100px;height:100px}.loginfull input::-webkit-input-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input:-moz-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input::-moz-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input:-ms-input-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull .form-control-customer{background-color:#404041;color:#fff;font-weight:400;font-size:18px;font-style:normal;height:28px;border-radius:10px}.loginfull .form-control-customer.has-error{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.loginfull .successMsg{float:left;text-decoration:none;color:#a94442;font-size:28px;font-weight:200;margin-left:56px}.loginfull .form-forget-password{float:left;text-decoration:none;color:#dc6900;font-size:18px;font-weight:200;margin-left:6px}.has-error.label{color:#a94442;font-weight:700}.loadingImg{margin-top:135px;z-index:-9;margin-left:310px}.form-group{margin-bottom:20px}form.active{display:block!important;height:auto}form.email_sent .form-group,form.forgot_fivetimes .form-group,form.forgot_password .form-group,form.login .form-group,form.loginfull .form-group{margin:20px 0 20px 0}form.userchoose .form-group{margin:0 0 10px 0}.login .list-group-item-heading{margin:5px 0 5px 0}.navbar-brand{float:left;padding:15.5px 15px;font-size:32px;line-height:19px;height:50px;font-family:'Papyrus Bold',Papyrus;font-weight:700;font-style:normal;color:#a32020}.navbar-default .navbar-brand{color:#a32020;margin-left:37px;margin-right:37px}.sidebar-closed .navbar-default .navbar-brand{display:none}.navbar-brand:focus,.navbar-brand:hover{color:#a32020;text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-fixed-top .navbar-collapse{max-height:440px}.panelfix{margin-bottom:0;border-radius:0}.navbarfix{border-radius:0}.nav-split{background-color:#a32020;display:inline-block;height:42px;width:2px;margin-top:2px;float:left;margin-bottom:0;margin-right:10px}.nav-company-name{font-size:25px;margin-bottom:0;margin-top:10px;font-weight:100}.nav-company{display:none}@media(min-width:768px){.nav-company{display:block}}.navbar-customer{margin-top:0;width:46px;height:50px;margin-bottom:0;margin-right:10px;padding-left:11px;padding-right:11px;border-radius:0}.row-fix-width{width:960px}.progress-table{text-align:center}.progress-table>tbody>tr>td:first-child{text-align:left}.progress-table>tbody>tr>td{border-top:0}.progress-table>tbody>tr>td:after{border-top:0}.progress-title{text-shadow:none}.btn-city{width:130px;text-align:left}.btn-default.step1{background-color:#e5e2db}.btn-default.step2{background-color:#fae2bf}.btn-default.step3{background-color:#f7cbc7}.btn-default.step4{background-color:#f6d4da}.btn-default.step5{background-color:#d7c8c7}.btn-default.step6{background-color:#e5e2db}.btn-default.review{color:#fff;background-color:#a32020}.btn-default.signoff{color:#fff;background-color:#dc6900}.td-line:after{content:"";position:absolute;margin-top:-16px;width:150px;border-bottom:2px dashed #ccc}.tr-hr:after{content:"";position:absolute;margin-top:23px;margin-left:-720px;width:680px;border-bottom:2px dashed #e8c7c7}.btn-customer.disabled,.btn-customer[disabled],fieldset[disabled] .btn-customer{opacity:.5}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:15px;border-bottom-right-radius:15px}.bootstrap-switch-gap{margin-right:10px}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{background:#a32020}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover{background:#602320}.bootstrap-switch.bootstrap-switch-focused{border-color:#dc6900}.nav-tabs>li .close{margin:-2px 0 0 10px;font-size:18px}.marginBottom{padding-top:3px;margin-bottom:1px!important;margin-left:-15px}.operationDiv{padding:5px 10px 5px 5px}.operationDivWrapper{margin-top:-1px}.firstTab{margin-left:15px}.leftMenu{height:70%;background-color:#e6e6e6;border-right:2px solid #bfbfbf}.close-tab-button{margin-top:-41px;margin-right:6px;font-size:18px;margin:-41px 6px 0 0!important}.btn-position-fix{margin-top:25px}.removeBackgroud>li>a:focus{background-color:transparent;color:#000}.notice-center{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-moz-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-ms-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-moz-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-o-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-webkit-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-moz-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-ms-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-moz-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-webkit-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-o-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}.uil-flickr-css{background:0 0;position:relative;width:200px;height:200px}.uil-flickr-css>div{width:100px;height:100px;border-radius:50px;position:absolute;top:50px}.uil-flickr-css>div:nth-of-type(1){left:0;background:#e35839;z-index:5;-ms-animation:uil-flickr-anim1 1s linear infinite;-moz-animation:uil-flickr-anim1 1s linear infinite;-webkit-animation:uil-flickr-anim1 1s linear infinite;-o-animation:uil-flickr-anim1 1s linear infinite;animation:uil-flickr-anim1 1s linear infinite}.uil-flickr-css>div:nth-of-type(2){left:100px;background:#d28d4f;-ms-animation:uil-flickr-anim2 1s linear infinite;-moz-animation:uil-flickr-anim2 1s linear infinite;-webkit-animation:uil-flickr-anim2 1s linear infinite;-o-animation:uil-flickr-anim2 1s linear infinite;animation:uil-flickr-anim2 1s linear infinite}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{color:#fff;background-color:#eb8c00}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#eb8c00}.datepicker table tr td span.active.active.focus,.datepicker table tr td span.active.active:focus,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active.disabled.active.focus,.datepicker table tr td span.active.disabled.active:focus,.datepicker table tr td span.active.disabled.active:hover,.datepicker table tr td span.active.disabled:active.focus,.datepicker table tr td span.active.disabled:active:focus,.datepicker table tr td span.active.disabled:active:hover,.datepicker table tr td span.active.disabled:hover.active.focus,.datepicker table tr td span.active.disabled:hover.active:focus,.datepicker table tr td span.active.disabled:hover.active:hover,.datepicker table tr td span.active.disabled:hover:active.focus,.datepicker table tr td span.active.disabled:hover:active:focus,.datepicker table tr td span.active.disabled:hover:active:hover,.datepicker table tr td span.active:active.focus,.datepicker table tr td span.active:active:focus,.datepicker table tr td span.active:active:hover,.datepicker table tr td span.active:hover.active.focus,.datepicker table tr td span.active:hover.active:focus,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td span.active:hover:active.focus,.datepicker table tr td span.active:hover:active:focus,.datepicker table tr td span.active:hover:active:hover{color:#fff;background-color:#dc6900}.datepicker table tr td,.datepicker table tr th{text-align:center}.ui-select-has-border,.ui-select-no-border{display:inline-block;cursor:pointer}.search-container.ui-select-search-hidden{display:none}.ui-select-no-border .select2-container-active .select2-choice,.ui-select-no-border .select2-container-active .select2-choices{border:1px solid rgba(0,0,0,.15)}.ui-select-no-border .select2-results .select2-highlighted{background:#e0301e}.ui-select-no-border .select2-container,.ui-select-no-border .select2-results,.ui-select-no-border .select2-results li{outline:0}.ui-select-no-border .select2-container-active .select2-choice,.ui-select-no-border .select2-container-active .select2-choices,.ui-select-no-border .select2-drop,.ui-select-no-border .select2-dropdown-open .select2-choice{border-radius:0;box-shadow:none;-webkit-box-shadow:none}.ui-select-no-border .select2-drop-active{border:1px solid rgba(0,0,0,.15)}.ui-select-no-border .select2-container .select2-choice .select2-arrow{margin-right:8px}.ui-select-no-border .select2-container .select2-choice .select2-arrow,.ui-select-no-border .select2-dropdown-open .select2-choice{border-left:none;background:0 0;background-image:none}.ui-select-no-border .select2-container .select2-choice .select2-arrow b{background:url(/app-resources/images/vat/down.png) no-repeat scroll right center transparent}.ui-select-no-border .select2-container .select2-choice{border:none;background-image:none;background:0 0}.ui-select-has-border .select2-drop-active{border:1px solid #adb4bd;border-top:1px solid #adb4bd}.ui-select-has-border .select2-dropdown-open .select2-choice{box-shadow:none;background-color:none}.ui-select-has-border .select2-container-active .select2-choices{border:none}.ui-select-has-border .select2-results .select2-highlighted{background:#e0301e}.ui-select-has-border .select2-container-active .select2-choice,.ui-select-has-border .select2-container-active .select2-choices{border:1px solid #aaa}.ui-select-has-border .select2-container,.ui-select-has-border .select2-results,.ui-select-has-border .select2-results li{outline:0}.ui-select-has-border .select2-container .select2-choice .select2-arrow{border-left:none;background:0 0;background-image:none}.ui-select-has-border .select2-container .select2-choice .select2-arrow b{margin-top:2px}.ui-select-has-border .select2-container .select2-choice,.ui-select-has-border .select2-container-active .select2-choice{background-image:none;background:0 0;outline:0;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.dx-checkbox-checked .dx-checkbox-icon{color:#e0301e}.dx-checkbox-indeterminate .dx-checkbox-icon:before{background-color:#e0301e}.dx-texteditor.dx-state-hover{border-color:rgba(239,213,189,.5)}.dx-texteditor.dx-state-active,.dx-texteditor.dx-state-focused{border-color:rgba(239,213,189,.5)}.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-checkbox-icon,.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-radiobutton-icon:before{border:1px solid rgba(239,213,189,.5)}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused.dx-list-item-selected{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-list-slide-item-content{background-color:#dc6900}.dx-list-item.dx-list-item-ghost-reordering.dx-state-focused.dx-state-hover{border-top:1px solid rgba(239,213,189,.5);border-bottom:1px solid rgba(239,213,189,.5)}.dx-list-slide-menu-button-menu{background-color:#dc6900}.dx-checkbox.dx-state-hover .dx-checkbox-icon{border:1px solid rgba(239,213,189,.5)}.dx-checkbox.dx-state-focused .dx-checkbox-icon{border:1px solid rgba(239,213,189,.5)}.dx-treeview .dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-focused>.dx-checkbox .dx-checkbox-icon{border:1px solid rgba(239,213,189,1)}
\ No newline at end of file \ No newline at end of file
a{color:#404041}a:active,a:checked,a:hover,a:visited{color:#602320}.badge{background-color:#968c6d}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ef9800}.align-right{float:right;display:inline-block;margin-right:15px}.alert-info{background-image:none;background-repeat:repeat-x;border-color:#c7c8ca;color:#404041;background-color:#f5f4f0;border-color:#c7c8ca}.alert-warning{background-image:none;background-repeat:repeat-x;border-color:#f7cbc7;color:#404041;background-color:#fae2bf;border-color:#f7cbc7}.alert-danger{background-image:none;background-repeat:repeat-x;border-color:#e0301e;color:#fff;background-color:#e0301e;border-color:#e0301e}.cursorpointer{cursor:pointer}.link-no-underline,.link-no-underline:active,.link-no-underline:hover{text-decoration:none}.btn-customer{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:5px 12px;line-height:1.5;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn-customer-group-lg>.btn-customer,.btn-customer-lg{padding:6px 12px;font-size:20px;line-height:1.33;border-radius:6px}.btn-customer.active:focus,.btn-customer:active:focus,.btn-customer:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn-customer.active,.btn-customer:active{outline:0;background-image:none;background-color:#bed1e1}.btn-customer.disabled,.btn-customer[disabled],.form-control-customer{display:block;width:100%;height:31px;padding:5px 12px;font-size:20px;line-height:1.5;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control.select-fix{width:auto;display:inline-block;font-size:14px;margin-right:15px}.btn-fix.disabled,.btn-fix[disabled]{display:inline-block;font-size:14px;width:auto}.form-control-customer:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control-customer[disabled],.form-control-customer[readonly],fieldset[disabled] .form-control-customer{cursor:not-allowed;background-color:#f2f2f2;opacity:1}textarea.form-control-customer{height:auto}span.form-control-customer{border:none;box-shadow:none}.progress-bar{background-color:#eb8c00}body.login-body{background:#999 url(/app-resources/images/login_pic.jpg) no-repeat;color:#333;overflow-y:auto}.login{display:block;margin-top:108px;margin-left:120px;width:648px;float:right;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.tilte{clear:both;margin-left:50px;width:227px;height:114px;font-family:'Papyrus Bold',Papyrus;font-weight:700;font-style:normal;font-size:72px;color:#a32020}.tilte .text{position:absolute}.background-frame{background-repeat:no-repeat;background-image:url(/app-resources/images/form_bg.png);float:left;display:block;width:643px;height:358px;opacity:.7;z-index:-99}.loginframe{position:relative;display:block;width:410px;height:158px;float:left;margin-top:-248px;z-index:10;padding-left:120px}.frame{display:none}.show{display:block!important}.form-wrapper{width:400px;font-weight:400;font-style:normal;font-size:13px;color:#333;text-align:center;line-height:normal;margin-top:-45px}.form-wrapper button,.form-wrapper input{opacity:1}.loginfull{width:270px;height:150px;float:left;color:#fff;clear:both!important}.button-wrapper{display:block;float:left;margin-left:40px;height:150px}.login-button{background-color:#eb8c00;color:#fff;width:100px;height:100px}.login-button:hover{color:#fff;background-color:#dc6900}.login-button:disabled{background-color:#968c6d;color:#fff;width:100px;height:100px}.loginfull input::-webkit-input-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input:-moz-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input::-moz-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input:-ms-input-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull .form-control-customer{background-color:#404041;color:#fff;font-weight:400;font-size:18px;font-style:normal;height:28px;border-radius:10px}.loginfull .form-control-customer.has-error{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.loginfull .successMsg{float:left;text-decoration:none;color:#a94442;font-size:28px;font-weight:200;margin-left:56px}.loginfull .form-forget-password{float:left;text-decoration:none;color:#dc6900;font-size:18px;font-weight:200;margin-left:6px}.has-error.label{color:#a94442;font-weight:700}.loadingImg{margin-top:135px;z-index:-9;margin-left:310px}.form-group{margin-bottom:20px}form.active{display:block!important;height:auto}form.email_sent .form-group,form.forgot_fivetimes .form-group,form.forgot_password .form-group,form.login .form-group,form.loginfull .form-group{margin:20px 0 20px 0}form.userchoose .form-group{margin:0 0 10px 0}.login .list-group-item-heading{margin:5px 0 5px 0}.navbar-brand{float:left;padding:15.5px 15px;font-size:32px;line-height:19px;height:50px;font-family:'Papyrus Bold',Papyrus;font-weight:700;font-style:normal;color:#a32020}.navbar-default .navbar-brand{color:#a32020;margin-left:37px;margin-right:37px}.sidebar-closed .navbar-default .navbar-brand{display:none}.navbar-brand:focus,.navbar-brand:hover{color:#a32020;text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-fixed-top .navbar-collapse{max-height:440px}.panelfix{margin-bottom:0;border-radius:0}.navbarfix{border-radius:0}.nav-split{background-color:#a32020;display:inline-block;height:42px;width:2px;margin-top:2px;float:left;margin-bottom:0;margin-right:10px}.nav-company-name{font-size:25px;margin-bottom:0;margin-top:10px;font-weight:100}.nav-company{display:none}@media(min-width:768px){.nav-company{display:block}}.navbar-customer{margin-top:0;width:46px;height:50px;margin-bottom:0;margin-right:10px;padding-left:11px;padding-right:11px;border-radius:0}.row-fix-width{width:960px}.progress-table{text-align:center}.progress-table>tbody>tr>td:first-child{text-align:left}.progress-table>tbody>tr>td{border-top:0}.progress-table>tbody>tr>td:after{border-top:0}.progress-title{text-shadow:none}.btn-city{width:130px;text-align:left}.btn-default.step1{background-color:#e5e2db}.btn-default.step2{background-color:#fae2bf}.btn-default.step3{background-color:#f7cbc7}.btn-default.step4{background-color:#f6d4da}.btn-default.step5{background-color:#d7c8c7}.btn-default.step6{background-color:#e5e2db}.btn-default.review{color:#fff;background-color:#a32020}.btn-default.signoff{color:#fff;background-color:#dc6900}.td-line:after{content:"";position:absolute;margin-top:-16px;width:150px;border-bottom:2px dashed #ccc}.tr-hr:after{content:"";position:absolute;margin-top:23px;margin-left:-720px;width:680px;border-bottom:2px dashed #e8c7c7}.btn-customer.disabled,.btn-customer[disabled],fieldset[disabled] .btn-customer{opacity:.5}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:15px;border-bottom-right-radius:15px}.bootstrap-switch-gap{margin-right:10px}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{background:#a32020}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover{background:#602320}.bootstrap-switch.bootstrap-switch-focused{border-color:#dc6900}.nav-tabs>li .close{margin:-2px 0 0 10px;font-size:18px}.marginBottom{padding-top:3px;margin-bottom:1px!important;margin-left:-15px}.operationDiv{padding:5px 10px 5px 5px}.operationDivWrapper{margin-top:-1px}.firstTab{margin-left:15px}.leftMenu{height:70%;background-color:#e6e6e6;border-right:2px solid #bfbfbf}.close-tab-button{margin-top:-41px;margin-right:6px;font-size:18px;margin:-41px 6px 0 0!important}.btn-position-fix{margin-top:25px}.removeBackgroud>li>a:focus{background-color:transparent;color:#000}.notice-center{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-moz-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-ms-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-moz-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-o-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}.uil-flickr-css>div{width:100px;height:100px;border-radius:50px;position:absolute;top:50px}.uil-flickr-css>div:nth-of-type(1){left:0;background:#e35839;z-index:5;-ms-animation:uil-flickr-anim1 1s linear infinite;-moz-animation:uil-flickr-anim1 1s linear infinite;-webkit-animation:uil-flickr-anim1 1s linear infinite;-o-animation:uil-flickr-anim1 1s linear infinite;animation:uil-flickr-anim1 1s linear infinite}.uil-flickr-css>div:nth-of-type(2){left:100px;background:#d28d4f;-ms-animation:uil-flickr-anim2 1s linear infinite;-moz-animation:uil-flickr-anim2 1s linear infinite;-webkit-animation:uil-flickr-anim2 1s linear infinite;-o-animation:uil-flickr-anim2 1s linear infinite;animation:uil-flickr-anim2 1s linear infinite}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{color:#fff;background-color:#eb8c00}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#eb8c00}.datepicker table tr td span.active.active.focus,.datepicker table tr td span.active.active:focus,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active.disabled.active.focus,.datepicker table tr td span.active.disabled.active:focus,.datepicker table tr td span.active.disabled.active:hover,.datepicker table tr td span.active.disabled:active.focus,.datepicker table tr td span.active.disabled:active:focus,.datepicker table tr td span.active.disabled:active:hover,.datepicker table tr td span.active.disabled:hover.active.focus,.datepicker table tr td span.active.disabled:hover.active:focus,.datepicker table tr td span.active.disabled:hover.active:hover,.datepicker table tr td span.active.disabled:hover:active.focus,.datepicker table tr td span.active.disabled:hover:active:focus,.datepicker table tr td span.active.disabled:hover:active:hover,.datepicker table tr td span.active:active.focus,.datepicker table tr td span.active:active:focus,.datepicker table tr td span.active:active:hover,.datepicker table tr td span.active:hover.active.focus,.datepicker table tr td span.active:hover.active:focus,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td span.active:hover:active.focus,.datepicker table tr td span.active:hover:active:focus,.datepicker table tr td span.active:hover:active:hover{color:#fff;background-color:#dc6900}.datepicker table tr td,.datepicker table tr th{text-align:center}.ui-select-has-border,.ui-select-no-border{display:inline-block;cursor:pointer}.search-container.ui-select-search-hidden{display:none}.ui-select-no-border .select2-container-active .select2-choice,.ui-select-no-border .select2-container-active .select2-choices{border:1px solid rgba(0,0,0,.15)}.ui-select-no-border .select2-results .select2-highlighted{background:#e0301e}.ui-select-no-border .select2-container,.ui-select-no-border .select2-results,.ui-select-no-border .select2-results li{outline:0}.ui-select-no-border .select2-container-active .select2-choice,.ui-select-no-border .select2-container-active .select2-choices,.ui-select-no-border .select2-drop,.ui-select-no-border .select2-dropdown-open .select2-choice{border-radius:0;box-shadow:none;-webkit-box-shadow:none}.ui-select-no-border .select2-drop-active{border:1px solid rgba(0,0,0,.15)}.ui-select-no-border .select2-container .select2-choice .select2-arrow{margin-right:8px}.ui-select-no-border .select2-container .select2-choice .select2-arrow,.ui-select-no-border .select2-dropdown-open .select2-choice{border-left:none;background:0 0;background-image:none}.ui-select-no-border .select2-container .select2-choice .select2-arrow b{background:url(/app-resources/images/vat/down.png) no-repeat scroll right center transparent}.ui-select-no-border .select2-container .select2-choice{border:none;background-image:none;background:0 0}.ui-select-has-border .select2-drop-active{border:1px solid #adb4bd;border-top:1px solid #adb4bd}.ui-select-has-border .select2-dropdown-open .select2-choice{box-shadow:none;background-color:none}.ui-select-has-border .select2-container-active .select2-choices{border:none}.ui-select-has-border .select2-results .select2-highlighted{background:#e0301e}.ui-select-has-border .select2-container-active .select2-choice,.ui-select-has-border .select2-container-active .select2-choices{border:1px solid #aaa}.ui-select-has-border .select2-container,.ui-select-has-border .select2-results,.ui-select-has-border .select2-results li{outline:0}.ui-select-has-border .select2-container .select2-choice .select2-arrow{border-left:none;background:0 0;background-image:none}.ui-select-has-border .select2-container .select2-choice .select2-arrow b{margin-top:2px}.ui-select-has-border .select2-container .select2-choice,.ui-select-has-border .select2-container-active .select2-choice{background-image:none;background:0 0;outline:0;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.dx-checkbox-checked .dx-checkbox-icon{color:#e0301e}.dx-checkbox-indeterminate .dx-checkbox-icon:before{background-color:#e0301e}.dx-texteditor.dx-state-hover{border-color:rgba(239,213,189,.5)}.dx-texteditor.dx-state-active,.dx-texteditor.dx-state-focused{border-color:rgba(239,213,189,.5)}.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-checkbox-icon,.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-radiobutton-icon:before{border:1px solid rgba(239,213,189,.5)}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused.dx-list-item-selected{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-list-slide-item-content{background-color:#dc6900}.dx-list-item.dx-list-item-ghost-reordering.dx-state-focused.dx-state-hover{border-top:1px solid rgba(239,213,189,.5);border-bottom:1px solid rgba(239,213,189,.5)}.dx-list-slide-menu-button-menu{background-color:#dc6900}.dx-checkbox.dx-state-hover .dx-checkbox-icon{border:1px solid rgba(239,213,189,.5)}.dx-checkbox.dx-state-focused .dx-checkbox-icon{border:1px solid rgba(239,213,189,.5)}.dx-treeview .dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-focused>.dx-checkbox .dx-checkbox-icon{border:1px solid rgba(239,213,189,1)}.wrapper{overflow:hidden}.page-wrapper{position:static;overflow:hidden}.tree-i{padding:0 5px;vertical-align:middle;outline-color:#fff}.navbar-custom{width:250px;position:static;border:none;float:left}.navbar-custom-top{top:0;height:55px;position:fixed;width:100%;border:none;background-color:#602320;z-index:1000}.nav-container{position:relative;width:100%;height:100%;font-size:17px;font-family:"Microsoft YaHei Bold","Microsoft YaHei Regular","Microsoft YaHei";color:#fff;padding-left:30px}.nav-element-left{font-size:15px;position:relative;float:left;height:55px;line-height:55px;width:155px;text-align:center}.nav-element-right{position:relative;float:right;height:55px;line-height:55px;margin-right:20px;text-align:center}.nav-element-right a{text-decoration:none;display:inline-block;height:50px;width:50px}.nav-element-right a:hover i{color:#e0301e}.nav-element-left a{text-decoration:none;display:inline-block;height:100%;width:100%}.nav-element-left a:hover{color:#fff;background-color:#833836}.nav-element-left a.active{background-color:#e0301e;color:#fff}.nav-sub-container{height:55px;background-color:#fff;box-shadow:2px 2px 4px #946d6d;display:none}.nav-sub-container:after{border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #fff;content:" ";position:relative;top:-28px;height:0;width:0}.nav-sub-container.first{padding-left:136px}.nav-sub-container.second{padding-left:550px}.nav-sub-container.first:after{left:-740px}.nav-sub-container.second:after{left:-160px}.nav-sub-container .element-left{font-size:15px;position:relative;float:left;height:55px;line-height:55px;width:140px;text-align:center}.nav-sub-container .element-right{position:relative;float:right;height:55px;line-height:55px;margin-right:20px;text-align:center}.nav-sub-container .element-left a{text-decoration:none;display:inline-block;height:100%;width:100%}.nav-sub-container .element-left a:hover{color:#e0301e}.nav-sub-container .element-left a.active{color:#e0301e}.nav-icon-color{color:#fff}.sidebar{width:250px!important}.nav-left{width:250px;height:70px}.nav>li>a.active{text-decoration:none;background-color:rgba(238,238,238,.38)!important}.nav>ul>li:focus,.nav>ul>li:hover{background-color:rgba(238,238,238,.38)!important}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:rgba(238,238,238,.38)!important}.project{float:left;margin:18px 10px}.project img{display:none}.project-info .progress-bar{background-color:#ffca00}.project-info{float:left;margin:15px 5px 0 0;color:#fff;font-size:13px;width:100px;margin-left:30px}.project-info .project-percentage{float:right;font-family:Arial}.project-info>div{margin-top:3px;margin-left:8px;font-family:'Arial Bold',Arial;font-weight:700;font-style:normal;font-size:20px;color:#fff}.custom-progress{background-color:#fff;height:5px;border-radius:0;box-shadow:none}.custom-progress .progress-bar{box-shadow:none}.custom-arrow{float:right;font-size:1.5em;line-height:55px;vertical-align:middle}.project-info .progress{margin-bottom:0}.nav-left .navbar-custom-button{border:none;float:right;margin:0 -2px 0 0;padding:3px 5px;display:block;color:#fff}.nav-left .navbar-custom-button:focus,.nav-left .navbar-custom-button:hover{opacity:.45}#sidebar-area>.nav>li>a{height:55px;padding:10px 15px 0 15px;color:#fff}.nav>li>a{line-height:55px;vertical-align:middle;padding:0 20px}.nav .menu-number{font-family:'Arial Bold',Arial;font-weight:700;font-style:normal;font-size:16px;color:#fff;overflow:hidden;float:left}.nav-second-level>li>a{height:55px;padding:0 15px 20px 15px;line-height:55px;color:#fff}.nav-second-level>li.active>a>i{color:#fff}.nav-second-level>li.active>a>span{color:#fff}.second-menu-title{margin-left:15px}.side-menu-title{margin-left:25px}.side-menu-title span{padding-left:10px}body.sidebar-closed .sidebar{width:70px!important}body.sidebar-closed .nav-left{width:70px!important}body.sidebar-closed .navbar-custom{width:70px}body.sidebar-closed .project{float:left;margin:18px 17px 5px 17px}body.sidebar-closed .number-toggler{text-align:center;line-height:60px;vertical-align:middle;float:none;margin:0;font-family:'Arial Bold',Arial;font-weight:700;font-style:normal;font-size:12px}body.sidebar-closed #sidebar-area>.nav>li>a{padding:0}body.sidebar-closed .nav-second-level>li>a{height:55px;padding:0;text-align:center;line-height:55px;color:#fff}body.sidebar-closed .nav-second-level>li{border-bottom:none;border-right:none}body.sidebar-closed .custom-arrow,body.sidebar-closed .project-toggler,body.sidebar-closed .second-menu-title,body.sidebar-closed .side-menu-title{display:none}.clear{clear:both}.page-nav-header{height:70px;background-color:#fff;border-bottom:1px solid #d4d4d4}.page-nav-header .vertical-align-middle{line-height:70px;height:70px;overflow:hidden;margin-left:42px}.page-nav-header .vertical-align-middle .page-nav-header-left{font-size:18px;float:left;padding:0 45px 0 0;border-right-style:solid;border-width:1px;border-color:#dadada}.login-user .profile-image{width:60px;border-radius:60px;height:60px;line-height:50px;vertical-align:middle;text-align:center;margin:0 auto;border:1px solid #fff;margin-top:16px}.login-user .profile-image i{font-size:35px}.login-user-below .ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#fff}.profile-name{overflow:hidden;text-align:center;margin-top:6px}.profile-name i{vertical-align:middle}.profile-name :hover{cursor:pointer}.sidebar-closed .profile-image{width:40px;border-radius:40px;height:40px;line-height:35px;vertical-align:middle;text-align:center;margin:0 auto;border:1px solid #fff;margin-top:16px}.sidebar-closed .login-user .profile-image i{font-size:22px}.busy-indicator-container{width:100%;height:100%;background-color:rgba(0,0,0,.6);position:fixed;top:0;left:0;bottom:0;right:0;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;transition:all .3s ease;z-index:9000;opacity:.6}.busy-indicator{margin:17% 45%}input[type=text]::-ms-clear{display:none}.nav-element-right .user-info{outline:0}.nav-element-right .user-menu{line-height:40px;border:1px solid #d4d4d4;background-color:#fff;display:none;width:100px;position:absolute;top:55px;left:0;color:#333;border-radius:5px 5px;-webkit-border-radius:5px 5px;-moz-border-radius:5px 5px;box-shadow:4px 4px 4px #7b7a7a;-webkit-box-shadow:4px 4px 4px #7b7a7a;-moz-box-shadow:4px 4px 4px #7b7a7a}.nav-element-right .user-menu p{text-align:center;height:30px;line-height:30px;margin:0;font-size:15px}.nav-element-right .user-menu p:hover{background-color:#efe1df}.nav-element-right .user-menu a{text-decoration:none;width:100%;height:30px}.tree-view{padding-top:20px;padding-left:15px;border-right:1px solid #e7e7e7;width:257px;min-height:720px}.expander-container{display:inline-block;margin-left:-22px}.angular-ui-tree-handle input[type=checkbox]{margin-right:4px;vertical-align:top}.tree-expander{vertical-align:top;cursor:pointer}.tree-menu-item{display:inline-block}.expander{float:left;line-height:44px;margin-left:-10px}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:local('Material Icons'),local('MaterialIcons-Regular'),url(/Content/icons/MaterialIcons-Regular.woff) format('woff'),url(/Content/icons/MaterialIcons-Regular.woff2) format('woff2'),url(/Content/icons/MaterialIcons-Regular.ttf) format('truetype')}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga'}.button-icons{vertical-align:middle;margin-right:10px;font-size:18px}.primary-toolbar-icons{vertical-align:middle;margin-right:10px;font-size:18px;color:#dc6900}.toolbar-icons{vertical-align:middle;margin-right:10px;font-size:18px}.menu-icons{vertical-align:middle;font-size:18px}.abn-tree-animate-enter,li.abn-tree-row.ng-enter{transition:.2s linear all;position:relative;display:block;opacity:0;max-height:0}.abn-tree-animate-enter.abn-tree-animate-enter-active,li.abn-tree-row.ng-enter-active{opacity:1;max-height:30px}.abn-tree-animate-leave,li.abn-tree-row.ng-leave{transition:.2s linear all;position:relative;display:block;height:30px;max-height:30px;opacity:1}.abn-tree-animate-leave.abn-tree-animate-leave-active,li.abn-tree-row.ng-leave-active{height:0;max-height:0;opacity:0}ul.abn-tree li.abn-tree-row .disabled-item{color:#888}ul.abn-tree li.abn-tree-row{padding:5px;margin:0}ul.abn-tree li.abn-tree-row a{font-weight:400;font-style:normal;font-size:14px;color:#333!important;border-radius:4px;height:28px;line-height:28px}ul.abn-tree li.abn-tree-row a i{vertical-align:middle}ul.abn-tree i.indented{padding:2px}.abn-tree{cursor:pointer}ul.nav.abn-tree .level-1 .indented{position:relative;left:0}ul.nav.abn-tree .level-2 .indented{position:relative;left:20px}ul.nav.abn-tree .level-3 .indented{position:relative;left:40px}ul.nav.abn-tree .level-4 .indented{position:relative;left:60px}ul.nav.abn-tree .level-5 .indented{position:relative;left:80px}ul.nav.abn-tree .level-6 .indented{position:relative;left:100px}ul.nav.nav-list.abn-tree .level-7 .indented{position:relative;left:120px}ul.nav.nav-list.abn-tree .level-8 .indented{position:relative;left:140px}ul.nav.nav-list.abn-tree .level-9 .indented{position:relative;left:160px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover,.nav-pills>li.active>a>i,.nav-pills>li.active>a>i:focus,.nav-pills>li.active>a>i:hover,.nav-pills>li.active>a>span,.nav-pills>li.active>a>span:focus,.nav-pills>li.active>a>span:hover{color:#fff!important;background-color:#dc6900!important}.content-padding{padding-left:30px;padding-top:10px;padding-right:10px;padding-bottom:10px}.popover{max-width:none}.header-bar{padding-left:30px;padding-top:20px}.header-info{display:inline-block;padding-top:10px}.header-split{margin-left:20px;margin-right:20px;font-weight:100;font-family:aria;color:#a39f99}.number-cell{font-family:Arial;text-align:right}.check-cell{text-align:center}.number-header-cell{text-align:right;padding-left:8px}.ui-grid-header-cell-row{background-color:#727671;color:#fff;font-weight:400}.ui-grid-cell-contents{padding:12px;line-height:1.42857143;font-size:14px}.ui-grid-cell{border-bottom:1px solid #d4d4d4;cursor:pointer}.ui-grid-row.ui-grid-row-selected>[ui-grid-row]>.ui-grid-cell{background-color:#fed5a9}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-cell:last-child{border-right-color:#d4d4d4}.ui-grid-row .ui-grid-cell.ui-grid-row-header-cell{background-color:none}.ui-grid-invisible{display:none} a{color:#404041}a:active,a:checked,a:hover,a:visited{color:#602320}.badge{background-color:#968c6d}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ef9800}.align-right{float:right;display:inline-block;margin-right:15px}.alert-info{background-image:none;background-repeat:repeat-x;border-color:#c7c8ca;color:#404041;background-color:#f5f4f0;border-color:#c7c8ca}.alert-warning{background-image:none;background-repeat:repeat-x;border-color:#f7cbc7;color:#404041;background-color:#fae2bf;border-color:#f7cbc7}.alert-danger{background-image:none;background-repeat:repeat-x;border-color:#e0301e;color:#fff;background-color:#e0301e;border-color:#e0301e}.cursorpointer{cursor:pointer}.link-no-underline,.link-no-underline:active,.link-no-underline:hover{text-decoration:none}.btn-customer{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:5px 12px;line-height:1.5;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn-customer-group-lg>.btn-customer,.btn-customer-lg{padding:6px 12px;font-size:20px;line-height:1.33;border-radius:6px}.btn-customer.active:focus,.btn-customer:active:focus,.btn-customer:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn-customer.active,.btn-customer:active{outline:0;background-image:none;background-color:#bed1e1}.btn-customer.disabled,.btn-customer[disabled],.form-control-customer{display:block;width:100%;height:31px;padding:5px 12px;font-size:20px;line-height:1.5;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control.select-fix{width:auto;display:inline-block;font-size:14px;margin-right:15px}.btn-fix.disabled,.btn-fix[disabled]{display:inline-block;font-size:14px;width:auto}.form-control-customer:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control-customer[disabled],.form-control-customer[readonly],fieldset[disabled] .form-control-customer{cursor:not-allowed;background-color:#f2f2f2;opacity:1}textarea.form-control-customer{height:auto}span.form-control-customer{border:none;box-shadow:none}.progress-bar{background-color:#eb8c00}body.login-body{background:#999 url(/app-resources/images/login_pic.jpg) no-repeat;color:#333;overflow-y:auto}.login{display:block;margin-top:108px;margin-left:120px;width:648px;float:right;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.tilte{clear:both;margin-left:50px;width:227px;height:114px;font-family:'Papyrus Bold',Papyrus;font-weight:700;font-style:normal;font-size:72px;color:#a32020}.tilte .text{position:absolute}.background-frame{background-repeat:no-repeat;background-image:url(/app-resources/images/form_bg.png);float:left;display:block;width:643px;height:358px;opacity:.7;z-index:-99}.loginframe{position:relative;display:block;width:410px;height:158px;float:left;margin-top:-248px;z-index:10;padding-left:120px}.frame{display:none}.show{display:block!important}.form-wrapper{width:400px;font-weight:400;font-style:normal;font-size:13px;color:#333;text-align:center;line-height:normal;margin-top:-45px}.form-wrapper button,.form-wrapper input{opacity:1}.loginfull{width:270px;height:150px;float:left;color:#fff;clear:both!important}.button-wrapper{display:block;float:left;margin-left:40px;height:150px}.login-button{background-color:#eb8c00;color:#fff;width:100px;height:100px}.login-button:hover{color:#fff;background-color:#dc6900}.login-button:disabled{background-color:#968c6d;color:#fff;width:100px;height:100px}.loginfull input::-webkit-input-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input:-moz-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input::-moz-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull input:-ms-input-placeholder{font-weight:400;font-size:18px;font-style:normal;color:#fff!important;font-family:"Helvetica Neue",Helvetica,Microsoft Yahei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif}.loginfull .form-control-customer{background-color:#404041;color:#fff;font-weight:400;font-size:18px;font-style:normal;height:28px;border-radius:10px}.loginfull .form-control-customer.has-error{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.loginfull .successMsg{float:left;text-decoration:none;color:#a94442;font-size:28px;font-weight:200;margin-left:56px}.loginfull .form-forget-password{float:left;text-decoration:none;color:#dc6900;font-size:18px;font-weight:200;margin-left:6px}.has-error.label{color:#a94442;font-weight:700}.loadingImg{margin-top:135px;z-index:-9;margin-left:310px}.form-group{margin-bottom:20px}form.active{display:block!important;height:auto}form.email_sent .form-group,form.forgot_fivetimes .form-group,form.forgot_password .form-group,form.login .form-group,form.loginfull .form-group{margin:20px 0 20px 0}form.userchoose .form-group{margin:0 0 10px 0}.login .list-group-item-heading{margin:5px 0 5px 0}.navbar-brand{float:left;padding:15.5px 15px;font-size:32px;line-height:19px;height:50px;font-family:'Papyrus Bold',Papyrus;font-weight:700;font-style:normal;color:#a32020}.navbar-default .navbar-brand{color:#a32020;margin-left:37px;margin-right:37px}.sidebar-closed .navbar-default .navbar-brand{display:none}.navbar-brand:focus,.navbar-brand:hover{color:#a32020;text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-fixed-top .navbar-collapse{max-height:440px}.panelfix{margin-bottom:0;border-radius:0}.navbarfix{border-radius:0}.nav-split{background-color:#a32020;display:inline-block;height:42px;width:2px;margin-top:2px;float:left;margin-bottom:0;margin-right:10px}.nav-company-name{font-size:25px;margin-bottom:0;margin-top:10px;font-weight:100}.nav-company{display:none}@media(min-width:768px){.nav-company{display:block}}.navbar-customer{margin-top:0;width:46px;height:50px;margin-bottom:0;margin-right:10px;padding-left:11px;padding-right:11px;border-radius:0}.row-fix-width{width:960px}.progress-table{text-align:center}.progress-table>tbody>tr>td:first-child{text-align:left}.progress-table>tbody>tr>td{border-top:0}.progress-table>tbody>tr>td:after{border-top:0}.progress-title{text-shadow:none}.btn-city{width:130px;text-align:left}.btn-default.step1{background-color:#e5e2db}.btn-default.step2{background-color:#fae2bf}.btn-default.step3{background-color:#f7cbc7}.btn-default.step4{background-color:#f6d4da}.btn-default.step5{background-color:#d7c8c7}.btn-default.step6{background-color:#e5e2db}.btn-default.review{color:#fff;background-color:#a32020}.btn-default.signoff{color:#fff;background-color:#dc6900}.td-line:after{content:"";position:absolute;margin-top:-16px;width:150px;border-bottom:2px dashed #ccc}.tr-hr:after{content:"";position:absolute;margin-top:23px;margin-left:-720px;width:680px;border-bottom:2px dashed #e8c7c7}.btn-customer.disabled,.btn-customer[disabled],fieldset[disabled] .btn-customer{opacity:.5}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:15px;border-bottom-right-radius:15px}.bootstrap-switch-gap{margin-right:10px}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{background:#a32020}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover{background:#602320}.bootstrap-switch.bootstrap-switch-focused{border-color:#dc6900}.nav-tabs>li .close{margin:-2px 0 0 10px;font-size:18px}.marginBottom{padding-top:3px;margin-bottom:1px!important;margin-left:-15px}.operationDiv{padding:5px 10px 5px 5px}.operationDivWrapper{margin-top:-1px}.firstTab{margin-left:15px}.leftMenu{height:70%;background-color:#e6e6e6;border-right:2px solid #bfbfbf}.close-tab-button{margin-top:-41px;margin-right:6px;font-size:18px;margin:-41px 6px 0 0!important}.btn-position-fix{margin-top:25px}.removeBackgroud>li>a:focus{background-color:transparent;color:#000}.notice-center{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-moz-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-ms-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-moz-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-o-keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@keyframes uil-flickr-anim1{0%{left:0}50%{left:100px}100%{left:0}}@-webkit-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-webkit-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-moz-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-ms-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-moz-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-webkit-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@-o-keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}@keyframes uil-flickr-anim2{0%{left:100px;z-index:1}49%{z-index:1}50%{left:0;z-index:10}100%{left:100px;z-index:10}}.uil-flickr-css{background:0 0;position:relative;width:200px;height:200px}.uil-flickr-css>div{width:100px;height:100px;border-radius:50px;position:absolute;top:50px}.uil-flickr-css>div:nth-of-type(1){left:0;background:#e35839;z-index:5;-ms-animation:uil-flickr-anim1 1s linear infinite;-moz-animation:uil-flickr-anim1 1s linear infinite;-webkit-animation:uil-flickr-anim1 1s linear infinite;-o-animation:uil-flickr-anim1 1s linear infinite;animation:uil-flickr-anim1 1s linear infinite}.uil-flickr-css>div:nth-of-type(2){left:100px;background:#d28d4f;-ms-animation:uil-flickr-anim2 1s linear infinite;-moz-animation:uil-flickr-anim2 1s linear infinite;-webkit-animation:uil-flickr-anim2 1s linear infinite;-o-animation:uil-flickr-anim2 1s linear infinite;animation:uil-flickr-anim2 1s linear infinite}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{color:#fff;background-color:#eb8c00}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#eb8c00}.datepicker table tr td span.active.active.focus,.datepicker table tr td span.active.active:focus,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active.disabled.active.focus,.datepicker table tr td span.active.disabled.active:focus,.datepicker table tr td span.active.disabled.active:hover,.datepicker table tr td span.active.disabled:active.focus,.datepicker table tr td span.active.disabled:active:focus,.datepicker table tr td span.active.disabled:active:hover,.datepicker table tr td span.active.disabled:hover.active.focus,.datepicker table tr td span.active.disabled:hover.active:focus,.datepicker table tr td span.active.disabled:hover.active:hover,.datepicker table tr td span.active.disabled:hover:active.focus,.datepicker table tr td span.active.disabled:hover:active:focus,.datepicker table tr td span.active.disabled:hover:active:hover,.datepicker table tr td span.active:active.focus,.datepicker table tr td span.active:active:focus,.datepicker table tr td span.active:active:hover,.datepicker table tr td span.active:hover.active.focus,.datepicker table tr td span.active:hover.active:focus,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td span.active:hover:active.focus,.datepicker table tr td span.active:hover:active:focus,.datepicker table tr td span.active:hover:active:hover{color:#fff;background-color:#dc6900}.datepicker table tr td,.datepicker table tr th{text-align:center}.ui-select-has-border,.ui-select-no-border{display:inline-block;cursor:pointer}.search-container.ui-select-search-hidden{display:none}.ui-select-no-border .select2-container-active .select2-choice,.ui-select-no-border .select2-container-active .select2-choices{border:1px solid rgba(0,0,0,.15)}.ui-select-no-border .select2-results .select2-highlighted{background:#e0301e}.ui-select-no-border .select2-container,.ui-select-no-border .select2-results,.ui-select-no-border .select2-results li{outline:0}.ui-select-no-border .select2-container-active .select2-choice,.ui-select-no-border .select2-container-active .select2-choices,.ui-select-no-border .select2-drop,.ui-select-no-border .select2-dropdown-open .select2-choice{border-radius:0;box-shadow:none;-webkit-box-shadow:none}.ui-select-no-border .select2-drop-active{border:1px solid rgba(0,0,0,.15)}.ui-select-no-border .select2-container .select2-choice .select2-arrow{margin-right:8px}.ui-select-no-border .select2-container .select2-choice .select2-arrow,.ui-select-no-border .select2-dropdown-open .select2-choice{border-left:none;background:0 0;background-image:none}.ui-select-no-border .select2-container .select2-choice .select2-arrow b{background:url(/app-resources/images/vat/down.png) no-repeat scroll right center transparent}.ui-select-no-border .select2-container .select2-choice{border:none;background-image:none;background:0 0}.ui-select-has-border .select2-drop-active{border:1px solid #adb4bd;border-top:1px solid #adb4bd}.ui-select-has-border .select2-dropdown-open .select2-choice{box-shadow:none;background-color:none}.ui-select-has-border .select2-container-active .select2-choices{border:none}.ui-select-has-border .select2-results .select2-highlighted{background:#e0301e}.ui-select-has-border .select2-container-active .select2-choice,.ui-select-has-border .select2-container-active .select2-choices{border:1px solid #aaa}.ui-select-has-border .select2-container,.ui-select-has-border .select2-results,.ui-select-has-border .select2-results li{outline:0}.ui-select-has-border .select2-container .select2-choice .select2-arrow{border-left:none;background:0 0;background-image:none}.ui-select-has-border .select2-container .select2-choice .select2-arrow b{margin-top:2px}.ui-select-has-border .select2-container .select2-choice,.ui-select-has-border .select2-container-active .select2-choice{background-image:none;background:0 0;outline:0;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.dx-checkbox-checked .dx-checkbox-icon{color:#e0301e}.dx-checkbox-indeterminate .dx-checkbox-icon:before{background-color:#e0301e}.dx-texteditor.dx-state-hover{border-color:rgba(239,213,189,.5)}.dx-texteditor.dx-state-active,.dx-texteditor.dx-state-focused{border-color:rgba(239,213,189,.5)}.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-checkbox-icon,.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-radiobutton-icon:before{border:1px solid rgba(239,213,189,.5)}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused.dx-list-item-selected{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active{background-color:#dc6900}.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-list-slide-item-content{background-color:#dc6900}.dx-list-item.dx-list-item-ghost-reordering.dx-state-focused.dx-state-hover{border-top:1px solid rgba(239,213,189,.5);border-bottom:1px solid rgba(239,213,189,.5)}.dx-list-slide-menu-button-menu{background-color:#dc6900}.dx-checkbox.dx-state-hover .dx-checkbox-icon{border:1px solid rgba(239,213,189,.5)}.dx-checkbox.dx-state-focused .dx-checkbox-icon{border:1px solid rgba(239,213,189,.5)}.dx-treeview .dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-focused>.dx-checkbox .dx-checkbox-icon{border:1px solid rgba(239,213,189,1)}.wrapper{overflow:hidden}.page-wrapper{position:static;overflow:hidden}.tree-i{padding:0 5px;vertical-align:middle;outline-color:#fff}.navbar-custom{width:250px;position:static;border:none;float:left}.navbar-custom-top{top:0;height:55px;position:fixed;width:100%;border:none;background-color:#602320;z-index:1000}.nav-container{position:relative;width:100%;height:100%;font-size:17px;font-family:"Microsoft YaHei Bold","Microsoft YaHei Regular","Microsoft YaHei";color:#fff;padding-left:30px}.nav-element-left{font-size:15px;position:relative;float:left;height:55px;line-height:55px;width:155px;text-align:center}.nav-element-right{position:relative;float:right;height:55px;line-height:55px;margin-right:20px;text-align:center}.nav-element-right a{text-decoration:none;display:inline-block;height:50px;width:50px}.nav-element-right a:hover i{color:#e0301e}.nav-element-left a{text-decoration:none;display:inline-block;height:100%;width:100%}.nav-element-left a:hover{color:#fff;background-color:#833836}.nav-element-left a.active{background-color:#e0301e;color:#fff}.nav-sub-container{height:55px;background-color:#fff;box-shadow:2px 2px 4px #946d6d;display:none}.nav-sub-container:after{border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #fff;content:" ";position:relative;top:-28px;height:0;width:0}.nav-sub-container.first{padding-left:136px}.nav-sub-container.second{padding-left:550px}.nav-sub-container.first:after{left:-740px}.nav-sub-container.second:after{left:-160px}.nav-sub-container .element-left{font-size:15px;position:relative;float:left;height:55px;line-height:55px;width:140px;text-align:center}.nav-sub-container .element-right{position:relative;float:right;height:55px;line-height:55px;margin-right:20px;text-align:center}.nav-sub-container .element-left a{text-decoration:none;display:inline-block;height:100%;width:100%}.nav-sub-container .element-left a:hover{color:#e0301e}.nav-sub-container .element-left a.active{color:#e0301e}.nav-icon-color{color:#fff}.sidebar{width:250px!important}.nav-left{width:250px;height:70px}.nav>li>a.active{text-decoration:none;background-color:rgba(238,238,238,.38)!important}.nav>ul>li:focus,.nav>ul>li:hover{background-color:rgba(238,238,238,.38)!important}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:rgba(238,238,238,.38)!important}.project{float:left;margin:18px 10px}.project img{display:none}.project-info .progress-bar{background-color:#ffca00}.project-info{float:left;margin:15px 5px 0 0;color:#fff;font-size:13px;width:100px;margin-left:30px}.project-info .project-percentage{float:right;font-family:Arial}.project-info>div{margin-top:3px;margin-left:8px;font-family:'Arial Bold',Arial;font-weight:700;font-style:normal;font-size:20px;color:#fff}.custom-progress{background-color:#fff;height:5px;border-radius:0;box-shadow:none}.custom-progress .progress-bar{box-shadow:none}.custom-arrow{float:right;font-size:1.5em;line-height:55px;vertical-align:middle}.project-info .progress{margin-bottom:0}.nav-left .navbar-custom-button{border:none;float:right;margin:0 -2px 0 0;padding:3px 5px;display:block;color:#fff}.nav-left .navbar-custom-button:focus,.nav-left .navbar-custom-button:hover{opacity:.45}#sidebar-area>.nav>li>a{height:55px;padding:10px 15px 0 15px;color:#fff}.nav>li>a{line-height:55px;vertical-align:middle;padding:0 20px}.nav .menu-number{font-family:'Arial Bold',Arial;font-weight:700;font-style:normal;font-size:16px;color:#fff;overflow:hidden;float:left}.nav-second-level>li>a{height:55px;padding:0 15px 20px 15px;line-height:55px;color:#fff}.nav-second-level>li.active>a>i{color:#fff}.nav-second-level>li.active>a>span{color:#fff}.second-menu-title{margin-left:15px}.side-menu-title{margin-left:25px}.side-menu-title span{padding-left:10px}body.sidebar-closed .sidebar{width:70px!important}body.sidebar-closed .nav-left{width:70px!important}body.sidebar-closed .navbar-custom{width:70px}body.sidebar-closed .project{float:left;margin:18px 17px 5px 17px}body.sidebar-closed .number-toggler{text-align:center;line-height:60px;vertical-align:middle;float:none;margin:0;font-family:'Arial Bold',Arial;font-weight:700;font-style:normal;font-size:12px}body.sidebar-closed #sidebar-area>.nav>li>a{padding:0}body.sidebar-closed .nav-second-level>li>a{height:55px;padding:0;text-align:center;line-height:55px;color:#fff}body.sidebar-closed .nav-second-level>li{border-bottom:none;border-right:none}body.sidebar-closed .custom-arrow,body.sidebar-closed .project-toggler,body.sidebar-closed .second-menu-title,body.sidebar-closed .side-menu-title{display:none}.clear{clear:both}.page-nav-header{height:70px;background-color:#fff;border-bottom:1px solid #d4d4d4}.page-nav-header .vertical-align-middle{line-height:70px;height:70px;overflow:hidden;margin-left:42px}.page-nav-header .vertical-align-middle .page-nav-header-left{font-size:18px;float:left;padding:0 45px 0 0;border-right-style:solid;border-width:1px;border-color:#dadada}.login-user .profile-image{width:60px;border-radius:60px;height:60px;line-height:50px;vertical-align:middle;text-align:center;margin:0 auto;border:1px solid #fff;margin-top:16px}.login-user .profile-image i{font-size:35px}.login-user-below .ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#fff}.profile-name{overflow:hidden;text-align:center;margin-top:6px}.profile-name i{vertical-align:middle}.profile-name :hover{cursor:pointer}.sidebar-closed .profile-image{width:40px;border-radius:40px;height:40px;line-height:35px;vertical-align:middle;text-align:center;margin:0 auto;border:1px solid #fff;margin-top:16px}.sidebar-closed .login-user .profile-image i{font-size:22px}.busy-indicator-container{width:100%;height:100%;background-color:rgba(0,0,0,.6);position:fixed;top:0;left:0;bottom:0;right:0;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;transition:all .3s ease;z-index:9000;opacity:.6}.busy-indicator{margin:17% 45%}input[type=text]::-ms-clear{display:none}.nav-element-right .user-info{outline:0}.nav-element-right .user-menu{line-height:40px;border:1px solid #d4d4d4;background-color:#fff;display:none;width:100px;position:absolute;top:55px;left:0;color:#333;border-radius:5px 5px;-webkit-border-radius:5px 5px;-moz-border-radius:5px 5px;box-shadow:4px 4px 4px #7b7a7a;-webkit-box-shadow:4px 4px 4px #7b7a7a;-moz-box-shadow:4px 4px 4px #7b7a7a}.nav-element-right .user-menu p{text-align:center;height:30px;line-height:30px;margin:0;font-size:15px}.nav-element-right .user-menu p:hover{background-color:#efe1df}.nav-element-right .user-menu a{text-decoration:none;width:100%;height:30px}.tree-view{padding-top:20px;padding-left:15px;border-right:1px solid #e7e7e7;width:257px;min-height:720px}.expander-container{display:inline-block;margin-left:-22px}.angular-ui-tree-handle input[type=checkbox]{margin-right:4px;vertical-align:top}.tree-expander{vertical-align:top;cursor:pointer}.tree-menu-item{display:inline-block}.expander{float:left;line-height:44px;margin-left:-10px}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:local('Material Icons'),local('MaterialIcons-Regular'),url(/Content/icons/MaterialIcons-Regular.woff) format('woff'),url(/Content/icons/MaterialIcons-Regular.woff2) format('woff2'),url(/Content/icons/MaterialIcons-Regular.ttf) format('truetype')}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga'}.button-icons{vertical-align:middle;margin-right:10px;font-size:18px}.primary-toolbar-icons{vertical-align:middle;margin-right:10px;font-size:18px;color:#dc6900}.toolbar-icons{vertical-align:middle;margin-right:10px;font-size:18px}.menu-icons{vertical-align:middle;font-size:18px}.abn-tree-animate-enter,li.abn-tree-row.ng-enter{transition:.2s linear all;position:relative;display:block;opacity:0;max-height:0}.abn-tree-animate-enter.abn-tree-animate-enter-active,li.abn-tree-row.ng-enter-active{opacity:1;max-height:30px}.abn-tree-animate-leave,li.abn-tree-row.ng-leave{transition:.2s linear all;position:relative;display:block;height:30px;max-height:30px;opacity:1}.abn-tree-animate-leave.abn-tree-animate-leave-active,li.abn-tree-row.ng-leave-active{height:0;max-height:0;opacity:0}ul.abn-tree li.abn-tree-row .disabled-item{color:#888}ul.abn-tree li.abn-tree-row{padding:5px;margin:0}ul.abn-tree li.abn-tree-row a{font-weight:400;font-style:normal;font-size:14px;color:#333!important;border-radius:4px;height:28px;line-height:28px}ul.abn-tree li.abn-tree-row a i{vertical-align:middle}ul.abn-tree i.indented{padding:2px}.abn-tree{cursor:pointer}ul.nav.abn-tree .level-1 .indented{position:relative;left:0}ul.nav.abn-tree .level-2 .indented{position:relative;left:20px}ul.nav.abn-tree .level-3 .indented{position:relative;left:40px}ul.nav.abn-tree .level-4 .indented{position:relative;left:60px}ul.nav.abn-tree .level-5 .indented{position:relative;left:80px}ul.nav.abn-tree .level-6 .indented{position:relative;left:100px}ul.nav.nav-list.abn-tree .level-7 .indented{position:relative;left:120px}ul.nav.nav-list.abn-tree .level-8 .indented{position:relative;left:140px}ul.nav.nav-list.abn-tree .level-9 .indented{position:relative;left:160px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover,.nav-pills>li.active>a>i,.nav-pills>li.active>a>i:focus,.nav-pills>li.active>a>i:hover,.nav-pills>li.active>a>span,.nav-pills>li.active>a>span:focus,.nav-pills>li.active>a>span:hover{color:#fff!important;background-color:#dc6900!important}.content-padding{padding-left:30px;padding-top:10px;padding-right:10px;padding-bottom:10px}.popover{max-width:none}.header-bar{padding-left:30px;padding-top:20px}.header-info{display:inline-block;padding-top:10px}.header-split{margin-left:20px;margin-right:20px;font-weight:100;font-family:aria;color:#a39f99}.number-cell{font-family:Arial;text-align:right}.check-cell{text-align:center}.number-header-cell{text-align:right;padding-left:8px}.ui-grid-header-cell-row{background-color:#727671;color:#fff;font-weight:400}.ui-grid-cell-contents{padding:12px;line-height:1.42857143;font-size:14px}.ui-grid-cell{border-bottom:1px solid #d4d4d4;cursor:pointer}.ui-grid-row.ui-grid-row-selected>[ui-grid-row]>.ui-grid-cell{background-color:#fed5a9}.ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-cell:last-child{border-right-color:#d4d4d4}.ui-grid-row .ui-grid-cell.ui-grid-row-header-cell{background-color:none}.ui-grid-invisible{display:none}
\ No newline at end of file \ No newline at end of file
...@@ -1011,16 +1011,6 @@ ...@@ -1011,16 +1011,6 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"jquery": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz",
"integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg=="
},
"jquery-viewer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/jquery-viewer/-/jquery-viewer-1.0.0.tgz",
"integrity": "sha512-j1f7AKNU+wjywS8CwtHzDymyoroUznoXnrRp87WIRVuzZzMoFtJCrj54F/0BAi2DIEkDHx/1EZl9N725M6LiIA=="
},
"js-yaml": { "js-yaml": {
"version": "3.5.5", "version": "3.5.5",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
...@@ -1720,6 +1710,11 @@ ...@@ -1720,6 +1710,11 @@
} }
} }
}, },
"viewerjs": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/viewerjs/-/viewerjs-1.3.2.tgz",
"integrity": "sha512-P9Ac9H+GJ1jE9B5x8foRYm/xZvpWFR6L4GC9mr6181P9amOzQPDkplQrFj8l7mdnv8EyH2dO8XJJfoylir316A=="
},
"websocket-driver": { "websocket-driver": {
"version": "0.7.0", "version": "0.7.0",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment