
62 changed files with 1591 additions and 233 deletions
@ -0,0 +1,16 @@ |
|||
package com.yxt.anrui.base.api.basedistributor; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/9/26 15:11 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class BaseDistributorListQuery implements Query { |
|||
private static final long serialVersionUID = -7474049355274135681L; |
|||
|
|||
private String userSid; |
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.yxt.anrui.base.api.basedistributor; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/9/26 14:56 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class BaseDistributorListVo implements Vo { |
|||
private static final long serialVersionUID = 7567158573644935938L; |
|||
|
|||
private String name; |
|||
private String sid; |
|||
|
|||
|
|||
} |
@ -0,0 +1,17 @@ |
|||
package com.yxt.anrui.crm.api.crmcustomertemp; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/9/26 14:30 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class CrmCustomerTempListQuery implements Query { |
|||
private static final long serialVersionUID = -8235453055415557265L; |
|||
|
|||
private String userSid; |
|||
private String staffSid; |
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.yxt.anrui.crm.api.crmcustomertemp; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/9/26 14:28 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class CrmCustomerTempListVo implements Vo { |
|||
private static final long serialVersionUID = 5338688085476236821L; |
|||
|
|||
private String name; |
|||
private String sid; |
|||
private String mobile; |
|||
|
|||
} |
@ -0,0 +1,17 @@ |
|||
package com.yxt.anrui.portal.api.sysorganization; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/9/26 11:48 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class SysOrgStaffVo implements Vo { |
|||
private static final long serialVersionUID = -4311553944345419092L; |
|||
|
|||
private String staffName; |
|||
private String staffSid; |
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.yxt.anrui.portal.api.sysorganization; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/9/26 11:49 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class SysOrganizationListQuery implements Query { |
|||
private static final long serialVersionUID = 8657016527420117948L; |
|||
|
|||
private String userSid; |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.yxt.anrui.portal.api.sysorganization; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/9/26 11:42 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class SysOrganizationListVo implements Vo { |
|||
private static final long serialVersionUID = -3709239161608411765L; |
|||
|
|||
private String orgDeptSid; |
|||
private String orgDeptName; |
|||
|
|||
private List<SysOrgStaffVo> staffinfoVoList; |
|||
|
|||
|
|||
} |
@ -0,0 +1,58 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.scm.api.scmvehicleinventory; |
|||
|
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import com.yxt.common.core.query.Query; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_scm(anrui_scm) <br/> |
|||
* File: ScmVehicleInventoryQuery.java <br/> |
|||
* Class: anrui_scm.api.scmvehicleinventory.ScmVehicleInventoryQuery <br/> |
|||
* Description: 盘库记录 查询条件. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2022-06-15 14:30:59 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "盘库记录 查询条件", description = "盘库记录 查询条件") |
|||
public class ScmVehicleStayInventoryQuery implements Query { |
|||
|
|||
@ApiModelProperty("车架号") |
|||
private String vinNo; // 车架号
|
|||
@ApiModelProperty("存放地点sid") |
|||
private String locationSid; // 存放地点sid
|
|||
@ApiModelProperty("创建组织") |
|||
private String createOrgSid; // 创建组织
|
|||
} |
@ -0,0 +1,164 @@ |
|||
<template> |
|||
<div> |
|||
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken" :action="uploadFile" :accept="accept" :limit="limit" list-type="picture-card" :file-list="fileList_FuJian" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees" :on-error="uploadError" :on-success="uploadImgSuccess_FuJian" :multiple="multiple"> |
|||
<i class="el-icon-plus avatar-uploader-icon"/> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible" title="查看图片"> |
|||
<img width="100%" :src="dialogImageUrl" alt=""> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { uploadFile_yanchejiancha } from '@/api/portal/Upload.js' |
|||
import { getStorage } from '@/utils/auth.js' |
|||
|
|||
export default { |
|||
model: { |
|||
prop: 'name', |
|||
event: 'change' |
|||
}, |
|||
props: { |
|||
placeholder: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
bucket: { |
|||
type: String, |
|||
default: 'abc' |
|||
}, |
|||
// 长度 |
|||
width: { |
|||
type: String, |
|||
default: '270px' |
|||
}, |
|||
limit: { |
|||
type: Number, |
|||
default: '' |
|||
}, |
|||
multiple: { |
|||
type: Boolean, |
|||
default: true |
|||
}, |
|||
accept: { |
|||
type: String, |
|||
default: '.jpg,.jpeg,.png,.JPG,.JPEG,' |
|||
}, |
|||
// 文件名称 |
|||
name: { |
|||
type: Array, |
|||
required: true |
|||
}, |
|||
uploadData: { |
|||
type: Object, |
|||
default: {} |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogImageUrl: '', |
|||
dialogVisible: false, |
|||
accessToken: null, |
|||
uploadFile: uploadFile_yanchejiancha, |
|||
fileList_FuJian: [], |
|||
enclosure: '', |
|||
file_add: '', |
|||
file_catch: '', |
|||
files: [], |
|||
files_list: [], |
|||
filedUrl: '', |
|||
// fileUrl: fileUrl, |
|||
// showpicture:false, |
|||
isview: false, |
|||
nameArr: '', |
|||
loadding: false |
|||
} |
|||
}, |
|||
watch: { |
|||
name: { |
|||
deep: true, |
|||
immediate: true, |
|||
handler(newVal, oldVal) { |
|||
console.log('aaaa1', newVal) |
|||
this.files = newVal |
|||
console.log('aaaa2', this.files) |
|||
} |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$nextTick(() => { |
|||
this.Init() |
|||
}) |
|||
}, |
|||
created() { |
|||
this.uploadFile = uploadFile_yanchejiancha // 接口 |
|||
this.accessToken = { |
|||
token: getStorage() |
|||
} |
|||
}, |
|||
methods: { |
|||
showImg(imgList) { |
|||
this.files = imgList |
|||
console.log('123123123', this.files) |
|||
}, |
|||
view() { |
|||
// window.open(this.filedUrl) |
|||
}, |
|||
// 页面第一次加载 |
|||
Init() { |
|||
if (this.name !== undefined) { |
|||
this.files = [] |
|||
for (var i = 0; i < this.name.length; i++) { |
|||
this.files.push({ |
|||
name: this.name[i], |
|||
url: this.name[i] |
|||
}) |
|||
} |
|||
} |
|||
}, |
|||
handlePictureCardPreview(file) { |
|||
console.log(this.file) |
|||
this.dialogVisible = true |
|||
this.dialogImageUrl = file.url |
|||
}, |
|||
// 上传方案--成功后执行 |
|||
uploadImgSuccess_FuJian(response, file) { |
|||
console.log('您选择的file:', file) |
|||
if (file.response.code === '200') { |
|||
this.loadding = false |
|||
// 返显图片 |
|||
this.filedUrl = this.fileUrl + file.response.data |
|||
// var uid = file.response.data |
|||
this.files.push({ |
|||
name: file.response.data.sourceFileName, |
|||
url: file.response.data.fullUrl, |
|||
size: file.response.data.size |
|||
}) |
|||
this.$emit('change', this.files) |
|||
this.$emit('eett', this.files) |
|||
} |
|||
}, |
|||
|
|||
removeImage(file, ImageFileList) { |
|||
this.files.splice(this.files.indexOf(file), 1) |
|||
const imgFiles = [] |
|||
this.files.forEach((o) => { |
|||
imgFiles.push(o.url) |
|||
}) |
|||
this.$emit('fileChange', this.files) |
|||
}, |
|||
// 上传失败 |
|||
uploadError() { |
|||
this.loadding = false |
|||
}, |
|||
uploadProgrees(event, file, fileList) { |
|||
if (Number(event.percent) > 0) { |
|||
this.loadding = true |
|||
} |
|||
// console.log('event:', event) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped></style> |
@ -0,0 +1,166 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div class="tab-header webtop"> |
|||
<!--标题--> |
|||
<div>盘盈</div> |
|||
<!--start 添加修改按钮--> |
|||
<div> |
|||
<el-button type="primary" size="small" @click="handleSave()">保存</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<div class="titwu"><span>盘盈</span></div> |
|||
<el-form ref="form_obj" :model="formobj" class="formadd"> |
|||
<el-row style="border-top: 1px solid #E0E3EB"> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>车架号</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<el-input v-model="formobj.vinNo" style="width: 20%" clearable placeholder=""/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>存放地点</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<el-select v-model="formobj.location" placeholder="请选择" style="width: 20%" filterable @change="changeLocation"> |
|||
<el-option v-for="item in warehouse_list" :key="item.sid" :label="item.warehouseName" :value="item.warehouseName"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>备注</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item><el-input v-model="formobj.remarks" clearable placeholder="" class="addinputw"/></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>相关附件</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<upload ref="uploadImg" v-model="list" :limit="20" @change="backData" bucket="map" :upload-data="{ type: '0001' }"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { fetchByUseOrgSid } from '@/api/cheliang/dictcommons' |
|||
import req from '@/api/kucunguanli/panku' |
|||
import upload from '../../../components/uploadFile/upload_morebypicture' |
|||
|
|||
export default { |
|||
name: 'pankuByPanYing', |
|||
components: { |
|||
upload |
|||
}, |
|||
data() { |
|||
return { |
|||
warehouse_list: [], |
|||
list: [], |
|||
formobj: { |
|||
sid: '', |
|||
vinNo: '', |
|||
mainSid: '', |
|||
location: '', |
|||
locationSid: '', |
|||
lastData: '', |
|||
lastName: '', |
|||
inventoryName: '', |
|||
inventorySid: '', |
|||
InventoryState: '', |
|||
InventoryStateKey: '', |
|||
remarks: '', |
|||
loginName: '', |
|||
loginSid: '', |
|||
images: [] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init(createOrgSid) { |
|||
fetchByUseOrgSid({ sid: createOrgSid }).then((res) => { |
|||
if (res.success) { |
|||
this.warehouse_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
showAdd(createOrgSid, inventoryName, inventorySid) { |
|||
this.init(createOrgSid) |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.formobj.InventoryState = '盘盈' |
|||
this.formobj.InventoryStateKey = '001' |
|||
this.formobj.loginName = window.sessionStorage.getItem('name') |
|||
this.formobj.loginSid = window.sessionStorage.getItem('userSid') |
|||
if (inventoryName !== '') { |
|||
this.formobj.inventoryName = inventoryName |
|||
this.formobj.inventorySid = inventorySid |
|||
} else { |
|||
this.formobj.inventoryName = '' |
|||
this.formobj.inventorySid = '' |
|||
} |
|||
}, |
|||
changeLocation(value) { |
|||
let bb = null |
|||
this.warehouse_list.forEach((e) => { |
|||
if (e.warehouseName === value) { |
|||
bb = { |
|||
name: e.warehouseName, |
|||
sid: e.sid |
|||
} |
|||
} |
|||
}) |
|||
this.formobj.locationSid = bb.sid |
|||
}, |
|||
backData(val) { |
|||
const aa = [] |
|||
if (val.length > 0) { |
|||
val.forEach((e) => { |
|||
aa.push(e.url) |
|||
}) |
|||
} |
|||
this.formobj.images = aa |
|||
}, |
|||
handleSave() { |
|||
if (this.formobj.vinNo === '') { |
|||
this.$message({ showClose: true, type: 'error', message: '车架号不能为空' }) |
|||
return |
|||
} |
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
req.saveInventory(this.formobj).then((resp) => { |
|||
if (resp.success) { |
|||
this.$message({ showClose: true, type: 'success', message: '保存成功' }) |
|||
} |
|||
this.handleReturn() |
|||
}) |
|||
} else { |
|||
return false |
|||
} |
|||
}) |
|||
}, |
|||
handleReturn() { |
|||
this.$refs['form_obj'].resetFields() |
|||
this.$emit('doback') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
</style> |
@ -0,0 +1,198 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div class="tab-header webtop"> |
|||
<!--标题--> |
|||
<div>生成盘库报告</div> |
|||
<!--start 添加修改按钮--> |
|||
<div> |
|||
<el-button type="primary" size="small" @click="handleSave()">确定</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<div class="titwu"><span>盘库报告</span></div> |
|||
<el-form ref="form_obj" :model="formobj" class="formadd"> |
|||
<el-row style="border-top: 1px solid #E0E3EB"> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>选择接收人</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<el-select v-model="recipientList" filterable placeholder="请选择" multiple @change="changeUser"> |
|||
<el-option v-for="item in user_list" :key="item.userSid" :label="item.userName" :value="item.userSid"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>本次盘库</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<span>应盘{{ formobj.totalNumber }}台,实盘{{ formobj.actualNumber }}台,盘盈{{ formobj.profitNumber }}台,盘损{{ formobj.damageNumber }}台,盘亏{{ formobj.lossNumber }}台</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>具体情况</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<el-form-item> |
|||
<span></span> |
|||
</el-form-item> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>盘盈情况</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<span>{{ formobj.profitRemarks }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>盘损情况</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<span>{{ formobj.damageRemarks }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>盘亏情况</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<span>{{ formobj.lossRemarks }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { getGressionUserList } from '@/api/cheliang/dictcommons' |
|||
import req from '@/api/kucunguanli/panku' |
|||
|
|||
export default { |
|||
name: 'pankubaogaoAdd', |
|||
data() { |
|||
return { |
|||
recipientList: [], |
|||
user_list: [], |
|||
formobj: { |
|||
mainSid: '', |
|||
reportContent: '', |
|||
sid: '', |
|||
userSid: '', |
|||
totalNumber: '', |
|||
actualNumber: '', |
|||
profitNumber: '', |
|||
damageNumber: '', |
|||
lossNumber: '', |
|||
profitRemarks: '', |
|||
damageRemarks: '', |
|||
lossRemarks: '', |
|||
recipientList: [] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init() { |
|||
getGressionUserList(window.sessionStorage.getItem('userSid')).then((resp) => { |
|||
if (resp.success) { |
|||
this.user_list = resp.data |
|||
} |
|||
}) |
|||
}, |
|||
showAdd(row) { |
|||
this.init() |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.formobj.mainSid = row.sid |
|||
this.formobj.userSid = window.sessionStorage.getItem('userSid') |
|||
req.getCarInventoryReport(row.sid).then((resp) => { |
|||
if (resp.success) { |
|||
this.formobj.totalNumber = resp.data.totalNumber |
|||
this.formobj.actualNumber = resp.dataactualNumber |
|||
this.formobj.profitNumber = resp.data.profitNumber |
|||
this.formobj.damageNumber = resp.data.damageNumber |
|||
this.formobj.lossNumber = resp.datalossNumber |
|||
this.formobj.profitRemarks = resp.data.profitRemarks |
|||
this.formobj.damageRemarks = resp.data.damageRemarks |
|||
this.formobj.lossRemarks = resp.data.lossRemarks |
|||
} |
|||
}) |
|||
}, |
|||
changeUser(value) { |
|||
this.recipientList = value |
|||
}, |
|||
handleSave() { |
|||
if (this.recipientList.length === 0) { |
|||
this.$message({ showClose: true, type: 'error', message: '选择接收人不能为空' }) |
|||
return |
|||
} else { |
|||
const aa = [] |
|||
for (var i = 0; i < this.recipientList.length; i++) { |
|||
for (var k = 0; k < this.user_list.length; k++) { |
|||
if (this.recipientList[i] === this.user_list[k].userSid) { |
|||
aa.push({ |
|||
name: this.user_list[k].userName, |
|||
sid: this.user_list[k].userSid |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
this.formobj.recipientList = aa |
|||
} |
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
req.sendReport(this.formobj).then((resp) => { |
|||
if (resp.success) { |
|||
this.$message({ showClose: true, type: 'success', message: '保存成功' }) |
|||
this.handleReturn('true') |
|||
} |
|||
}) |
|||
} else { |
|||
return false |
|||
} |
|||
}) |
|||
}, |
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.formobj = { |
|||
mainSid: '', |
|||
reportContent: '', |
|||
sid: '', |
|||
userSid: '', |
|||
totalNumber: '', |
|||
actualNumber: '', |
|||
profitNumber: '', |
|||
damageNumber: '', |
|||
lossNumber: '', |
|||
profitRemarks: '', |
|||
damageRemarks: '', |
|||
lossRemarks: '', |
|||
recipientList: [] |
|||
} |
|||
this.$refs['form_obj'].resetFields() |
|||
this.$emit('doback') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
</style> |
@ -0,0 +1,119 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div class="tab-header webtop"> |
|||
<!--标题--> |
|||
<div>查看盘库报告</div> |
|||
<!--start 添加修改按钮--> |
|||
<div> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<div class="titwu"><span>盘库报告</span></div> |
|||
<el-form ref="form_obj" :model="formobj" class="formadd"> |
|||
<el-row style="border-top: 1px solid #E0E3EB"> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>接收人</span> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item> |
|||
<span>{{ formobj.recipient }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>发送时间</span> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item> |
|||
<span>{{ formobj.date }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>本次盘库</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<span>应盘{{ formobj.totalNumber }}台,实盘{{ formobj.actualNumber }}台,盘盈{{ formobj.profitNumber }}台,盘损{{ formobj.damageNumber }}台,盘亏{{ formobj.lossNumber }}台</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>具体情况</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<el-form-item> |
|||
<span></span> |
|||
</el-form-item> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>盘盈情况</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<span>{{ formobj.profitRemarks }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>盘损情况</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<span>{{ formobj.damageRemarks }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="tleftb"> |
|||
<span>盘亏情况</span> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item> |
|||
<span>{{ formobj.lossRemarks }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/kucunguanli/panku' |
|||
|
|||
export default { |
|||
name: 'pankubaogaoInfo', |
|||
data() { |
|||
return { |
|||
formobj: {} |
|||
} |
|||
}, |
|||
methods: { |
|||
showInfo(row) { |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
req.getCarInventoryReport(row.sid).then((resp) => { |
|||
if (resp.success) { |
|||
this.formobj = resp.data |
|||
} |
|||
}) |
|||
}, |
|||
handleReturn() { |
|||
this.$refs['form_obj'].resetFields() |
|||
this.$emit('doback') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
</style> |
@ -0,0 +1,256 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<!-- Start 列表页面 --> |
|||
<div v-show="viewState == 1"> |
|||
<button-bar view-title="盘库报告" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header" label-width="110px"> |
|||
<el-form-item label="生成日期"> |
|||
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/> |
|||
<span style="padding: 0 8px">至</span> |
|||
<el-date-picker v-model="listQuery.params. createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/> |
|||
</el-form-item> |
|||
<el-form-item label="生成人"> |
|||
<el-input v-model="listQuery.params.createByName" placeholder="" clearable/> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button> |
|||
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="listtop"> |
|||
<div class="tit">盘库报告列表</div> |
|||
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
<div class=""> |
|||
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center"/> |
|||
<el-table-column fixed width="200" label="操作" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" v-show="scope.row.showBtn" size="mini" @click="handleAdd(scope.row)">生成报告</el-button> |
|||
<el-button type="primary" v-show="!scope.row.showBtn" size="mini" @click="handleLook(scope.row)">查看报告</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="编号" width="120" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.billNo }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="生成日期" align="center" width="130"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.createTime }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="生成人" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.createByName }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="应盘(台)" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.totalNumber }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="实盘(台)" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.actualNumber }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="未盘(台)" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.surplusNumber }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="盘盈(台)" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.profitNumber }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="盘亏(台)" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.lossNumber }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="盘损(台)" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.damageNumber }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div class="pages"> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<pankubaogaoAdd v-show="viewState == 2" ref="divAdd" @doback="resetState" @reloadlist="getList"/> |
|||
<pankubaogaoInfo v-show="viewState == 3" ref="divInfo" @doback="resetState"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import req from '@/api/kucunguanli/panku' |
|||
import pankubaogaoAdd from './pankubaogaoAdd' |
|||
import pankubaogaoInfo from './pankubaogaoInfo' |
|||
import { fetchByUseOrgSid, getPathSidByUserSid } from '@/api/cheliang/dictcommons' |
|||
|
|||
export default { |
|||
name: 'pankubaogoaguanli', |
|||
components: { |
|||
Pagination, |
|||
pageye, |
|||
ButtonBar, |
|||
pankubaogaoAdd, |
|||
pankubaogaoInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
btndisabled: false, |
|||
btnList: [ |
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
isSearchShow: false, |
|||
searchxianshitit: '显示查询条件', |
|||
viewState: 1, |
|||
// 查询条件 ----------- |
|||
tableKey: 0, |
|||
list: [], |
|||
FormLoading: false, |
|||
listLoading: false, |
|||
listQuery: { |
|||
params: { |
|||
createStartTime: '', |
|||
createEndTime: '', |
|||
createByName: '', |
|||
createOrgSid: '' |
|||
}, |
|||
current: 1, |
|||
size: 5, |
|||
total: 0 |
|||
}, |
|||
rules: {} |
|||
} |
|||
}, |
|||
created() { |
|||
// 加载列表 |
|||
this.init() |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
methods: { |
|||
init() { |
|||
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((res) => { |
|||
if (res.success) { |
|||
this.listQuery.params.createOrgSid = res.data |
|||
this.getList() |
|||
} |
|||
}) |
|||
fetchByUseOrgSid({ sid: this.listQuery.params.createOrgSid }).then((res) => { |
|||
if (res.success) { |
|||
this.warehouse_list = res.data |
|||
} |
|||
}) |
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
btnHandle(btnKey) { |
|||
console.log('XXXXXXXXXXXXXXX ' + btnKey) |
|||
switch (btnKey) { |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
// 查询列表信息 |
|||
getList() { |
|||
this.listLoading = true |
|||
req.baoGao(this.listQuery).then((response) => { |
|||
console.log('列表查询结果:', response) |
|||
this.listLoading = false |
|||
if (response.success && response.data && response.data.total > 0) { |
|||
this.list = response.data.records |
|||
this.listQuery.total = response.data.total |
|||
} else { |
|||
this.list = [] |
|||
this.listQuery.total = 0 |
|||
} |
|||
}) |
|||
}, |
|||
// 查询按钮 |
|||
handleFilter() { |
|||
this.listQuery.current = 1 |
|||
this.getList() |
|||
}, |
|||
handleReset() { |
|||
this.listQuery = { |
|||
params: { |
|||
createStartTime: '', |
|||
createEndTime: '', |
|||
createByName: '', |
|||
createOrgSid: '' |
|||
}, |
|||
current: 1, |
|||
size: 5, |
|||
total: 0 |
|||
} |
|||
this.init() |
|||
}, |
|||
handleAdd(row) { |
|||
this.viewState = 2 |
|||
this.$refs['divAdd'].showAdd(row) |
|||
}, |
|||
handleLook(row) { |
|||
this.viewState = 3 |
|||
this.$refs['divInfo'].showInfo(row) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
/*表格列设置fixed后固定列出现下边框的设置*/ |
|||
/deep/ .el-table__fixed { |
|||
height: 100% !important; |
|||
} |
|||
/*表格列设置fixed后固定列出现下边框的设置*/ |
|||
/deep/ .el-table__fixed-right { |
|||
height: 100% !important; |
|||
} |
|||
</style> |
Loading…
Reference in new issue