Browse Source

2023-5-11

master
guoxing 2 years ago
parent
commit
a5731b0dfa
  1. 8
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/oilTypeInAndOutBound/oilTypeInAndOutBound.js
  2. 30
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/portal/Upload.js
  3. 384
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/components/uploadFile/upload_yanchejianchaTuBiao.vue
  4. 12
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/layout/components/Sidebar/index.vue
  5. 12
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/router/index.js
  6. 6
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialInfo/index.vue
  7. 0
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialInfo/materialInfoAdd.vue
  8. 20
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialType/index.vue
  9. 23
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialType/materialTypeAdd.vue
  10. 0
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialType/oilTypeInfo.vue
  11. 6
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/oilTank/oilTankAdd.vue
  12. 3
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/inventory/oilTypeInBoundList/index.vue
  13. 111
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/oilTypeInBound/index.vue
  14. 93
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/oilTypeOutBound/index.vue
  15. 24
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/recordOilTank/index.vue

8
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/oilTypeInAndOutBound/oilTypeInAndOutBound.js

@ -13,6 +13,14 @@ export default {
})
},
// 获取油罐by Sid
tankLisBySid: function(sid) {
return request({
url: '/cyf/tankinfo/listByType/' + sid
})
},
// 入库
logPagerList: function(params) {

30
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/portal/Upload.js

@ -0,0 +1,30 @@
import request from '@/utils/request'
import qs from 'qs'
// 统一请求路径前缀
const base = process.env.VUE_APP_URL
// 文件上传接口
export const uploadFile = '/api/file/upload'
// export const uploadFile = process.env.VUE_APP_BASE_API + '/customer/file/upload'
// 上传图片
// export function imageUpload(data) {
// return request({
// url: '/portal/file/upload',
// method: 'post',
// data,
// headers: { 'Content-Type': 'multipart/form-data' }
// })
// }
// 移除图片
export function deleteFilesOss(data) {
return request({
url: '/base/v1/baseVehicleAppendixs/deleteFilesOss',
method: 'post',
data: qs.stringify(data),
// headers: { 'Content-Type': 'multipart/form-data' }
})
}

384
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/components/uploadFile/upload_yanchejianchaTuBiao.vue

@ -1,222 +1,226 @@
<template>
<div>
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken" :action="uploadFile" :accept="accept" list-type="picture-card" :limit="limit" :file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees" :on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon"/>
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken" :action="uploadFile"
:accept="accept" list-type="picture-card" :file-list="files" :on-remove="removeImage"
:on-preview="handlePictureCardPreview" :on-progress="uploadProgrees"
:on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon" />
</el-upload>
<el-dialog :visible.sync="dialogVisible" title="查看图片">
<el-dialog :visible.sync="dialogVisible" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
import { uploadFile_yanchejiancha } from '@/api/portal/Upload'
import { getStorage } from '@/utils/auth.js'
import {
uploadFile
} from '@/api/portal/Upload'
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: ''
},
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)
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: ''
// },
accept: {
type: String,
default: '.jpg,.jpeg,.png,.JPG,.JPEG,'
},
//
name: {
type: Array,
required: true
},
uploadData: {
type: Object,
default: {}
}
}
},
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]
})
}
data() {
return {
dialogImageUrl: '',
dialogVisible: false,
accessToken: null,
uploadFile: uploadFile,
fileList_FuJian: [],
enclosure: '',
file_add: '',
file_catch: '',
files: [],
files_list: [],
filedUrl: '',
// fileUrl: fileUrl,
// showpicture:false,
isview: false,
nameArr: '',
loadding: false
}
},
handlePictureCardPreview(file) {
this.dialogVisible = true
this.dialogImageUrl = file.url
},
// --
uploadImgSuccess_FuJian(response, file, fileList) {
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)
watch: {
name: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
this.files = newVal
}
}
},
removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1)
const imgFiles = []
this.files.forEach((o) => {
imgFiles.push(o.url)
mounted() {
this.$nextTick(() => {
this.Init()
})
this.$emit('fileChange', this.files)
},
handleRemove(file, fileList) {
console.log('file:' + JSON.stringify(file))
console.log('fileList:' + JSON.stringify(fileList))
this.enclosure = ''
// 1. id(this.file_add)
this.getNewFileId(fileList)
// 2. id(this.file_catch)
this.getCatchFileId(file)
// 3. id
this.getFileId()
// 4. id
this.$emit('change', this.enclosure)
},
// this.file_add(id)
getNewFileId(fileList) {
// debugger
this.file_add = ''
for (var i = 0; i < fileList.length; i++) {
if (fileList[i].response && fileList[i].response.code === '200') {
this.file_add = this.file_add + fileList[i].response.data + ','
}
created() {
this.uploadFile = uploadFile //
this.accessToken = {
token: getStorage()
}
if (this.file_add !== '') {
this.file_add = this.file_add.substring(0, this.file_add.length - 1)
}
// console.log('1. this.file_add: ' + this.file_add)
},
// this.file_catchid
getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== '') {
// 1. id
if (this.files_list[i].name === file.name) {
// 2. file_catchfils_arry
var fils_arry = this.file_catch.split(',')
// 3. fils_arry this.files_list[i].id
var arry = []
fils_arry.forEach((element) => {
//
if (element !== this.files_list[i].id) {
arry.push(element)
}
methods: {
showImg(imgList) {
this.files = imgList
},
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]
})
// 4. file_catch
this.file_catch = arry.join(',')
}
}
}
// console.log('2. this.file_catch:' + this.file_catch)
},
// id
getFileId() {
// console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add)
if (this.file_catch !== '') {
},
handlePictureCardPreview(file) {
this.dialogVisible = true
this.dialogImageUrl = file.url
},
// --
uploadImgSuccess_FuJian(response, file, fileList) {
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)
},
handleRemove(file, fileList) {
console.log('file:' + JSON.stringify(file))
console.log('fileList:' + JSON.stringify(fileList))
this.enclosure = ''
// 1. id(this.file_add)
this.getNewFileId(fileList)
// 2. id(this.file_catch)
this.getCatchFileId(file)
// 3. id
this.getFileId()
// 4. id
this.$emit('change', this.enclosure)
},
// this.file_add(id)
getNewFileId(fileList) {
// debugger
this.file_add = ''
for (var i = 0; i < fileList.length; i++) {
if (fileList[i].response && fileList[i].response.code === '200') {
this.file_add = this.file_add + fileList[i].response.data + ','
}
}
if (this.file_add !== '') {
this.enclosure = this.file_catch + ',' + this.file_add
this.file_add = this.file_add.substring(0, this.file_add.length - 1)
}
// console.log('1. this.file_add: ' + this.file_add)
},
// this.file_catchid
getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== '') {
// 1. id
if (this.files_list[i].name === file.name) {
// 2. file_catchfils_arry
var fils_arry = this.file_catch.split(',')
// 3. fils_arry this.files_list[i].id
var arry = []
fils_arry.forEach((element) => {
//
if (element !== this.files_list[i].id) {
arry.push(element)
}
})
// 4. file_catch
this.file_catch = arry.join(',')
}
}
}
// console.log('2. this.file_catch:' + this.file_catch)
},
// id
getFileId() {
// console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add)
if (this.file_catch !== '') {
if (this.file_add !== '') {
this.enclosure = this.file_catch + ',' + this.file_add
} else {
this.enclosure = this.file_catch
}
} else {
this.enclosure = this.file_catch
this.enclosure = this.file_add
}
} else {
this.enclosure = this.file_add
}
},
//
uploadError() {
this.loadding = false
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
},
//
uploadError() {
this.loadding = false
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
}
// console.log('event:', event)
}
// console.log('event:', event)
}
}
}
</script>
<style scoped></style>

12
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/layout/components/Sidebar/index.vue

@ -137,20 +137,20 @@
component: 'index',
meta: {
icon: "el-icon-help",
title: "料类型"
title: "料类型"
},
name: "/baseInfo/rawMaterialType",
path: "/baseInfo/rawMaterialType",
name: "/baseInfo/materialType",
path: "/baseInfo/materialType",
},
{
alwaysShow: true,
component: 'index',
meta: {
icon: "el-icon-help",
title: "料信息"
title: "料信息"
},
name: "/baseInfo/rawMaterialInfo",
path: "/baseInfo/rawMaterialInfo",
name: "/baseInfo/materialInfo",
path: "/baseInfo/materialInfo",
},
{
alwaysShow: true,

12
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/router/index.js

@ -52,21 +52,21 @@ export const constantRoutes = [{
title: '基础信息'
},
children: [{
path: '/baseInfo/rawMaterialType',
path: '/baseInfo/materialType',
component: () =>
import('@/views/baseInfo/rawMaterialType/index.vue'),
import('@/views/baseInfo/materialType/index.vue'),
name: 'index',
meta: {
title: '料类型'
title: '料类型'
}
},
{
path: '/baseInfo/rawMaterialInfo',
path: '/baseInfo/materialInfo',
component: () =>
import('@/views/baseInfo/rawMaterialInfo/index.vue'),
import('@/views/baseInfo/materialInfo/index.vue'),
name: 'index',
meta: {
title: '料信息'
title: '料信息'
}
},
{

6
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/rawMaterialInfo/index.vue → yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialInfo/index.vue

@ -41,7 +41,7 @@
</div>
</div>
<rawMaterialInfoAdd v-show="viewState ==2 || viewState ==3" ref="divAdd" @doback="resetState" @reloadlist="getList" />
<materialInfoAdd v-show="viewState ==2 || viewState ==3" ref="divAdd" @doback="resetState" @reloadlist="getList" />
<!-- <oilTypeInfo v-show="viewState ==4" ref="divInfo" @doback="resetState" @reloadlist="getList" /> -->
<el-dialog title="记录本次读取库存" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
@ -66,7 +66,7 @@
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import rawMaterialInfoAdd from './rawMaterialInfoAdd.vue'
import materialInfoAdd from './materialInfoAdd.vue'
// import oilTypeInfo from './oilTypeInfo.vue'
export default {
name: 'CustomerManagement',
@ -74,7 +74,7 @@
Pagination,
pageye,
ButtonBar,
rawMaterialInfoAdd,
materialInfoAdd,
// oilTypeInfo,
},

0
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/rawMaterialInfo/rawMaterialInfoAdd.vue → yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialInfo/materialInfoAdd.vue

20
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/rawMaterialType/index.vue → yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialType/index.vue

@ -1,14 +1,14 @@
<template>
<div class="app-container">
<div v-show="viewState ==1">
<button-bar view-title="料类型" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<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" label-width="80px" class="tab-header">
<el-form-item label="料名称">
<el-input v-model="listQuery.params.name" maxlength="20" placeholder="请输入料名称" class="addinputw"
<el-form-item label="料名称">
<el-input v-model="listQuery.params.name" maxlength="20" placeholder="请输入料名称" class="addinputw"
clearable />
</el-form-item>
</el-form>
@ -19,7 +19,7 @@
</div>
</div>
<div class="listtop">
<div class="tit">料列表</div>
<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>
@ -34,9 +34,9 @@
<el-button type="primary" size="mini" @click="doDel(scope.row)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="料类型" prop="name" align="center" />
<el-table-column label="料编码" prop="number" align="center" />
<el-table-column label="料Code" prop="code" align="center" />
<el-table-column label="料类型" prop="name" align="center" />
<el-table-column label="料编码" prop="number" align="center" />
<el-table-column label="料Code" prop="code" align="center" />
</el-table>
</div>
<div class="pages">
@ -45,7 +45,7 @@
</div>
</div>
</div>
<rawMaterialTypeAdd v-show="viewState ==2 || viewState ==3" ref="divAdd" @doback="resetState" @reloadlist="getList" />
<materialTypeAdd v-show="viewState ==2 || viewState ==3" ref="divAdd" @doback="resetState" @reloadlist="getList" />
<!-- <oilTypeInfo v-show="viewState ==4" ref="divInfo" @doback="resetState" @reloadlist="getList" /> -->
</div>
</template>
@ -55,7 +55,7 @@
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import rawMaterialTypeAdd from './rawMaterialTypeAdd.vue'
import materialTypeAdd from './materialTypeAdd.vue'
// import oilTypeInfo from './oilTypeInfo.vue'
export default {
name: 'CustomerManagement',
@ -63,7 +63,7 @@
Pagination,
pageye,
ButtonBar,
rawMaterialTypeAdd,
materialTypeAdd,
// oilTypeInfo,
},

23
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/rawMaterialType/rawMaterialTypeAdd.vue → yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialType/materialTypeAdd.vue

@ -3,7 +3,7 @@
<div class="tab-header webtop">
<!-- 标题 -->
<div>料类型</div>
<div>料类型</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
@ -17,15 +17,22 @@
<el-card class="box-card">
<div class="item">
<span class="item_text">原料类型</span>
<span class="item_text">原料/包装物</span>
<div class="item_input">
<el-radio v-model="radio" label="1">原料</el-radio>
<el-radio v-model="radio" label="2">包装物</el-radio>
</div>
</div>
<div class="item">
<span class="item_text">物料类型</span>
<el-input v-model="formobj.name" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">原料编码</span>
<span class="item_text">料编码</span>
<el-input v-model="formobj.number" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">料Code</span>
<span class="item_text">料Code</span>
<el-input v-model="formobj.code" placeholder="" class="item_input" clearable />
</div>
</el-card>
@ -41,8 +48,10 @@
data() {
return {
submitdisabled: false,
radio:"1",
formobj: {
sid: "",
type:"",
name: "",
number: "",
code: ""
@ -51,6 +60,12 @@
},
methods: {
saveOrUpdate() {
console.log("radio》》》》》》》",this.radio)
this.formobj.type = this.radio
if(this.formobj.sid){
req.updateData(this.formobj)
.then(resp => {

0
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/rawMaterialType/oilTypeInfo.vue → yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialType/oilTypeInfo.vue

6
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/oilTank/oilTankAdd.vue

@ -21,14 +21,14 @@
<el-input v-model="formobj.number" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">原油类型</span>
<el-select v-model="formobj.crudeName" filterable placeholder="请选择原油类型" class="item_input" @change="getType">
<span class="item_text">原油名称</span>
<el-select v-model="formobj.crudeName" filterable placeholder="请选择原油名称" class="item_input" @change="getType">
<el-option v-for="item in crudeList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
<!-- <el-input v-model="formobj.number" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">原油编</span>
<span class="item_text">原油编</span>
<el-input v-model="formobj.crudeNumber" placeholder="" :readonly="true" class="item_input" clearable />
<!-- <span class="item_input">{{formobj.crudeNumber}}</span> -->
</div>

3
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/inventory/oilTypeInBoundList/index.vue

@ -32,8 +32,9 @@
<el-table-column prop="contractSigningDate" label="合同日期" width="150" align="center" />
<el-table-column prop="licensePlateNumber" label="发货车牌号" width="150" align="center" />
<el-table-column prop="warehousingDate" label="入库日期" width="150" align="center" />
<el-table-column prop="crudeName" label="原油名称" width="150" align="center" />
<el-table-column prop="crudeNumber" label="原油编码" width="150" align="center" />
<el-table-column prop="tankNumber" label="油罐编号" width="150" align="center" />
<el-table-column prop="crudeName" label="原油类型" width="150" align="center" />
<el-table-column prop="weight" label="收料净重" width="150" align="center" />
<el-table-column prop="value" label="收料价值" width="150" align="center" />
<el-table-column prop="inventory" label="收料后库存" width="150" align="center" />

111
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/oilTypeInBound/index.vue

@ -38,6 +38,18 @@
<el-date-picker v-model="formobj.warehousingDate" type="date" format="yyyy-MM-dd" class="item_input"
value-format="yyyy-MM-dd" placeholder="请选择" />
</div>
<div class="item">
<span class="item_text">原油名称</span>
<el-select v-model="formobj.crudeName" filterable placeholder="请选择原油名称" class="item_input" @change="getType">
<el-option v-for="item in crudeList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
<!-- <el-input v-model="formobj.number" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">原油编号</span>
<el-input v-model="formobj.crudeNumber" placeholder="" :readonly="true" class="item_input" clearable />
<!-- <span class="item_input">{{formobj.crudeNumber}}</span> -->
</div>
<div class="item">
<span class="item_text">油罐编号</span>
<el-select v-model="formobj.tankName" filterable placeholder="请选择油罐编号" class="item_input" @change="getTank">
@ -45,11 +57,6 @@
</el-select>
<!-- <el-input v-model="formobj.number" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">原油种类</span>
<el-input v-model="formobj.oilType" placeholder="" :readonly="true" class="item_input" clearable />
<!-- <span class="item_input">{{formobj.crudeNumber}}</span> -->
</div>
<div class="item">
<span class="item_text">收料净重</span>
<el-input v-model="formobj.weight" placeholder="" class="item_input" clearable />
@ -63,6 +70,12 @@
<span class="item_text">备注</span>
<el-input v-model="formobj.remarks" placeholder="" class="item_input" clearable />
</div>
<div class="item" style="margin-top: 70px;">
<span class="item_text">登记材料</span>
<upload class="item_input" ref="uploadImg" v-model="imgList" @change="backData" bucket="map"
:upload-data="{ type: '0001' }"></upload>
</div>
</el-card>
</div>
@ -72,38 +85,69 @@
<script>
import req from '@/api/oilTypeInAndOutBound/oilTypeInAndOutBound'
import req2 from '@/api/oilTank/oilTank'
import upload from '@/components/uploadFile/upload_yanchejianchaTuBiao'
export default {
components: {
upload
},
data() {
return {
submitdisabled: false,
crudeLists: [],
crudeList: [],
tankLists: [],
tankList: [],
imgList: [],
imgList2: [],
formobj: {
sid: "",
contractNumber: "",
contractSigningDate: "",
warehousingDate: "",
crudeSid: "",
crudeName: "",
crudeNumber: "",
tankName: "",
tankSid: "",
oilType: "",
weight: "",
value: "",
supplierSid: "",
licensePlateNumber: "",
remarks: "",
crudeOilStorageFile:[],
}
}
},
created() {
this.getTankList()
this.crudeinfoList()
},
methods: {
getTankList() {
req.tankList().then((res) => {
crudeinfoList() {
req.crudeinfoList().then((res) => {
if (res.success) {
console.log(">>>>>>>>>2222222", res.data)
this.crudeLists = res.data
for (var i = 0; i < this.crudeLists.length; i++) {
let item = {
name: this.crudeLists[i].name,
sid: this.crudeLists[i].sid,
}
this.crudeList.push(item)
}
}
})
},
getTankList(sid) {
req.tankLisBySid(sid).then((res) => {
if (res.success) {
console.log(">>>>>>>>>111111111111wwwwwwwwww", res.data)
this.tankLists = res.data
this.tankList =[]
for (var i = 0; i < this.tankLists.length; i++) {
let item = {
@ -126,20 +170,26 @@
type: 'success',
message: resp.msg
})
this.formobj = {
this.formobj = {
sid: "",
salesContractNumber: "",
contractNumber: "",
contractSigningDate: "",
deliveryDate: "",
flowmeterSid: "",
flowmeterName: "",
warehousingDate: "",
crudeSid: "",
crudeName: "",
crudeNumber: "",
tankName: "",
oilType: "",
tankSid: "",
weight: "",
value: "",
supplierSid: "",
licensePlateNumber: "",
remarks: "",
}
crudeOilStorageFile:[],
}
this.imgList = []
this.imgList2 = []
} else {
// resp.code
}
@ -148,15 +198,35 @@
},
handleReturn() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
getType(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.crudeLists.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
this.formobj.crudeNumber = choose[0].number
this.formobj.crudeSid = value
this.getTankList(value)
},
getTank(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.tankLists.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
this.formobj.tankSid = choose[0].sid
this.formobj.oilType = choose[0].crudeName
},
backData(value) {
console.log("backData>>>>>", value)
const aa = []
if (value.length > 0 && value != null && value != undefined) {
for (var i = 0; i < value.length; i++) {
aa.push(value[i].url)
}
}
this.formobj.crudeOilStorageFile = aa
},
}
}
@ -167,6 +237,7 @@
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
padding-bottom: 50px;
.item {
display: flex;

93
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/oilTypeOutBound/index.vue

@ -13,7 +13,7 @@
<!-- end 详情按钮 -->
</div>
<div>
<div class="listconadd">
<el-card class="box-card">
<div class="item">
@ -31,17 +31,24 @@
value-format="yyyy-MM-dd" placeholder="请选择" />
</div>
<div class="item">
<span class="item_text">油罐编号</span>
<el-select v-model="formobj.tankName" filterable placeholder="请选择油罐编号" class="item_input" @change="getTank">
<el-option v-for="item in tankList" :key="item.sid" :label="item.name" :value="item.sid" />
<span class="item_text">原油名称</span>
<el-select v-model="formobj.crudeName" filterable placeholder="请选择原油名称" class="item_input" @change="getType">
<el-option v-for="item in crudeList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
<!-- <el-input v-model="formobj.number" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">原油编号</span>
<el-input v-model="formobj.oilType" placeholder="" :readonly="true" class="item_input" clearable />
<el-input v-model="formobj.crudeNumber" placeholder="" :readonly="true" class="item_input" clearable />
<!-- <span class="item_input">{{formobj.crudeNumber}}</span> -->
</div>
<div class="item">
<span class="item_text">油罐编号</span>
<el-select v-model="formobj.tankName" filterable placeholder="请选择油罐编号" class="item_input" @change="getTank">
<el-option v-for="item in tankList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
<!-- <el-input v-model="formobj.number" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">流量仪器</span>
<el-input v-model="formobj.flowmeterName" placeholder="" :readonly="true" class="item_input" clearable />
@ -59,6 +66,12 @@
<span class="item_text">备注</span>
<el-input v-model="formobj.remarks" placeholder="" class="item_input" clearable />
</div>
<div class="item" style="margin-top: 70px;">
<span class="item_text">登记材料</span>
<upload class="item_input" ref="uploadImg" v-model="imgList" @change="backData"
bucket="map" :upload-data="{ type: '0001' }"></upload>
</div>
</el-card>
</div>
@ -68,17 +81,29 @@
<script>
import req from '@/api/oilTypeInAndOutBound/oilTypeInAndOutBound'
import req2 from '@/api/oilTank/oilTank'
import upload from '@/components/uploadFile/upload_yanchejianchaTuBiao'
export default {
components: {
upload
},
data() {
return {
submitdisabled: false,
crudeLists: [],
crudeList: [],
tankLists: [],
tankList: [],
imgList: [],
imgList2: [],
formobj: {
sid: "",
salesContractNumber: "",
contractSigningDate: "",
deliveryDate: "",
crudeSid: "",
crudeName: "",
crudeNumber: "",
tankSid: "",
tankName: "",
flowmeterName: "",
@ -86,20 +111,41 @@
weight: "",
value: "",
remarks: "",
crudeOilOutboundFiles :[],
}
}
},
created() {
console.log(">>>>>>>>>created")
this.getTankList()
this.crudeinfoList()
},
methods: {
getTankList() {
req.tankList().then((res) => {
crudeinfoList() {
req.crudeinfoList().then((res) => {
if (res.success) {
console.log(">>>>>>>>>2222222", res.data)
this.crudeLists = res.data
for (var i = 0; i < this.crudeLists.length; i++) {
let item = {
name: this.crudeLists[i].name,
sid: this.crudeLists[i].sid,
}
this.crudeList.push(item)
}
}
})
},
getTankList(sid) {
req.tankLisBySid(sid).then((res) => {
if (res.success) {
console.log(">>>>>>>>>111111111111wwwwwwwwww", res.data)
this.tankLists = res.data
this.tankList =[]
for (var i = 0; i < this.tankLists.length; i++) {
let item = {
@ -127,6 +173,9 @@
salesContractNumber: "",
contractSigningDate: "",
deliveryDate: "",
crudeSid: "",
crudeName: "",
crudeNumber: "",
tankSid: "",
tankName: "",
flowmeterName: "",
@ -134,8 +183,11 @@
weight: "",
value: "",
remarks: "",
crudeOilOutboundFiles :[],
}
this.imgList = []
this.imgList2 = []
} else {
// resp.code
}
@ -147,15 +199,33 @@
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
getType(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.crudeLists.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
this.formobj.crudeNumber = choose[0].number
this.formobj.crudeSid = value
this.getTankList(value)
},
getTank(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.tankLists.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
this.formobj.tankSid = choose[0].sid
this.formobj.oilType = choose[0].crudeName
this.formobj.flowmeterName = choose[0].flowmeterName
},
backData(value) {
console.log("backData>>>>>", value)
const aa = []
if (value.length > 0 && value != null && value != undefined) {
for (var i = 0; i < value.length; i++) {
aa.push(value[i].url)
}
}
this.formobj.crudeOilOutboundFiles = aa
},
}
}
</script>
@ -165,6 +235,7 @@
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
padding-bottom: 50px;
.item {
display: flex;
@ -221,4 +292,4 @@
}
}
</style>
</style>

24
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/recordOilTank/index.vue

@ -26,6 +26,12 @@
<span class="item_text">油罐库存高度</span>
<el-input v-model="formobj.height" placeholder="" class="item_input" clearable />
</div>
<div class="item" style="margin-top: 70px;">
<span class="item_text">登记材料</span>
<upload class="item_input" ref="uploadImg" v-model="imgList" :limit="3" @change="backData"
bucket="map" :upload-data="{ type: '0001' }"></upload>
</div>
</el-card>
</div>
@ -36,12 +42,18 @@
<script>
import req from '@/api/oilTank/oilTank'
import req2 from '@/api/oilTypeInAndOutBound/oilTypeInAndOutBound'
import upload from '@/components/uploadFile/upload_yanchejianchaTuBiao'
export default {
components: {
upload
},
data() {
return {
submitdisabled: false,
tankLists: [],
tankList: [],
imgList: [],
imgList2: [],
formobj: {
tankName: "",
tankSid: "",
@ -105,6 +117,17 @@
this.formobj.tankSid = choose[0].sid
this.formobj.tankName = choose[0].number
},
backData(value) {
console.log("backData>>>>>", value)
// const aa = []
// if (value.length > 0 && value != null && value != undefined) {
// for (var i = 0; i < value.length; i++) {
// aa.push(value[i].url)
// }
// }
// this.formobj.businessLicenseFiles = aa
},
}
}
</script>
@ -114,6 +137,7 @@
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
padding-bottom: 50px;
.item {
display: flex;

Loading…
Cancel
Save