Commit cef08f59 authored by hehongwei's avatar hehongwei

Merge branch 'master' of http://192.168.111.222:3000/hehongwei/klck

# Conflicts:
#	ruoyi-ui/src/views/system/supplies/index.vue
parents 61e87f23 3b8d6016
...@@ -3,6 +3,7 @@ spring: ...@@ -3,6 +3,7 @@ spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
druid: druid:
# 主库数据源 # 主库数据源
# master: # master:
...@@ -59,3 +60,4 @@ spring: ...@@ -59,3 +60,4 @@ spring:
wall: wall:
config: config:
multi-statement-allow: true multi-statement-allow: true
...@@ -6,7 +6,7 @@ spring: ...@@ -6,7 +6,7 @@ spring:
druid: druid:
# 主库数据源 # 主库数据源
master: master:
url: jdbc:mysql://192.168.111.222:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true url: jdbc:mysql://192.168.111.222:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root username: root
password: password password: password
# 从库数据源 # 从库数据源
......
...@@ -102,7 +102,7 @@ public class ActClassificationController extends BaseController ...@@ -102,7 +102,7 @@ public class ActClassificationController extends BaseController
/** /**
* 删除分配信息 * 删除分配信息
*/ */
@PreAuthorize("@ss.hasPermi('ActClassification:ActClassification:remove')") @PreAuthorize("@ss.hasPermi('ActClassification :ActClassification:remove')")
@Log(title = "分配信息", businessType = BusinessType.DELETE) @Log(title = "分配信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) public AjaxResult remove(@PathVariable Long[] ids)
...@@ -142,10 +142,11 @@ public class ActClassificationController extends BaseController ...@@ -142,10 +142,11 @@ public class ActClassificationController extends BaseController
actClassificationService.setDisable(id,status); actClassificationService.setDisable(id,status);
if(status > 1){ if (status > 1 ){
return AjaxResult.error(ServiceCode.ERR_CODE+"","禁用失败"); return AjaxResult.error(ServiceCode.ERR_CODE+"","禁用失败");
}else {
return AjaxResult.success(ServiceCode.OK+"","禁用成功");
} }
return AjaxResult.success("200","禁用成功");
} }
......
...@@ -150,16 +150,18 @@ public class ActSuppliesController extends BaseController ...@@ -150,16 +150,18 @@ public class ActSuppliesController extends BaseController
* 禁用物料总分类管理 * 禁用物料总分类管理
*/ */
@PreAuthorize("@ss.hasPermi('Actsupplies:Actsupplies:Disable')") @PreAuthorize("@ss.hasPermi('Actsupplies:Actsupplies:Disable')")
@PutMapping("/{id}/Disable")
public AjaxResult setDisable(@PathVariable("id") Long id, @RequestParam("status") Integer status) { public AjaxResult setDisable(@PathVariable("id") Long id, @RequestParam("status") Integer status) {
if (actSuppliesService.find(id).size() > 0 || actSuppliesService.findId(id).size() > 0) { if (actSuppliesService.find(id).size() > 0 || actSuppliesService.findId(id).size() > 0) {
} }
actSuppliesService.setDisable(id, status); actSuppliesService.setDisable(id, status);
if (status > 1) { if (status > 1){
return AjaxResult.error(ServiceCode.ERR_CODE + "", "禁用失败"); return AjaxResult.error(ServiceCode.ERR_CODE+"","禁用失败");
} }else {
return AjaxResult.success("200", "禁用成功"); return AjaxResult.success(ServiceCode.OK+"","禁用成功");
}
} }
......
...@@ -160,7 +160,7 @@ public class ActSuppliesDetailsController extends BaseController ...@@ -160,7 +160,7 @@ public class ActSuppliesDetailsController extends BaseController
* 启用物料细分类管理 * 启用物料细分类管理
*/ */
@PreAuthorize("@ss.hasPermi('ActSuppliesDetails:ActSuppliesDetails:enable')") @PreAuthorize("@ss.hasPermi('ActSuppliesDetails:ActSuppliesDetails:enable')")
@GetMapping("/{id}/enable") @PutMapping("/{id}/enable")
public AjaxResult setEnable(@PathVariable("id") Long id, @RequestParam("status") Integer status) public AjaxResult setEnable(@PathVariable("id") Long id, @RequestParam("status") Integer status)
{ {
...@@ -176,7 +176,7 @@ public class ActSuppliesDetailsController extends BaseController ...@@ -176,7 +176,7 @@ public class ActSuppliesDetailsController extends BaseController
* 禁用物料细分类管理 * 禁用物料细分类管理
*/ */
@PreAuthorize("@ss.hasPermi('ActSuppliesDetails:ActSuppliesDetails:Disable')") @PreAuthorize("@ss.hasPermi('ActSuppliesDetails:ActSuppliesDetails:Disable')")
@GetMapping("/{id}/disable") @PutMapping("/{id}/disable")
public AjaxResult setDisable(@PathVariable("id") Long id, @RequestParam("status") Integer status) public AjaxResult setDisable(@PathVariable("id") Long id, @RequestParam("status") Integer status)
{ {
......
...@@ -38,7 +38,7 @@ public class ActClassification extends BaseEntity ...@@ -38,7 +38,7 @@ public class ActClassification extends BaseEntity
/** 状态 */ /** 状态 */
@Excel(name = "状态",readConverterExp="0=启用,1=禁用") @Excel(name = "状态",readConverterExp="0=启用,1=禁用")
private String status; private Integer status;
public void setId(Long id) public void setId(Long id)
{ {
...@@ -67,12 +67,12 @@ public class ActClassification extends BaseEntity ...@@ -67,12 +67,12 @@ public class ActClassification extends BaseEntity
{ {
return pid; return pid;
} }
public void setStatus(String status) public void setStatus(Integer status)
{ {
this.status = status; this.status = status;
} }
public String getStatus() public Integer getStatus()
{ {
return status; return status;
} }
......
...@@ -39,13 +39,13 @@ ...@@ -39,13 +39,13 @@
</select> </select>
<update id="setEnable" parameterType="java.util.Map"> <update id="setEnable" parameterType="java.util.Map">
UPDATE ActClassification UPDATE act_classification
SET status = 0 SET status = 0
WHERE id = #{id} WHERE id = #{id}
</update> </update>
<update id="setDisable" parameterType="java.util.Map"> <update id="setDisable" parameterType="java.util.Map">
UPDATE ActClassification UPDATE act_classification
SET status = 1 SET status = 1
WHERE id = #{id} WHERE id = #{id}
</update> </update>
......
...@@ -7,6 +7,7 @@ export function listActClassification(query) { ...@@ -7,6 +7,7 @@ export function listActClassification(query) {
method: 'get', method: 'get',
params: query params: query
}) })
} }
//查询上级ID //查询上级ID
......
...@@ -70,14 +70,14 @@ export function exportActSuppliesDetails(query) { ...@@ -70,14 +70,14 @@ export function exportActSuppliesDetails(query) {
//启用 //启用
export function toggleEnable(id) { export function toggleEnable(id) {
return request({ return request({
url: `/Actsupplies/Actsupplies/${id}/enable?status=0`, url: `/ActSuppliesDetails/ActSuppliesDetails/${id}/enable?status=0`,
method: 'put', method: 'put',
}) })
} }
//禁用 //禁用
export function toggleDisable(id) { export function toggleDisable(id) {
return request({ return request({
url: `/Actsupplies/Actsupplies/${id}/disable?status=1`, url: `/ActSuppliesDetails/ActSuppliesDetails/${id}/disable?status=1`,
method: 'put', method: 'put',
}) })
} }
...@@ -52,20 +52,18 @@ export function delSupplies(id) { ...@@ -52,20 +52,18 @@ export function delSupplies(id) {
} }
//启用 //启用
export function toggleEnable(id) { export function toggleEnable(id) {
return request({ return request({
url: '/Actsupplies/Actsupplies/enable/' +id, url: `/Actsupplies/Actsupplies/${id}/enable?status=0`,
method: 'get', method: 'put',
}) })
} }
//禁用 //禁用
export function toggleDisable(id) { export function toggleDisable(id) {
return request({ return request({
url: '/Actsupplies/Actsupplies/disable/' +id, url: `/Actsupplies/Actsupplies/${id}/Disable?status=1`,
method: 'get', method: 'put',
})
})
} }
export function exportSupplies(query) { export function exportSupplies(query) {
......
...@@ -205,7 +205,7 @@ export default { ...@@ -205,7 +205,7 @@ export default {
pageSize: 10, pageSize: 10,
name: null, name: null,
pid: null, pid: null,
status: null, status: 0,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
...@@ -231,6 +231,7 @@ export default { ...@@ -231,6 +231,7 @@ export default {
toggleEnable(ActClassification.id).then((response) =>{ toggleEnable(ActClassification.id).then((response) =>{
if(response.code === 200){ if(response.code === 200){
let message = '操作成功,已经将【' + ActClassification.name +'】的状态改为【'+ enableText[ActClassification.status] +'】 !'; let message = '操作成功,已经将【' + ActClassification.name +'】的状态改为【'+ enableText[ActClassification.status] +'】 !';
this.$message({ this.$message({
message: message, message: message,
...@@ -250,7 +251,7 @@ export default { ...@@ -250,7 +251,7 @@ export default {
}); });
}else { }else {
this.getList(); this.getList();
this.$message.error(response.code); this.$message.error(response.message);
} }
}); });
} }
......
...@@ -382,14 +382,14 @@ export default { ...@@ -382,14 +382,14 @@ export default {
}); });
}else { }else {
toggleDisable(actSuppliesDetails.id).then((response) =>{ toggleDisable(actSuppliesDetails.id).then((response) =>{
if(response.msg === "200"){ if(response.code === 200){
let message = '操作成功,已经将【' + actSuppliesDetails.detailsName +'】的状态改为【'+ enableText[actSuppliesDetails.status] +'】 !'; let message = '操作成功,已经将【' + actSuppliesDetails.detailsName +'】的状态改为【'+ enableText[actSuppliesDetails.status] +'】 !';
this.$message({ this.$message({
message: message, message: message,
type:'error' type:'error'
}); });
}else { }else {
this.$message.error(response.msg); this.$message.error(response.message);
} }
}); });
} }
......
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
</template> </template>
<script> <script>
import { listSupplies, toggleEnable,toggleDisable,getSupplies, delSupplies, addSupplies, updateSupplies, exportSupplies ,getLevel } from "@/api/Actsupplies/Actsupplies"; import { listSupplies,toggleEnable,toggleDisable,getSupplies, delSupplies, addSupplies, updateSupplies, exportSupplies ,getLevel } from "@/api/Actsupplies/Actsupplies";
import request from "@/utils/request"; import request from "@/utils/request";
export default { export default {
...@@ -374,6 +374,7 @@ export default { ...@@ -374,6 +374,7 @@ export default {
// const pageNumber = this.queryParams.pageNum || 1; // const pageNumber = this.queryParams.pageNum || 1;
return index + 1; return index + 1;
}, },
/**启用 */ /**启用 */
toggleEnable(actSupplies){ toggleEnable(actSupplies){
console.log('你点击了【' + actSupplies.suppliesName+'】的开关控件,当前开关值:' + actSupplies.status); console.log('你点击了【' + actSupplies.suppliesName+'】的开关控件,当前开关值:' + actSupplies.status);
...@@ -389,29 +390,28 @@ export default { ...@@ -389,29 +390,28 @@ export default {
}else { }else {
this.$message.error(response.message); this.$message.error(response.message);
} }
}); });
}else { }else {
toggleDisable(actSupplies.id).then((response) =>{ toggleDisable(actSupplies.id).then((response) =>{
if(response.msg === "200"){
let message = '操作成功,已经将【' + actSupplies.suppliesName +'】的状态改为【'+ enableText[actSupplies.status] +'】 !';
this.$message({
if(response.code === 200){
let message = '操作成功,已经将【' + actSupplies.suppliesName +'】的状态改为【'+ enableText[actSupplies.status] +'】 !';
this.$message({
message: message, message: message,
type:'error' type:'error'
}); });
}else { }else {
this.getList(); this.getList();
this.$message.error(response.msg); this.$message.error(response.message);
} }
}); });
} }
}, },
/** 查询上级关联关系*/ /** 查询上级关联关系*/
fetchOptions() { fetchOptions() {
...@@ -430,9 +430,7 @@ export default { ...@@ -430,9 +430,7 @@ export default {
} }
} }
}); });
}, },
/** 查询物料总分类管理列表 */ /** 查询物料总分类管理列表 */
getList() { getList() {
this.indexMethod(0); this.indexMethod(0);
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form ref="queryForm" size="small" :inline="true" label-width="68px"> <el-form ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="模板" prop="name" > <el-form-item label="模板" prop="name" >
<el-select v-model="selectedOption" ref="mySelect" size="mini" @change="handleOptionChange" filterable placeholder="请选择您要查看的模板"> <el-select v-model="selectedOption" ref="mySelect" size="mini" @change="handleOptionChange" filterable placeholder="请选择您要查看的模板">
<!-- <el-option label="自设的模板名" value="使用空白模板"></el-option>--> <!-- <el-option label="自设的模板名" value="使用空白模板"></el-option>-->
<el-option <el-option
v-for="item in depss" :key="item.id" :label="item.templateName" :value="item.id"> v-for="item in depss" :key="item.id" :label="item.templateName" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="规则" prop="roleid"> <el-form-item label="规则" prop="roleid">
<el-select v-model="selectedRule" ref="mySelect" size="mini" @change="handleRuleChange" filterable placeholder="请选择您要查看的规则" > <el-select v-model="selectedRule" ref="mySelect" size="mini" @change="handleRuleChange" filterable placeholder="请选择您要查看的规则" >
<el-option <el-option
v-for="iem in luckyrule" :key="iem.id" :label="iem.roleName" :value="iem.id"> v-for="iem in luckyrule" :key="iem.id" :label="iem.roleName" :value="iem.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="时间" prop="date"> <el-form-item label="时间" prop="date">
<el-date-picker <el-date-picker
@change="handledateChange" @change="handledateChange"
v-model="date" v-model="date"
type="month" type="month"
placeholder="选择月"> placeholder="选择月">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="所属矿区" prop="mining"> <el-form-item label="所属矿区" prop="mining">
<el-select v-model="mining" placeholder="请选择矿区" @change="handleminingChange"> <el-select v-model="mining" placeholder="请选择矿区" @change="handleminingChange">
<el-option label="东欢坨矿" :value="1"></el-option> <el-option label="东欢坨矿" :value="1"></el-option>
<el-option label="范矿" :value="2"></el-option> <el-option label="范矿" :value="2"></el-option>
<el-option label="林西矿" :value="3"></el-option> <el-option label="林西矿" :value="3"></el-option>
<el-option label="吕矿" :value="4"></el-option> <el-option label="吕矿" :value="4"></el-option>
<el-option label="钱家营矿" :value="5"></el-option> <el-option label="钱家营矿" :value="5"></el-option>
<el-option label="唐山矿" :value="6"></el-option> <el-option label="唐山矿" :value="6"></el-option>
<el-option label="云飞矿" :value="7"></el-option> <el-option label="宏丰公司矿业" :value="7"></el-option>
</el-select> <el-option label="云飞公司矿业" :value="8"></el-option>
</el-form-item> <el-option label="单侯煤矿" :value="9"></el-option>
<el-form-item> </el-select>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> </el-form-item>
</el-form-item> <el-form-item>
</el-form> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-row :gutter="10" class="mb8"> </el-form-item>
<el-col :span="1.5"> </el-form>
<el-button <el-row :gutter="10" class="mb8">
type="warning" <el-col :span="1.5">
plain <el-button
icon="el-icon-upload2" type="warning"
size="mini" plain
@click="handleExport" icon="el-icon-upload2"
>导出</el-button> size="mini"
</el-col> @click="handleExport"
<el-col :span="1.5"> >导出</el-button>
<el-upload </el-col>
type="file" <el-col :span="1.5">
name="file" <el-upload
ref="upload" type="file"
:before-upload="handleFileChange" name="file"
action='' ref="upload"
accept='.xlsx' :before-upload="handleFileChange"
:limit="1" action=''
:file-list="fileList" accept='.xlsx'
:disabled="disableNextButton" :limit="1"
:show-file-list=false :file-list="fileList"
> :disabled="disableNextButton"
<el-button plain size="mini" icon="el-icon-download" type="primary" :disabled="disableNextButton" @click="rulesdate">导入</el-button> :show-file-list=false
</el-upload> >
</el-col> <el-button plain size="mini" icon="el-icon-download" type="primary" :disabled="disableNextButton" @click="rulesdate">导入</el-button>
</el-row> </el-upload>
</el-col>
</el-row>
<!-- luckysheet容器 --> <!-- luckysheet容器 -->
<div <div
id="luckysheet" id="luckysheet"
...@@ -132,7 +134,74 @@ export default { ...@@ -132,7 +134,74 @@ export default {
mining : "" mining : ""
}, },
historyRole:[], fromimport: {
hId : "",
hDate : null,
mining : "",
a1 : "",
a2 : "",
a3 : "",
a4 : "",
a5 : "",
a6 : "",
a7 : "",
a8 : "",
a9 : "",
a10 : "",
a11 : "",
a12 : "",
a13 : "",
a14 : "",
a15 : "",
a16 : "",
a17 : "",
a18 : "",
a19 : "",
a20 : "",
a21 : "",
a22 : "",
a23 : "",
a24 : "",
a25 : "",
a26 : "",
a27 : "",
a28 : "",
a29 : "",
a30 : "",
a31 : "",
a32 : "",
a33 : "",
a34 : "",
a35 : "",
a36 : "",
a37 : "",
a38 : "",
a39 : "",
a40 : "",
a41 : "",
a42 : "",
a43 : "",
a44 : "",
a45 : "",
a46 : "",
a47 : "",
a48 : "",
a49 : "",
a50 : "",
a51 : "",
a52 : "",
a53 : "",
a54 : "",
a55 : "",
a56 : "",
a57 : "",
a58 : "",
a59 : "",
a60 : "",
a61 : "",
a62 : "",
a63 : "",
},
/*fromimport: {},*/ /*fromimport: {},*/
dfrom:{}, dfrom:{},
imp:{}, imp:{},
...@@ -307,8 +376,8 @@ export default { ...@@ -307,8 +376,8 @@ export default {
"status": 1, //激活状态 "status": 1, //激活状态
"order": 0, //工作表的下标 "order": 0, //工作表的下标
"hide": 0,//是否隐藏 "hide": 0,//是否隐藏
"row": 8, //行数 "row": 50, //行数
"column": 10, //列数 "column": 20, //列数
"defaultRowHeight": 19, //自定义行高 "defaultRowHeight": 19, //自定义行高
"defaultColWidth": 73, //自定义列宽 "defaultColWidth": 73, //自定义列宽
"celldata": [ "celldata": [
...@@ -459,22 +528,22 @@ export default { ...@@ -459,22 +528,22 @@ export default {
}).then(async ()=>{ }).then(async ()=>{
this.showMask = true; this.showMask = true;
//将导入数据替换保存 //将导入数据替换保存
LuckyExcel.transformExcelToLucky(evt, exportJson => { LuckyExcel.transformExcelToLucky(evt, exportJson => {
this.summary(exportJson) this.summary(exportJson)
.then(async() => { .then(async() => {
this.submit(exportJson); this.submit(exportJson);
}) })
.catch(error => { .catch(error => {
this.$message({ this.$message({
message: error.message, message: error.message,
type: "error" type: "error"
});
})
.finally(() => {
// 导入完成后关闭遮罩层
this.showMask = false;
}); });
})
.finally(() => {
// 导入完成后关闭遮罩层
this.showMask = false;
});
}); });
}).catch(() => { }).catch(() => {
// 处理错误逻辑,这里是一个空的错误处理函数 // 处理错误逻辑,这里是一个空的错误处理函数
...@@ -487,23 +556,23 @@ export default { ...@@ -487,23 +556,23 @@ export default {
}else{ }else{
this.showMask = true; this.showMask = true;
LuckyExcel.transformExcelToLucky(evt, exportJson => { LuckyExcel.transformExcelToLucky(evt, exportJson => {
this.summary(exportJson) this.summary(exportJson)
.then(async() => { .then(async() => {
this.submit(exportJson); this.submit(exportJson);
}) })
.catch(error => { .catch(error => {
this.$message({ this.$message({
message: error.message, message: error.message,
type: "error" type: "error"
});
})
.finally(() => {
// 导入完成后关闭遮罩层
this.showMask = false;
}); });
});
})
.finally(() => {
// 导入完成后关闭遮罩层
this.showMask = false;
});
});
} }
...@@ -517,7 +586,7 @@ export default { ...@@ -517,7 +586,7 @@ export default {
let sysConver; let sysConver;
let value=[]; let value=[];
let data; let data;
//获取规则 sysRulez是物料转换 sysRules是数据汇总规则 //获取规则 sysRulez是物料转换 sysRules是数据汇总规则 13
for(let i=0;i<rule.length;i++){ for(let i=0;i<rule.length;i++){
if (rule[i].convertStatus==1){ if (rule[i].convertStatus==1){
sysRulez = JSON.parse(rule[i].detailContent); sysRulez = JSON.parse(rule[i].detailContent);
...@@ -529,9 +598,6 @@ export default { ...@@ -529,9 +598,6 @@ export default {
sysRules = JSON.parse(rule[i].detailContent); sysRules = JSON.parse(rule[i].detailContent);
} }
} }
if (rule[i].convertStatus==6){
this.historyRole = rule[i].detailContent;
}
} }
try { try {
...@@ -601,79 +667,79 @@ export default { ...@@ -601,79 +667,79 @@ export default {
if (allNull ) { if (allNull ) {
throw new Error("导入失败,导入文件错误,所选文件与模板规则不匹"); throw new Error("导入失败,导入文件错误,所选文件与模板规则不匹");
} }
materialConvert(smallMat) materialConvert(smallMat)
.then(response => { .then(response => {
let array = response.rows; let array = response.rows;
//luckysheet.setCellValue(12, 1, {bg:"#FF0000"}) //luckysheet.setCellValue(12, 1, {bg:"#FF0000"})
for (let i = parseFloat(sysRulez[0].re) + 1; i < data.length; i++) { for (let i = parseFloat(sysRulez[0].re) + 1; i < data.length; i++) {
let values = []; let values = [];
if (data[i][13] != null && departments[i - 1] === key && data[i][key_i] != null) { if (data[i][13] != null && departments[i - 1] === key && data[i][key_i] != null) {
for (let j = 0; j < value.length; j++) { for (let j = 0; j < value.length; j++) {
try{ try{
let a = parseFloat(data[i][value[j]].v); let a = parseFloat(data[i][value[j]].v);
values.push(a); values.push(a);
}catch (err){ }catch (err){
throw new Error("导入失败,导入文件不匹"); throw new Error("导入失败,导入文件不匹");
} }
} }
//插入多个value的值 //插入多个value的值
let index = smallMat.indexOf(data[i][key_i].m); let index = smallMat.indexOf(data[i][key_i].m);
let key = array[index]; let key = array[index];
if (map.has(key)) { if (map.has(key)) {
let oldValues = map.get(key); let oldValues = map.get(key);
for (let i = 0; i < values.length; i++) { for (let i = 0; i < values.length; i++) {
values[i] = parseFloat(parseFloat(values[i] + oldValues[i]).toFixed(2)); values[i] = parseFloat(parseFloat(values[i] + oldValues[i]).toFixed(2));
}
map.set(key, values);
} else {
map.set(key, values);
}
} }
map.set(key, values);
} else {
map.set(key, values);
} }
} //循环得到汇总结果
}
//循环得到汇总结果
if (map.size === 0) { if (map.size === 0) {
throw new Error("导入失败,导入文件错误"); throw new Error("导入失败,导入文件错误");
} }
let cells; let cells;
let warn; let warn;
let rowss = luckysheet.find(key); let rowss = luckysheet.find(key);
if (rowss.length != 0) { if (rowss.length != 0) {
for (let i = 0; i < sysRules.length; i++) { for (let i = 0; i < sysRules.length; i++) {
map.forEach((value, key) => { map.forEach((value, key) => {
let searchResult = luckysheet.find(key); let searchResult = luckysheet.find(key);
if (searchResult.length != 0 && key != null) { if (searchResult.length != 0 && key != null) {
cells = searchResult[0].column; cells = searchResult[0].column;
luckysheet.setCellValue(rowss[0].row, cells, value[i]); luckysheet.setCellValue(rowss[0].row, cells, value[i]);
luckysheet.setCellValue(rowss[0].row, cells, { luckysheet.setCellValue(rowss[0].row, cells, {
"ct": { "ct": {
"fa": "General", "fa": "General",
"t": "n" "t": "n"
}
});
}else{
warn++;
} }
}); });
}else{
warn++;
} }
}); }
} if (warn / sysRules.length === map.size) {
} throw new Error("导入文件与所选模板规则不匹配");
if (warn / sysRules.length === map.size) { } else if (warn > 0) {
throw new Error("导入文件与所选模板规则不匹配"); this.$message({
} else if (warn > 0) { message: "还有"+warn/sysRules.length+"条大类未能匹配到",
this.$message({ type: "warning"});
message: "还有"+warn/sysRules.length+"条大类未能匹配到", }
type: "warning"}); resolve(response.rows);
} innerResolve(); // 标记当前异步任务完成
resolve(response.rows);
innerResolve(); // 标记当前异步任务完成
}).catch(Error => { }).catch(Error => {
//必须加,不能删除 //必须加,不能删除
innerReject(Error); // 异步请求出错 innerReject(Error); // 异步请求出错
}); });
})); }));
} }
} }
...@@ -1012,7 +1078,7 @@ export default { ...@@ -1012,7 +1078,7 @@ export default {
})); }));
} }
break; break;
//李志昊 //OK
case 7: { case 7: {
let map = new Map(); let map = new Map();
let smallMat = []; let smallMat = [];
...@@ -1080,52 +1146,383 @@ export default { ...@@ -1080,52 +1146,383 @@ export default {
} }
this.NewSixList=SixList*/ this.NewSixList=SixList*/
let SixMateriel=[]; let SixMateriel=[];
let MaterielCode=[]; let MaterielCode=[];
let NewMarterielCode=[]; let NewMarterielCode=[];
let SixList=[]; let SixList=[];
let newSmasll =smallMat; let newSmasll =smallMat;
SixMateriel=response.rows; SixMateriel=response.rows;NewMarterielCode= sortArray(SixMateriel)
debugger try {
NewMarterielCode= sortArray(SixMateriel) // //转化编码
debugger let p=0;
// //转化编码 for(var i=0;i<newSmasll.length;i++){
let p=0; for (var j = 0; j < NewMarterielCode.length; j++) {
for(var i=0;i<newSmasll.length;i++){ if(newSmasll[i] !== null){
for (var j = 0; j < NewMarterielCode.length; j++) { if (NewMarterielCode[j] && NewMarterielCode[j].code && newSmasll[i].slice(0, NewMarterielCode[j].code.length) == NewMarterielCode[j].code) {
if(newSmasll[i] !== null){ SixList[i] = NewMarterielCode[j].codes;
if(newSmasll[i].slice(0,NewMarterielCode[j].code.length)==NewMarterielCode[j].code){ p++;
SixList[i]=NewMarterielCode[j].codes break;
p++ } else {
break if (NewMarterielCode[j] && NewMarterielCode[j].code) { // 判断是否存在并具有code属性
SixList[i] = '11';
p++;
}
}
}
}
}
}catch(err){
//throw new Error("导入失败,转换编码运行错误,请检查对应规则");
}
var warn1 = 0,warn2 = 0;
for (let i = parseFloat(sysRulez[0].re) + 1, k = 0; i < data.length; i++, k++) {
let values = [];
if (data[i][key_i] && data[i][key_i] != null) {
for (let j = 0; j < value.length; j++) {
try {
if(data[i][value[j]] && data[i][value[j]]!=null){
let a = parseFloat(data[i][value[j]].v);
values.push(a);
}else{
warn1++;
}
} catch (err) {
this.$message({
message: "导入失败,导入文件错误,请自己检查导入表",
type: "error"
});
innerReject(error); // 异步请求出错
}
}
if(SixList[k]==undefined){
// warn1++; //如果为空,统计为undefined
}else{
if(deps[k]==undefined){
warn2++;
}else{ }else{
SixList[i]='11' let key = SixList[k] + '/' + deps[k];
p++ if (map.has(key)) {
let oldValues = map.get(key);
for (let i = 0; i < values.length; i++) {
values[i] = parseFloat(parseFloat(values[i] + oldValues[i]).toFixed(2));
}
map.set(key, values);
} else {
map.set(key, values);
}
}
}
}
}
//循环得到汇总结果
if (map.size === 0) {
throw new Error("导入失败,导入文件错误");
}
//返回单元格第二行的数据
//let celn=luckysheet.getcellvalue(1);
//返回当前工作表第1列数据
//let cown=luckysheet.getcellvalue(null,0);
let config;
let bord = {
"rangeType": "range",
"borderType": "border-all",
"style": "1",
"color": "#000000",
"range": [{
"row": [0, 0],
"column": [0, 0]
}]
}
let warn = 0;
map.forEach((value, key) => {
let rowws;
const suffixArr = key.split('/'), mat = suffixArr[0], depp = suffixArr[1];
//返回当前工作表第1列数据
let cown=luckysheet.getcellvalue(null,0);
for(let i=0;i<cown.length;i++){
if(cown[i]==null){
continue;
}
if(cown[i].v==undefined){
continue;
}
if(cown[i].v==mat){
rowws=i;
break;
}
}
//let searchResult = luckysheet.find(mat,{isWholeWord:true});
if (rowws != undefined) {
//rowws = searchResult[0].row;
luckysheet.insertRow(rowws + 1);
let vll1 = luckysheet.getCellValue(rowws, sysRulez[0].ct);
luckysheet.setCellValue(rowws + 1, sysRulez[0].ct, {
"ct": {
"fa": "@",
"t": "n"
}
});
luckysheet.setCellValue(rowws + 1, sysRulez[0].ct, vll1);
let vll2 = luckysheet.getCellValue(rowws, parseInt(sysRulez[0].ct) + 1);
luckysheet.setCellValue(rowws + 1, parseInt(sysRulez[0].ct) + 1, vll2);
//输出部门数量金额
luckysheet.setCellValue(rowws + 1, sysRulez[1].ct, depp);
for (let i = 0; i < sysRules.length; i++) {
luckysheet.setCellValue(rowws + 1, sysRules[i].ct, value[i]);
//修改单元格样式
/*luckysheet.setCellValue(rowws+g, sysRules[i].ct, {
"ct": {
"fa": "General",
"t": "n"
}
});*/
}
//输出单价
luckysheet.setCellValue(rowws + 1, parseInt(sysRules[0].ct) + 1, value[1] / value[0]);
//修改单价样式
/*luckysheet.setCellValue(rowws+g,parseInt(sysRules[0].ct)+1,{
"ct": {
"fa": "0.0000",
"t": "n"
} }
});*/
config = luckysheet.getConfig(0);
bord.range[0].row = [rowws + 1, rowws + 1];
bord.range[0].column = [0, parseInt(sysRules[sysRules.length - 1].ct)];
config.borderInfo.push(bord);
luckysheet.setConfig(config);
modify = true;
}else{
warn++;
}
});
if (warn === map.size) {
throw new Error("导入文件与所选模板规则不匹配");
}else if (warn > 0) {
this.$message({
message: "还有" + warn + "条大类没匹配到,请仔细检查导入表",
type: "warning"
});
}
if (warn1 > 0) {
if (warn2 > 0) {
this.$message({
message: "" + warn1 + "条数据的编码不存在和" + warn2 + "条数据的部门不存在,请仔细检查导入表",
type: "warning"
});
}else{
this.$message({
message: "" + warn1 + "条数据的编码不存在,请仔细检查导入表",
type: "warning"
});
}
} else if (warn2 > 0) {
this.$message({
message: "" + warn2 + "条数据的部门不存在,请仔细检查导入表",
type: "warning"
});
}
// 记录结束时间
const endTime = new Date().getTime();
// 计算执行时间(以毫秒为单位)
const executionTime = endTime - startTime;
// 输出执行时间
resolve(response.rows);
innerResolve(); // 标记当前异步任务完成
/*let find1 = luckysheet.find("合计");
let number = parseInt(find1[0].row)-1;
luckysheet.setCellValue(find1[0].row, sysRules[sysRules.length-1].ct, "=SUM(F2:F"+number+")")*/
}).catch(Error => {
//必须加,不能删除
innerReject(Error); // 异步请求出错
});
}));
}
break;
//不能用版本
/*case 7: {
let map = new Map();
let smallMat = [];
let deps = [];
let t = 0;
try {
for (let i = parseFloat(sysRulez[0].re) + 1; i < data.length; i++) {
if (data[i][sysRulez[1].ce] != null && data[i][key_i] != null) {
let num = data[i][key_i].m;
let dep = data[i][sysRulez[1].ce].m;
smallMat.push({index:t,code:num});
deps.push(dep);
t++;
} else {
}
}
}catch(err){
throw new Error("导入失败,导入文件与模板规则不匹");
}
asyncTasks.push(
new Promise((innerResolve, innerReject) => {
const allNull = smallMat.every(item =>item===null);
if (allNull ) {
throw new Error("导入失败,导入文件错误,所选文件与模板规则不匹");
}
//一部分报表的数据
materialList().then( response => {
//六矿物料编码数据
let array = response.rows;
//有code的数据
//六矿六位编码
let newSix = [];
for (let i = 0; i < array.length; i++) {
if(array[i].code.length==6){
newSix.push(array[i]);
}
}
//六矿四位编码
let newFour = [];
for (let u = 0; u < array.length; u++) {
if(array[u].code.length==4){
newFour.push(array[u]);
}
}
//六矿二位编码
let newTwo = [];
for (let l = 0; l < array.length; l++) {
if(array[l].code.length==2){
newTwo.push(array[l]);
}
}
//转换六位
let a = [];
for (let h = 0; h < smallMat.length; h++) {
for (let s = 0; s < newSix.length; s++) {
if(smallMat[h].code.slice(0,6) == newSix[s].code){
smallMat[h].code = newSix[s].codes;
a.push(smallMat[h]);
} }
} }
} }
let newSixList=SixList //删除方法
const result = smallMat.filter(item => item.code.length <= 4).map(item =>({index:item.index,code:item.code}) );
let i = 0;
while (i < smallMat.length) {
if (smallMat[i].code.length <= 4) {
smallMat[i] = smallMat[smallMat.length - 1];
smallMat.length--;
} else {
i++;
}
}
//转换四位
let b = [];
for (let h = 0; h < smallMat.length; h++) {
for (let s = 0; s < newFour.length; s++) {
if(smallMat[h].code.slice(0,4) == newFour[s].code){
smallMat[h].code = newFour[s].codes;
b.push(smallMat[h]);
}
}
}
let uniqueB = [...new Set(b.map(obj => obj.index))].map(index => b.find(obj => obj.index === index));
//删除方法
const re = smallMat.filter(item => item.code.length <= 4).map(item =>({index:item.index,code:item.code}) );
let ii = 0;
while (ii < smallMat.length) {
if (smallMat[ii].code.length == 4) {
smallMat[ii] = smallMat[smallMat.length - 1];
smallMat.length--;
} else {
ii++;
}
}
//转换二位
let c = [];
for (let h = 0; h < smallMat.length; h++) {
for (let s = 0; s < newTwo.length; s++) {
if(smallMat[h].code.slice(0,2) == newTwo[s].code){
smallMat[h].code = newTwo[s].codes;
c.push(smallMat[h]);
}
}
}
//删除方法
const sult = smallMat.filter(item => item.code.length <= 4).map(item =>({index:item.index,code:item.code}) );
let iii = 0;
while (iii < smallMat.length) {
if (smallMat[iii].code.length <= 4) {
smallMat[iii] = smallMat[smallMat.length - 1];
smallMat.length--;
} else {
iii++;
}
}
//转换其他
for (let other = 0; other < smallMat.length; other++) {
if( smallMat[other].code.length == '10'){
smallMat[other].code = 11;
}
}
//合并
let newSmallMat = [...a,...uniqueB,...c,...smallMat];
//索引排序
function newSort(arr){
arr.sort((a,b) => a.index - b.index)
return arr;
}
let newSortArray = newSort(newSmallMat);
for (let i = parseFloat(sysRulez[0].re) + 1, k = 0; i < data.length; i++, k++) { for (let i = parseFloat(sysRulez[0].re) + 1, k = 0; i < data.length; i++, k++) {
let values = []; let values = [];
if (data[i][key_i] != null) { if (data[i][key_i] != null) {
for (let j = 0; j < value.length; j++) { for (let j = 0; j < value.length; j++) {
try { try{
let a = parseFloat(data[i][value[j]].v); let a = parseFloat(data[i][value[j]].v);
values.push(a); values.push(a);
} catch (err) { }catch (err){
this.$message({ this.$message({
message: "导入失败,导入文件不匹", message: "导入失败,导入文件不匹",
type: "error" type: "error"
}); });
innerReject(error); // 异步请求出错 innerReject(error); // 异步请求出错
} }
}
let key = SixList[k] + '/' + deps[k]; }
//插入多个value的值
//此方法只适用于一对一唯一值
/!*let index = smallMat.indexOf(data[i][key_i].m);
let key = array[index];*!/
let key = newSortArray[k].code + '/' + deps[k];
if (map.has(key)) { if (map.has(key)) {
let oldValues = map.get(key); let oldValues = map.get(key);
for (let i = 0; i < values.length; i++) { for (let i = 0; i < values.length; i++) {
...@@ -1138,8 +1535,8 @@ export default { ...@@ -1138,8 +1535,8 @@ export default {
} }
} }
//循环得到汇总结果 //循环得到汇总结果
if (map.size === 0) { if (map.size === 0) {
throw new Error("导入失败,导入文件错误"); throw new Error("导入失败,导入文件错误");
} }
...@@ -1147,6 +1544,7 @@ export default { ...@@ -1147,6 +1544,7 @@ export default {
//let celn=luckysheet.getcellvalue(1); //let celn=luckysheet.getcellvalue(1);
//返回当前工作表第1列数据 //返回当前工作表第1列数据
//let cown=luckysheet.getcellvalue(null,0); //let cown=luckysheet.getcellvalue(null,0);
let rowws;
let config; let config;
let bord = { let bord = {
"rangeType": "range", "rangeType": "range",
...@@ -1158,66 +1556,55 @@ export default { ...@@ -1158,66 +1556,55 @@ export default {
"column": [0, 0] "column": [0, 0]
}] }]
} }
let warn = 0; let warn=0;
map.forEach((value, key) => { map.forEach((value, key) => {
let rowws;
const suffixArr = key.split('/'), mat = suffixArr[0], depp = suffixArr[1]; const suffixArr = key.split('/'), mat = suffixArr[0], depp = suffixArr[1];
//返回当前工作表第1列数据
let cown=luckysheet.getcellvalue(null,0); let searchResult = luckysheet.find(mat);
for(let i=0;i<cown.length;i++){ if (searchResult.length != 0 && key != null) {
if(cown[i]==null){ rowws = searchResult[0].row;
continue;
}
if(cown[i].v==undefined){
continue;
}
if(cown[i].v==mat){
rowws=i;
break;
}
}
//let searchResult = luckysheet.find(mat,{isWholeWord:true});
if (rowws != undefined) {
//rowws = searchResult[0].row;
luckysheet.insertRow(rowws + 1); luckysheet.insertRow(rowws + 1);
let vll1 = luckysheet.getCellValue(rowws, sysRulez[0].ct); let vll1=luckysheet.getCellValue(rowws,sysRulez[0].ct);
luckysheet.setCellValue(rowws + 1, sysRulez[0].ct, { luckysheet.setCellValue(rowws+1, sysRulez[0].ct, {
"ct": { "ct": {
"fa": "@", "fa": "@",
"t": "n" "t": "n"
} }
}); });
luckysheet.setCellValue(rowws + 1, sysRulez[0].ct, vll1); luckysheet.setCellValue(rowws + 1, sysRulez[0].ct, vll1);
let vll2 = luckysheet.getCellValue(rowws, parseInt(sysRulez[0].ct) + 1); let vll2=luckysheet.getCellValue(rowws,parseInt(sysRulez[0].ct)+1);
luckysheet.setCellValue(rowws + 1, parseInt(sysRulez[0].ct) + 1, vll2); luckysheet.setCellValue(rowws + 1, parseInt(sysRulez[0].ct)+1, vll2);
//输出部门数量金额 //输出部门数量金额
luckysheet.setCellValue(rowws + 1, sysRulez[1].ct, depp); luckysheet.setCellValue(rowws + 1, sysRulez[1].ct, depp);
for (let i = 0; i < sysRules.length; i++) { for (let i = 0; i < sysRules.length; i++) {
luckysheet.setCellValue(rowws + 1, sysRules[i].ct, value[i]); luckysheet.setCellValue(rowws + 1, sysRules[i].ct, value[i]);
//修改单元格样式 //修改单元格样式
/*luckysheet.setCellValue(rowws+g, sysRules[i].ct, { /!*luckysheet.setCellValue(rowws+g, sysRules[i].ct, {
"ct": { "ct": {
"fa": "General", "fa": "General",
"t": "n" "t": "n"
} }
});*/ });*!/
} }
//输出单价 //输出单价
luckysheet.setCellValue(rowws + 1, parseInt(sysRules[0].ct) + 1, value[1] / value[0]); luckysheet.setCellValue(rowws + 1, parseInt(sysRules[0].ct) + 1, value[1] / value[0]);
//修改单价样式 //修改单价样式
/*luckysheet.setCellValue(rowws+g,parseInt(sysRules[0].ct)+1,{ /!*luckysheet.setCellValue(rowws+g,parseInt(sysRules[0].ct)+1,{
"ct": { "ct": {
"fa": "0.0000", "fa": "0.0000",
"t": "n" "t": "n"
} }
});*/ });*!/
config = luckysheet.getConfig(0); config = luckysheet.getConfig(0);
bord.range[0].row = [rowws + 1, rowws + 1]; bord.range[0].row = [rowws + 1, rowws + 1];
bord.range[0].column = [0, parseInt(sysRules[sysRules.length - 1].ct)]; bord.range[0].column = [0, parseInt(sysRules[sysRules.length - 1].ct)];
config.borderInfo.push(bord); config.borderInfo.push(bord);
luckysheet.setConfig(config); luckysheet.setConfig(config);
modify = true; modify=true;
} else { } else{
warn++; warn++;
} }
}); });
...@@ -1225,47 +1612,44 @@ export default { ...@@ -1225,47 +1612,44 @@ export default {
throw new Error("导入文件与所选模板规则不匹配"); throw new Error("导入文件与所选模板规则不匹配");
} else if (warn > 0) { } else if (warn > 0) {
this.$message({ this.$message({
message: "还有" + warn + "条大类未能匹配到", message: "还有"+warn+"条大类未能匹配到",
type: "warning" type: "warning"});
});
} }
// 记录结束时间 const endTime = new Date();
const endTime = new Date().getTime();
// 计算执行时间(以毫秒为单位) // 计算执行时间(以毫秒为单位)
const executionTime = endTime - startTime; const executionTime = endTime - startTime;
// 输出执行时间 // 输出执行时间
resolve(response.rows); resolve(response.rows);
innerResolve(); // 标记当前异步任务完成 innerResolve(); // 标记当前异步任务完成
/!*let find1 = luckysheet.find("合计");
/*let find1 = luckysheet.find("合计");
let number = parseInt(find1[0].row)-1; let number = parseInt(find1[0].row)-1;
luckysheet.setCellValue(find1[0].row, sysRules[sysRules.length-1].ct, "=SUM(F2:F"+number+")")*/ luckysheet.setCellValue(find1[0].row, sysRules[sysRules.length-1].ct, "=SUM(F2:F"+number+")")*!/
}).catch(Error => { }).catch(Error => {
//必须加,不能删除 //必须加,不能删除
innerReject(Error); // 异步请求出错 innerReject(Error); // 异步请求出错
}); });
})); }));
} }
break; break;*/
default : default :
{ {
let map = new Map(); let map = new Map();
let smallMat = []; let smallMat = [];
try{ try{
for (let i = parseFloat(sysRulez[0].re) + 1; i < data.length; i++) { for (let i = parseFloat(sysRulez[0].re) + 1; i < data.length; i++) {
if (data[i][key_i] != null) { if (data[i][key_i] != null) {
let num = data[i][key_i].m; let num = data[i][key_i].m;
smallMat.push(num); smallMat.push(num);
} else { } else {
smallMat.push(null); smallMat.push(null);
}
} }
}
} catch(err){ } catch(err){
throw new Error("导入失败,导入文件与模板规则不匹"); throw new Error("导入失败,导入文件与模板规则不匹");
} }
asyncTasks.push( asyncTasks.push(
new Promise((innerResolve, innerReject) => { new Promise((innerResolve, innerReject) => {
const allNull = smallMat.every(item =>item===null); const allNull = smallMat.every(item =>item===null);
...@@ -1313,7 +1697,7 @@ export default { ...@@ -1313,7 +1697,7 @@ export default {
for (let i = 0; i < sysRules.length; i++) { for (let i = 0; i < sysRules.length; i++) {
map.forEach((value, key) => { map.forEach((value, key) => {
let searchResult; let searchResult;
searchResult= luckysheet.find(key); searchResult= luckysheet.find(key);
if (searchResult!==undefined && searchResult.length !== 0 && key != null) { if (searchResult!==undefined && searchResult.length !== 0 && key != null) {
rowws = searchResult[0].row; rowws = searchResult[0].row;
luckysheet.setCellValue(rowws, sysRules[i].ct, value[i]); luckysheet.setCellValue(rowws, sysRules[i].ct, value[i]);
...@@ -1339,7 +1723,7 @@ export default { ...@@ -1339,7 +1723,7 @@ export default {
innerResolve(); // 标记当前异步任务完成 innerResolve(); // 标记当前异步任务完成
}).catch(Error => { }).catch(Error => {
//必须加,不能删除 //必须加,不能删除
innerReject(Error); // 异步请求出错 innerReject(Error); // 异步请求出错
}); });
})); }));
...@@ -1376,7 +1760,6 @@ export default { ...@@ -1376,7 +1760,6 @@ export default {
this.dfrom.historyContent=str; this.dfrom.historyContent=str;
this.dfrom.identifyingCode=0; this.dfrom.identifyingCode=0;
this.dfrom.tylkStatus = 1; this.dfrom.tylkStatus = 1;
this.dfrom.historyRole = this.historyRole;
let date = new Date(this.date); let date = new Date(this.date);
...@@ -1430,7 +1813,6 @@ export default { ...@@ -1430,7 +1813,6 @@ export default {
this.imp.mining = data[i].mining; this.imp.mining = data[i].mining;
this.imp.actOperation2 = transToCellData; this.imp.actOperation2 = transToCellData;
list.push(this.imp); list.push(this.imp);
}else { }else {
...@@ -1443,8 +1825,7 @@ export default { ...@@ -1443,8 +1825,7 @@ export default {
this.ssd.hDate = data[i].date; this.ssd.hDate = data[i].date;
this.ssd.mining = data[i].mining; this.ssd.mining = data[i].mining;
this.ssd.actOperation2 = transToCellData; this.ssd.actOperation2 = transToCellData;
this.ssd.historyRole = data[i].historyRole;
debugger;
list1.push(this.ssd); list1.push(this.ssd);
} }
......
...@@ -28,7 +28,7 @@ module.exports = { ...@@ -28,7 +28,7 @@ module.exports = {
productionSourceMap: false, productionSourceMap: false,
// webpack-dev-server 相关配置 // webpack-dev-server 相关配置
devServer: { devServer: {
host: '0.0.0.0', // host: '0.0.0.0',
port: port, port: port,
open: true, open: true,
proxy: { proxy: {
......
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