You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udiwms-vue-frame/src/views/inout/uploadManage/uploadSetting.vue

405 lines
11 KiB
Vue

<template>
<div>
<el-card class="el-card">
<el-descriptions class="margin-top" title="单据上传设置" :column="1" border>
<template slot="extra">
<el-button type="primary" size="small" @click="saveConfig()"></el-button>
</template>
<el-descriptions-item>
<template slot="label">
自动上传设置
</template>
<el-row :gutter="20" class="el-row">
<el-col :span="6" class="el-col">
<el-switch
v-model="configQuery.autoUpload"
active-text="是否启用自动上传">
</el-switch>
</el-col>
<el-col :span="14" class="el-col">
<div>
<span style="color: red;">说明:&nbsp;修改同步参数时,请关闭数据同步服务 </span>
</div>
</el-col>
</el-row>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
参数设置
</template>
<el-row :gutter="20" class="el-row">
<el-col :span="20" class="el-col">
<div>
<span>单据上传时间间隔(单位:分钟):&nbsp;</span>
<el-input
style="width: 100px"
size="small"
type="number" min="10"
v-model="configQuery.orderSyncTime"
:disabled="configQuery.autoUpload"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
参数设置
</template>
<el-row :gutter="20" class="el-row">
<el-col :span="20" class="el-col">
<div>
<span>单据上传起始时间:&nbsp;</span>
<el-date-picker
v-model="configQuery.orderStartTime"
type="date"
value-format="yyyy-MM-dd"
:disabled="configQuery.autoUpload"
placeholder="单据上传起始时间">
</el-date-picker>
</div>
</el-col>
</el-row>
</el-descriptions-item>
</el-descriptions>
<div style="float: right;margin-bottom: 10px;margin-right: 25px;margin-top: 18px">
<el-button type="primary" size="small"
:disabled="configQuery.autoUpload"
@click="addBusTypeDialog()">添加扫码单据类型
</el-button>
</div>
<el-table
:data="checkedBusTypes"
border
style="width: 100%"
highlight-current-row
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="单据类型"
prop="name"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="单据类型代码"
prop="action"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="单据状态"
prop="orderStatus"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag>{{ statusMap[scope.row.orderStatus] }}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="printUpload(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native="removeBus(scope.$index, scope.row)"
>移除
</el-button
>
</template>
</el-table-column>
</el-table>
</el-card>
<el-dialog
title="单据上传设置编辑"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="Updocument"
width="50%"
>
<modifyDialog :inputQuery="inputQuery"></modifyDialog>
<div style="text-align: center; margin-top: 10px;">
<el-button type="primary" size="small" icon="search" @click="onModifySubmit"
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
<el-dialog
title="添加扫码单据类型"
:visible.sync="addBusDialogVisible"
width="60%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="addBusDialogVisible"
>
<div style="float: right;margin-bottom: 10px;margin-right: 25px">
<el-button type="primary" size="small" @click="addBusType()">选入</el-button>
</div>
<el-table
:data="busTypes"
border
style="width: 100%"
@selection-change="handleCheckedChange"
>
<el-table-column type="selection" width="55" :selectable="checkSelectable"></el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="单据类型"
prop="name"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="单据类型代码"
prop="action"
show-overflow-tooltip
></el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="busQuery.page"
:limit.sync="busQuery.limit"
@pagination="getBuType"
/>
</el-dialog>
</div>
</template>
<script>
import modifyDialog from "./uploadModify";
import {getBusTypeList} from "@/api/basic/busType";
import {addBus, editBus, getBusList, getConfig, removeBus, saveConfig, updateConfig} from "@/api/thrsys/thrUploadSet";
import {isBlank} from "@/utils/strUtil";
import {filterListInvoice} from "@/api/inout/orderDetailBiz";
import {updateBasicThirdSys} from "@/api/thrsys/basicThirdSys";
import modifyDetailDialog from "@/views/thirdSys/api/BasicThirdSysDetailModify";
import DialogEditBusUpload from "@/views/thirdSys/api/DialogEditBusUpload";
import DialogEditBusDown from "@/views/thirdSys/api/DialogEditBusDown";
export default {
name: "uploadSetting",
data() {
return {
configQuery: {
autoUpload: null,
orderSyncTime: null,
orderStartTime: null,
orderUnCheck: null,
orderUnReceive: null,
orderScanFinish: null,
checkWebNew: null,
checkPdaUn: null,
checkPdaEd: null,
checkUdims: null,
checkPc: null,
checkSp: null,
checkChange: null,
checkBalacne: null,
orderSources: [],
busTypes: []
},
checkedBusTypes: [],
busQuery: {
enable: true,
page: 1,
limit: 10
},
Updocument: false,
inputQuery: null,
loading: false,
list: [],
total: 0,
busTypes: [],
addBusDialogVisible: false,
multipleSelection: [],
statusMap: {
1: "未审核",
2: "已审核",
3: "已确认",
},
};
},
methods: {
saveConfig() {
this.$confirm('是否确认修改?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
center: true,
}).then(() => {
if (this.checkedBusTypes != null) {
this.configQuery.busTypes = this.checkedBusTypes;
}
saveConfig(this.configQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.$message.success("修改成功!");
this.getConfig();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
});
}).catch(() => {
});
},
addBusTypeDialog() {
this.addBusDialogVisible = true;
this.multipleSelection = [];
},
//单据编辑
printUpload(row) {
this.Updocument = true;
this.inputQuery = row;
},
onModifySubmit() {
editBus(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
this.getSelectBus();
this.Updocument = false;
this.$message.success(response.data);
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
//取消
cancelDialog() {
this.getBuType();
this.Updocument = false;
// this.modifyBusYypeDialogVisible = false;
},
//删除
removeBus(index, row) {
let query = {
id: row.id,
}
removeBus(query).then((res) => {
if (res.code == 20000) {
this.getSelectBus();
} else {
this.$message.error(response.message);
}
}).catch((error) => {
this.loading = false;
});
},
getBuType() {
getBusTypeList(this.busQuery).then((res) => {
this.busTypes = res.data.list || [];
this.total = res.data.total || 0;
this.getConfig();
}).catch(() => {
});
},
//获取已选入单据类型
getSelectBus() {
getBusList().then((res) => {
if (res.code == 20000)
this.checkedBusTypes = res.data;
}).catch((error) => {
this.loading = false;
});
},
getConfig() {
getConfig().then((res) => {
this.configQuery = res.data;
}).catch((error) => {
this.loading = false;
});
},
addBusType() {
let selectedData = this.multipleSelection;
selectedData.forEach(item => {
item.id = null
});
this.addBusDialogVisible = false;
let query = {
busTypes: selectedData,
};
addBus(query).then((res) => {
if (res.code == 20000) {
this.checkedBusTypes = this.res.data;
} else {
this.$message.error(res.message);
}
}).catch((error) => {
this.loading = false;
})
},
handleCheckedChange(row) {
this.multipleSelection = row;
},
checkSelectable(row) {
return !row.isSelect
},
},
filters: {
statusFilterType(status) {
const statusMap = {
false: "success",
true: "warning",
};
return statusMap[status];
},
},
components: {
modifyDialog
},
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
},
created() {
this.getBuType();
this.getSelectBus();
},
};
</script>
<style type="text/scss" lang="scss">
</style>