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

This commit is contained in:
dingjie 2023-12-23 20:53:06 +08:00
commit 5897142cc5
13 changed files with 272 additions and 96 deletions

View File

@ -120,6 +120,11 @@ public class BackApplyInfo {
*/
private String inputNum;
/**
* 关键字
*/
private String keyWord;
/**
* 任务类型
*/
@ -129,4 +134,8 @@ public class BackApplyInfo {
* 任务id
*/
private Integer taskId;
private BackApplyInfo info;
private BackApplyInfo[] arr;
}

View File

@ -185,4 +185,8 @@ public class BackApplyInfo extends BaseEntity {
@ApiModelProperty(value="退料任务实体集合")
private List<BackApplyInfo> backApplyDetails;
private String guigeCn;
private String preNum;
private String typeCn;
}

View File

@ -5,7 +5,7 @@
"author": "机具",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
"dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",

View File

@ -114,6 +114,15 @@ export function submitLeaseApply(params = {}){
})
}
//编辑 领料申请
export function editLeaseApply(params = {}){
return request({
url:'/base/tm_task/edit',
method: 'post',
data:params
})
}
// 参数 领料任务
export function deleteTask( taskId ){
return request({
@ -131,11 +140,10 @@ export function getTaskDetail( params = {} ){
})
}
// 获取 物品类型
export function getUseTypeTreee(params = {}){
// 领料审核 同意
export function auditLeaseByCompany(params = {} ){
return request({
url: '/material/backApply/getUseTypeTree',
url:'/base/tm_task/auditLeaseByCompany',
method:'post',
data:params
})
@ -171,8 +179,6 @@ export function getUseTypeTreee(params = {}){

View File

@ -280,6 +280,15 @@ export function delRepairer(data) {
})
}
//机具厂家-下拉数据
export function getDeviceFactoryCbx(data) {
return request({
url: '/base/select/getDeviceFactoryCbx',
method: 'post',
data: data
})
}

View File

@ -276,7 +276,9 @@ export default {
dialogImageUrl: '',
dialogVisible: false,
//
uploadUrl:'http://192.168.0.14:21624/system',//线+system
// uploadUrl:'http://192.168.0.14:21624/system',//线+system
uploadUrl:'http://112.29.103.165:21624/system',//线+system
//
rules: {
contractCode: [

View File

@ -126,13 +126,15 @@
<el-form-item label="验收图片" prop="checkUrl">
<el-upload
:http-request="(obj) => imgUpLoad(obj,'fileUrl')"
action="#"
action="#" :limit='1'
:file-list="fileList"
:show-file-list="false"
:show-file-list="true"
list-type="picture-card"
accept=".png,.jpg,.jpeg">
<img v-if="imageUrl" :src="uploadUrl+imageUrl" style="width: 140px;height: 140px;" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
accept=".png,.jpg,.jpeg"
:on-success="handleAvatarSuccess"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove">
<i class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-form>
@ -153,13 +155,15 @@
<el-form-item label="验收图片" prop="checkUrl">
<el-upload
:http-request="(obj) => imgUpLoad(obj,'fileUrl')"
action="#"
action="#" :limit='1'
:file-list="fileList"
:show-file-list="false"
:show-file-list="true"
list-type="picture-card"
accept=".png,.jpg,.jpeg">
<img v-if="imageUrl" :src="uploadUrl+imageUrl" style="width: 140px;height: 140px;" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
accept=".png,.jpg,.jpeg"
:on-success="handleAvatarSuccess"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove">
<i class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-form>
@ -240,7 +244,7 @@
</el-dialog>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
<img width="100%" height="650px" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
@ -300,7 +304,8 @@ export default {
fileList:[],
field101fileList:[],
//
uploadUrl:'http://192.168.0.14:21624/system',//线+system
// uploadUrl:'http://192.168.0.14:21624/system',//线+system
uploadUrl:'http://112.29.103.165:21624/system',//线+system
// uploadUrl:'http://10.40.92.140:9201',//
dialogImageUrl: '',
dialogVisible: false,
@ -587,8 +592,6 @@ export default {
this.aform.checkUrl = res.data.fileUrl;
this.aform.checkUrlName = res.data.fileName;
}
this.imageUrl = res.data.fileUrl;
this.imageName = res.data.fileName;
}else{
// this.$msgError(res.msg)
this.$modal.msgError(res.msg);
@ -598,6 +601,26 @@ export default {
this.$modal.msgError(error);
})
},
handleAvatarSuccess(res,file) {
console.log("success")
},
handleRemove(file, fileList) {
console.log(file, fileList);
if(this.open){
this.form.checkUrl = '';
this.form.checkUrlName = '';
}
if(this.openAll){
this.aform.checkUrl = '';
this.aform.checkUrlName = '';
}
},
//
handlePictureCardPreview(file) {
console.log(file)
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
//
openImg(url){
this.dialogImageUrl = this.uploadUrl + url;

View File

@ -67,6 +67,7 @@
</el-form-item>
<el-form-item label="采购员" prop="purchaser">
<el-select v-model="maForm.purchaser" placeholder="请选择采购员" style="width: 100%;">
<el-option label="请选择" :value="0" ></el-option>
<el-option
v-for="item in userList"
:key="item.userId"

View File

@ -114,8 +114,8 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="固定资产" prop="isFixed">
<el-select v-model="form.isFixed" placeholder="是否为固定资产" clearable allow-create="">
<el-form-item label="固定资产" prop="fixCode">
<el-select v-model="form.fixCode" placeholder="是否为固定资产" clearable allow-create="">
<el-option label="是" value="0"/>
<el-option label="否" value="1"/>
</el-select>
@ -142,8 +142,8 @@
<el-table v-loading="loading" :data="codeList" height="400">
<!-- <el-table-column type="selection" width="50" align="center" /> -->
<el-table-column label="序号" align="center" type="index"/>
<el-table-column label="机具种类" align="center" prop="typeName" :show-overflow-tooltip="true" />
<el-table-column label="规格型号" align="center" prop="specificationType" :show-overflow-tooltip="true" />
<el-table-column label="机具种类" align="center" prop="typeName" :show-overflow-tooltip="true" width="120"/>
<el-table-column label="规格型号" align="center" prop="specificationType" :show-overflow-tooltip="true" width="120"/>
<el-table-column label="设备编码" align="center" prop="maCode" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="scope.row.maCode" :disabled="scope.row.statusFlag==0" οninput="value=value.replace(/[^0-9.]/g,'')"></el-input>
@ -151,7 +151,7 @@
</el-table-column>
<el-table-column label="固定资产编码" align="center" prop="assetsCode" >
<template slot-scope="scope">
<el-input v-model="scope.row.assetsCode" v-show="form.isFixed=='0'"></el-input>
<el-input v-model="scope.row.assetsCode" v-show="form.fixCode=='0'"></el-input>
</template>
</el-table-column>
<el-table-column
@ -234,7 +234,7 @@ export default {
exCode:'',
str:'',
str1:'',
isFixed:'1',
fixCode:'1',
typeId:''
},
codeList: [],//list
@ -296,7 +296,7 @@ export default {
this.form = {
str: undefined,
str1: undefined,
isFixed:'1',
fixCode:'1',
};
this.resetForm("form");
@ -331,7 +331,7 @@ export default {
this.form = row;
this.$set(this.form,'str','')
this.$set(this.form,'str1','')
this.$set(this.form,'isFixed','1')
this.$set(this.form,'fixCode','1')
let arr = this.form.arrivalTime.split('-')
this.form.exCode = 'NSJJ'+this.form.typeCode+this.form.specsCode+arr[0][2]+arr[0][3]+arr[1];
this.form.count = row.checkNum;
@ -360,7 +360,7 @@ export default {
// typeId: this.form.typeId,
// taskId: this.form.taskId,
// assetsCode:'',
// isFixed:this.form.isFixed,
// fixCode:this.form.fixCode,
// }
// this.newCodeList.push(obj)
// }
@ -379,9 +379,9 @@ export default {
console.log()
let sum = count + this.form.bindNum;
console.log(sum)
// if(sum>this.form.checkNum){
// this.$modal.msgError(""+this.form.bindNum+",");
// }else{
if(sum>this.form.checkNum){
this.$modal.msgError("已绑定编码"+this.form.bindNum+"个,总数量已超过验收数量,请调整后缀范围。");
}else{
if(num1>num){
for(let i = 0; i < count; i++) {
let obj = {
@ -391,14 +391,14 @@ export default {
taskId: this.form.taskId,
maCode:this.form.exCode+("00000" + (num+i)).slice(-4),
assetsCode:'',
isFixed:this.form.isFixed,
fixCode:this.form.fixCode,
}
this.codeList.push(obj)
}
}else{
this.$modal.msgError("编码后缀范围输入格式不正确");
}
// }
}
},
/** 提交按钮 */

View File

@ -109,8 +109,17 @@
<el-table-column label="固定资产编号" align="center" prop="assetsCode" />
<el-table-column label="设备原编号" align="center" prop="preCode" />
<el-table-column label="二维码" align="center" prop="" />
<el-table-column label="所在仓库" align="center" prop="ownHouse" />
<el-table-column label="二维码" align="center" prop="qrCode">
<template slot-scope="scope">
<span
style="color: blue; cursor: pointer"
@click="showQrCode(scope.row)"
>
{{ scope.row.qrCode }}</span
>
</template>
</el-table-column>
<el-table-column label="所在仓库" align="center" prop="ownHouseName" />
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
@ -169,21 +178,21 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备状态" prop="maStatus">
<el-input v-model="form.maStatus" placeholder="请输入设备状态" />
<el-form-item label="设备状态" prop="maStatusName">
<el-input v-model="form.maStatusName" placeholder="请输入设备状态" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="二维码编号" >
<!-- <el-input v-model="form.dictName" placeholder="请输入字典名称" /> -->
<el-input v-model="form.qrCode" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="采购单号" prop="buyTask">
<el-input v-model="form.buyTask" placeholder="请输入购置批次" />
<el-input v-model="form.buyTask" placeholder="请输入采购单号" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
@ -196,35 +205,23 @@
<el-input v-model="form.assetsCode" placeholder="请输入固定资产编号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="所在仓库" prop="ownHouse">
<el-input v-model="form.ownHouse" placeholder="请输入所在仓库" />
<treeselect v-model="form.ownHouse" :options="deptOptions" placeholder="请选择所在仓库"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="本次检验人员" prop="checkMan">
<el-input v-model="form.checkMan" placeholder="请输入本次检验人员" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="本次检验时间" prop="thisCheckTime">
<el-input v-model="form.thisCheckTime" placeholder="请输入本次检验时间" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="下次检验时间" prop="nextCheckTime">
<el-input v-model="form.nextCheckTime" placeholder="请输入下次检验时间" />
<el-form-item label="出入库次数" prop="inOutNum">
<el-input v-model="form.inOutNum" placeholder="请输入出入库次数" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="资产属性" prop="propId">
<el-select v-model="form.propId" placeholder="请选择资产属性">
<el-option label="请选择" :value="0" ></el-option>
<el-option
v-for="keeper in propList"
:key="keeper.propId"
@ -234,26 +231,59 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="出厂时间" prop="outFacTime">
<el-input v-model="form.outFacTime" placeholder="请输入出厂时间" />
<el-form-item label="本次检验人员" prop="checkMan">
<el-input v-model="form.checkMan" placeholder="请输入本次检验人员" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="本次检验时间" prop="thisCheckTime">
<el-date-picker
v-model="form.thisCheckTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="本次检验时间"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="下次检验时间" prop="nextCheckTime">
<el-date-picker
v-model="form.nextCheckTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="下次检验时间"
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="出厂时间" prop="outFacTime">
<el-date-picker
v-model="form.outFacTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="出厂时间"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="出厂编号" prop="outFacCode">
<el-input v-model="form.outFacCode" placeholder="请输入出厂编号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="出入库次数" prop="outFacCode">
<el-input v-model="form.dictName" placeholder="请输入字典名称" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="厂家" prop="dictName">
<el-input v-model="form.dictName" placeholder="" />
<el-form-item label="厂家" prop="maVender">
<el-select v-model="form.maVender" placeholder="机具厂家" clearable style="width: 180px">
<el-option v-for="item in supplierList" :key="item.supplierId" :label="item.supplier" :value="item.supplierId" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="16">
@ -288,18 +318,45 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<el-dialog
:title="title"
:visible.sync="uploadOpen"
width="500px"
append-to-body
>
<div style="text-align: center">
<div class="uploadImg">
<div id="qrcode" class="qrcode" ref="codeItem"></div>
<!-- <img src="" alt="">-->
</div>
<div class="maCode">二维码编号{{ rowObj.qrCode }}</div>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
<!-- <el-button type="primary" @click="downloadCode"> </el-button> -->
</div>
</el-dialog>
</div>
</template>
<script>
import {addMachine, delMachine, getMachine, listMachine, updateMachine} from "@/api/store/tools";
import {addMachine, delMachine, getMachine, listMachine, updateMachine,supplierInfoList} from "@/api/store/tools";
import { getProLists } from "@/api/base/base";
import { imgUpLoad } from "@/api/system/upload";
import { getTypeList } from "@/api/store/warehousing";
import { listHouseTree } from "@/api/store/shelves";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import QRCode from 'qrcodejs2'
export default {
name: "Dict",
dicts: ['sys_normal_disable'],
components: { Treeselect },
data() {
return {
//
@ -320,14 +377,18 @@ export default {
devicesList: [],
//
title: "",
uploadOpen: false,
qrCode: '',
rowObj:{},
//
open: false,
//
dateRange: [],
supplierList:[],
itemList:[],
typeList:[],
modelList:[],
deptOptions: [],
//
queryParams: {
pageNum: 1,
@ -353,8 +414,22 @@ export default {
this.getList();
this.getPropData();
this.getTypeList();
this.supplierInfoList();
this.getHouseTree();
},
methods: {
/** 查询仓库下拉树结构 */
getHouseTree() {
listHouseTree().then(response => {
this.deptOptions = response.data;
});
},
//
supplierInfoList() {
supplierInfoList().then(response => {
this.supplierList = response.rows;
});
},
//
getTypeList() {
getTypeList({level:'2'}).then(response => {
@ -383,11 +458,35 @@ export default {
this.queryParams.endTime=this.dateRange[1]
listMachine(this.queryParams).then(response => {
this.devicesList = response.rows;
// this.devicesList[0].qrCode = "11212asdasd"
this.total = response.total;
this.loading = false;
}
);
},
showQrCode(row) {
console.log(row)
if (row.qrCode == null) {
this.$message.error('当前设备没有二维码');
return
}
// this.labelCodeName = ''
this.rowObj = row
this.uploadOpen = true;
this.title = "二维码查看";
this.qrCode = row.qrCode
this.$nextTick(() => {
this.$refs.codeItem.innerHTML = "";
var qrcode = new QRCode(this.$refs.codeItem, {
text: row.qrCode, //
width: 256,
height: 256,
colorDark: '#000000',
colorLight: '#ffffff',
correctLevel: QRCode.CorrectLevel.H,
})
}, 500)
},
//
cancel() {
this.open = false;
@ -477,3 +576,14 @@ export default {
}
};
</script>
<style lang="scss">
.uploadImg {
display: flex;
align-items: center;
justify-content: center;
}
.maCode {
margin-top: 15px;
font-size: 18px;
}
</style>

View File

@ -148,18 +148,16 @@
<el-form-item label="营业执照" prop="businessLicense">
<el-upload
:http-request="(obj) => imgUpLoad(obj,'fileUrl')"
action="#"
action="#" :limit='1'
:file-list="fileList"
:show-file-list="false"
:show-file-list="true"
list-type="picture-card"
accept=".png,.jpg,.jpeg"
:on-success="handleAvatarSuccess"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove">
<img v-if="imageUrl" :src="'http://192.168.0.14:21624/system'+imageUrl" style="width: 140px;height: 140px;" class="avatar">
<!-- <img v-if="imageUrl" :src="'http://10.40.92.140:9201'+imageUrl" style="width: 140px;height: 140px;" class="avatar"> -->
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
<i class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
<!-- <el-input v-model="form.businessLicense" placeholder="请上传营业执照" /> -->
</el-form-item>
</el-form>
@ -170,7 +168,7 @@
</el-dialog>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
<img width="100%" height="650px" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
@ -218,6 +216,10 @@ export default {
imageName:'',
fileList:[],
field101fileList:[],
//
// uploadUrl:'http://192.168.0.14:21624/system',//线+system
uploadUrl:'http://112.29.103.165:21624/system',//线+system
// uploadUrl:'http://192.168.4.2:9201',//
//
rules: {
dictName: [
@ -326,9 +328,7 @@ export default {
imgUpLoad(param).then(res => {
if(res.code == 200) {
this.form.businessLicense = res.data.fileUrl;
// this.form.photoName = res.data.fileName;
this.imageUrl = res.data.fileUrl;
// this.imageName = res.data.fileName;
}else{
// this.$msgError(res.msg)
this.$modal.msgError(res.msg);
@ -340,7 +340,6 @@ export default {
},
handleAvatarSuccess(res,file) {
console.log("success")
// this.imageUrl = URL.createObjectURL(file.raw);
// console.log(this.imageUrl)
},
@ -357,8 +356,7 @@ export default {
},
//
openImg(url){
this.dialogImageUrl = "http://192.168.0.14:21624/system" + url;//线
// this.dialogImageUrl = "http://10.40.92.140:9201" + url;//
this.dialogImageUrl = this.uploadUrl + url;
this.dialogVisible = true;
},
/** 删除按钮操作 */

View File

@ -273,16 +273,18 @@
<el-form-item label="图片" prop="photoName">
<el-upload
:http-request="(obj) => imgUpLoad(obj,'fileUrl')"
action="#" :limit='1'
action="#"
:file-list="fileList"
:show-file-list="true"
list-type="picture-card"
:show-file-list="false"
accept=".png,.jpg,.jpeg"
:on-success="handleAvatarSuccess"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove">
<i class="el-icon-plus avatar-uploader-icon"></i>
<el-button size="small" type="primary" icon="el-icon-upload">上传</el-button>
<img v-if="imageUrl" :src="uploadUrl+imageUrl" style="width: 140px;height: 140px;" class="avatar">
<!-- <i class="el-icon-plus avatar-uploader-icon"></i> -->
</el-upload>
</el-form-item>
</el-col>
</el-row>
@ -452,8 +454,9 @@ export default {
fileList:[],
field101fileList:[],
//
uploadUrl:'http://192.168.0.14:21624/system',//线+system
// uploadUrl:'http://10.40.92.140:9201',//
// uploadUrl:'http://192.168.0.14:21624/system',//线+system
// uploadUrl:'http://112.29.103.165:21624/system',//线+system
uploadUrl:'http://192.168.5.12:9201',//
defaultProps: {
children: "children",
label: "label"
@ -636,6 +639,17 @@ export default {
const typeId = row.typeId || this.ids;
getMaType(typeId).then(response => {
this.form = response.data;
// let file = {
// name:this.form.documentName,
// type:this.form.documentUrl,
// }
// this.field101fileList.push(file)
// let img = {
// name:this.form.photoName,
// type:this.uploadUrl+this.form.photoUrl,
// }
// this.fileList.push(img)
this.open = true;
this.title = "修改";
});
@ -747,14 +761,14 @@ export default {
},
//
fileUpLoad(param,name,index) {
// // console.log(param)
console.log(param,'fileUpLoad')
param.type = 'ma'
imgUpLoad(param).then(res => {
if(res.code == 200) {
this.form.documentUrl = res.data.fileUrl;
this.form.documentName = res.data.fileName;
this.field101fileList[0] = param.file
console.log(this.form)
console.log(this.field101fileList)
}else{
// this.$msgError(res.msg)
this.$modal.msgError(res.msg);

View File

@ -37,8 +37,8 @@ module.exports = {
[process.env.VUE_APP_BASE_API]: {
//192.168.0.14
// target: `http://112.29.103.165:21624`,//线上环境
target: `http://192.168.0.14:21624`,//线上环境
// target: `http://192.168.4.2:8080`,//丁
// target: `http://192.168.0.14:21624`,//线上环境
target: `http://192.168.5.12:8080`,//丁
// target: `http://10.40.92.138:8080`,//丁/
// target: `http://10.40.92.126:8080`,//高
// target: `http://10.40.92.111:8080`,//亮