mirror of
https://github.com/shawncai/ERP.git
synced 2024-09-20 06:56:07 +08:00
ci: 新建和修改多个功能模块点
ci: 新建和修改多个功能模块点
This commit is contained in:
parent
47d06b7901
commit
e553f97346
|
@ -25,6 +25,10 @@ export function addrole(query) {
|
|||
if (query.createPersonId !== '' && query.createPersonId !== null && query.createPersonId !== undefined) {
|
||||
params.append('createPersonId', query.createPersonId) // 你要传给后台的参数值 key/value
|
||||
}
|
||||
if (query.isConfirm !== '' && query.isConfirm !== null && query.isConfirm !== undefined) {
|
||||
params.append('isConfirm', query.isConfirm) // 你要传给后台的参数值 key/value
|
||||
}
|
||||
|
||||
return request({
|
||||
url: '/role/addrole',
|
||||
method: 'post',
|
||||
|
|
|
@ -27,6 +27,9 @@ export function stockInvoiceList(query) {
|
|||
if (query.invoiceNumber !== '' && query.invoiceNumber !== null && query.invoiceNumber !== undefined) {
|
||||
params.append('invoiceNumber', query.invoiceNumber) // 你要传给后台的参数值 key/value
|
||||
}
|
||||
if (query.sourceNumber !== '' && query.sourceNumber !== null && query.sourceNumber !== undefined) {
|
||||
params.append('sourceNumber', query.sourceNumber) // 你要传给后台的参数值 key/value
|
||||
}
|
||||
if (query.number !== '' && query.number !== null && query.number !== undefined) {
|
||||
params.append('number', query.number) // 你要传给后台的参数值 key/value
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ export function getPrintCount(query) {
|
|||
return request({
|
||||
url: '/printNum/getPrintCount',
|
||||
method: 'post',
|
||||
params: params
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ export function addPrint(query) {
|
|||
return request({
|
||||
url: '/printNum/addPrint',
|
||||
method: 'post',
|
||||
params: params
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ export function vehicleInfo(query) {
|
|||
return request({
|
||||
url: '/vehicleTrack/vehicleInfo',
|
||||
method: 'post',
|
||||
params: params
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -66,7 +66,7 @@ export function getRate(query) {
|
|||
return request({
|
||||
url: '/zcc/getRate',
|
||||
method: 'post',
|
||||
params: params
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -100,7 +100,7 @@ export function endMonthCount(query) {
|
|||
return request({
|
||||
url: '/endmonth/endMonthCount',
|
||||
method: 'post',
|
||||
params: params
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -116,7 +116,7 @@ export function countlist3(query1, query2) {
|
|||
return request({
|
||||
url: '/allinventory/countlist3',
|
||||
method: 'post',
|
||||
params: params
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -135,7 +135,7 @@ export function countlist(query1, query2, query3) {
|
|||
return request({
|
||||
url: '/allinventory/countlist',
|
||||
method: 'post',
|
||||
params: params
|
||||
data: params
|
||||
})
|
||||
}
|
||||
// 库存查询
|
||||
|
@ -167,7 +167,7 @@ export function getcountrylist(query) {
|
|||
return request({
|
||||
url: '/country/getcountrylist',
|
||||
method: 'post',
|
||||
params: query
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -176,7 +176,7 @@ export function regionlist(query) {
|
|||
return request({
|
||||
url: '/region/detaillist',
|
||||
method: 'post',
|
||||
params: query
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -185,7 +185,7 @@ export function regionlist2(query) {
|
|||
return request({
|
||||
url: '/region/detaillist',
|
||||
method: 'post',
|
||||
params: query
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@ export default {
|
|||
moverepostirylist: '配置调拨仓库',
|
||||
Storagemovediff: '库存差异报告',
|
||||
AddStoragemovediff: '新建调拨差异报告',
|
||||
difflist: '调拨差异报告列表',
|
||||
difflist: '调拨差异报告',
|
||||
AddMoveApplication: '新建调拨申请',
|
||||
MoveApplicationList: '调拨申请列表',
|
||||
StockAlarm: '库存预警',
|
||||
|
|
|
@ -20,7 +20,7 @@ import i18n from './lang' // Internationalization
|
|||
import './icons' // icon
|
||||
import './errorLog' // error log
|
||||
import './permission' // permission control
|
||||
// import './mock' // simulation data
|
||||
import './mock' // simulation data
|
||||
import Print from 'vue-print-nb'
|
||||
import * as filters from './filters' // global filters
|
||||
import _ from 'lodash'
|
||||
|
|
|
@ -161,14 +161,18 @@ const user = {
|
|||
// 登出
|
||||
LogOut({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
logout(state.token).then(() => {
|
||||
commit('SET_TOKEN', '')
|
||||
commit('SET_ROLES', [])
|
||||
removeToken()
|
||||
resolve()
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
commit('SET_TOKEN', '')
|
||||
commit('SET_ROLES', [])
|
||||
removeToken()
|
||||
resolve()
|
||||
// logout(state.token).then(() => {
|
||||
// commit('SET_TOKEN', '')
|
||||
// commit('SET_ROLES', [])
|
||||
// removeToken()
|
||||
// resolve()
|
||||
// }).catch(error => {
|
||||
// reject(error)
|
||||
// })
|
||||
})
|
||||
},
|
||||
|
||||
|
|
|
@ -138,7 +138,8 @@ export default {
|
|||
listLoading: true,
|
||||
getemplist: {
|
||||
createPersonId: this.$store.getters.userId,
|
||||
rolename: null
|
||||
rolename: null,
|
||||
isConfirm: 2
|
||||
},
|
||||
checkroleId: null
|
||||
}
|
||||
|
@ -244,6 +245,7 @@ export default {
|
|||
},
|
||||
restAllForm() {
|
||||
this.getemplist.rolename = null
|
||||
this.getemplist.confirmParms = 2
|
||||
},
|
||||
// 新建角色
|
||||
newRole() {
|
||||
|
|
|
@ -255,7 +255,7 @@
|
|||
<el-button v-show="isReview(scope.row)&&(scope.row.receiptStat === 1||scope.row.receiptStat === 2||scope.row.receiptStat === 3)" :title="$t('updates.spi')" type="warning" size="mini" icon="el-icon-view" circle @click="handleReview(scope.row)"/>
|
||||
<el-button v-permission2="['200-203-2', scope.row.createPersonId]" v-show="scope.row.judgeStat === 0&&(scope.row.receiptStat === 1||scope.row.receiptStat === 2||scope.row.receiptStat === 3)" :key="scope.row.id + Math.random()" :title="$t('updates.sc')" scope-row-create-person-id- size="mini" type="danger" icon="el-icon-delete" circle @click="handleDelete(scope.row)"/>
|
||||
<el-button v-permission="['200-203-59']" v-show="scope.row.stat !== 2&&scope.row.stat !== 3&&scope.row.stat !== 6" type="primary" @click="handleMyReceipt1(scope.row)"><span>change term</span></el-button>
|
||||
<el-button v-show="scope.row.stat !== 2&&scope.row.stat !== 6" type="primary" style="width: 84px" @click="handleMyReceipt2(scope.row)"><span style="margin-left: -15px;">{{ $t('newupd.oijn') }}</span></el-button>
|
||||
<!-- <el-button v-show="scope.row.stat !== 2&&scope.row.stat !== 6" type="primary" style="width: 84px" @click="handleMyReceipt2(scope.row)"><span style="margin-left: -15px;">{{ $t('newupd.oijn') }}</span></el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
@ -165,7 +165,8 @@ export default {
|
|||
sourceTypeFilter(status) {
|
||||
const statusMap = {
|
||||
1: _that.$t('route.Inventorydamaged'),
|
||||
2: _that.$t('route.InventoryCount')
|
||||
2: _that.$t('route.InventoryCount'),
|
||||
3: _that.$t('route.difflist')
|
||||
}
|
||||
return statusMap[status]
|
||||
},
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
<el-select v-model="personalForm.sourceType" style="width: 200px" >
|
||||
<el-option :label="$t('route.Inventorydamaged')" value="1"/>
|
||||
<el-option :label="$t('route.InventoryCount')" value="2"/>
|
||||
<el-option :label="$t('route.difflist')" value="3"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -26,7 +27,8 @@
|
|||
<el-input v-model="personalForm.sourceNumber" style="width: 200px" @focus="chooseSourceType"/>
|
||||
</el-form-item>
|
||||
<my-damage :saleoutcontrol.sync ="damageControl" @damageData="damageData"/>
|
||||
<my-count :countcontrol.sync = "countcontrol" @countData="countData"/>
|
||||
<my-count :countcontrol.sync ="countcontrol" @countData="countData"/>
|
||||
<my-diff :diffcontrol.sync="diffcontrol" @diffData="diffData"/>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item :label="$t('recoveryCarDetail.repositoryName')" prop="handleRepositryId" style="margin-left: 18px;width: 100%;margin-bottom: 0">
|
||||
|
@ -110,12 +112,13 @@ import MyRepository from '../SaleOrder/components/MyRepository'
|
|||
import MyEmp from '../SaleOrder/components/MyEmp'
|
||||
import MyDamage from './components/MyDamage'
|
||||
import MyCount from './components/MyCount'
|
||||
import MyDiff from './components/MyDiff'
|
||||
|
||||
import { addCustomerProduct } from '@/api/Customer'
|
||||
|
||||
export default {
|
||||
name: 'NewCustomerGroup',
|
||||
components: { MyCustomer, MyRepository, MyEmp, MyDamage, MyCount },
|
||||
components: { MyCustomer, MyRepository, MyEmp, MyDamage, MyCount, MyDiff },
|
||||
data() {
|
||||
const validatePass = (rule, value, callback) => {
|
||||
if (this.personalForm.sourceNumber === undefined || this.personalForm.sourceNumber === null || this.personalForm.sourceNumber === '') {
|
||||
|
@ -141,6 +144,7 @@ export default {
|
|||
}
|
||||
}
|
||||
return {
|
||||
diffcontrol: false,
|
||||
countcontrol: false,
|
||||
damageControl: false,
|
||||
repositorycontrol: false,
|
||||
|
@ -186,6 +190,15 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
diffData(val) {
|
||||
console.log('val3', val)
|
||||
this.personalForm.sourceNumber = val.moveNumber
|
||||
this.handlePersonId = val.createPersonName
|
||||
this.personalForm.handlePersonId = val.createPersonId
|
||||
this.handleRepositryId = val.inRepositoryName
|
||||
this.personalForm.handleRepositryId = val.inRepositoryId
|
||||
this.getEmpData()
|
||||
},
|
||||
countData(val) {
|
||||
console.log('val2', val)
|
||||
this.personalForm.sourceNumber = val.countNumber
|
||||
|
@ -207,8 +220,10 @@ export default {
|
|||
chooseSourceType() {
|
||||
if (this.personalForm.sourceType === '1') {
|
||||
this.damageControl = true
|
||||
} else {
|
||||
} else if (this.personalForm.sourceType === '2') {
|
||||
this.countcontrol = true
|
||||
} else if (this.personalForm.sourceType === '3') {
|
||||
this.diffcontrol = true
|
||||
}
|
||||
},
|
||||
repositoryname(val) {
|
||||
|
|
|
@ -149,7 +149,8 @@ export default {
|
|||
sourceTypeFilter(status) {
|
||||
const statusMap = {
|
||||
1: _that.$t('route.Inventorydamaged'),
|
||||
2: _that.$t('route.InventoryCount')
|
||||
2: _that.$t('route.InventoryCount'),
|
||||
3: _that.$t('route.difflist')
|
||||
}
|
||||
return statusMap[status]
|
||||
},
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
<el-select v-model="personalForm.sourceType" style="margin-left: 18px;width: 200px" >
|
||||
<el-option :label="$t('route.Inventorydamaged')" value="1"/>
|
||||
<el-option :label="$t('route.InventoryCount')" value="2"/>
|
||||
<el-option :label="$t('route.difflist')" value="3"/>
|
||||
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -25,6 +27,8 @@
|
|||
</el-form-item>
|
||||
<my-damage :saleoutcontrol.sync ="damageControl" @damageData="damageData"/>
|
||||
<my-count :countcontrol.sync = "countcontrol" @countData="countData"/>
|
||||
<my-diff :diffcontrol.sync="diffcontrol" @diffData="diffData"/>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item :label="$t('recoveryCarDetail.repositoryName')" prop="handleRepositryId" style="width: 100%;">
|
||||
|
@ -108,10 +112,11 @@ import MyRepository from '../../SaleOrder/components/MyRepository'
|
|||
import MyEmp from '../../SaleOrder/components/MyEmp'
|
||||
import MyDamage from './MyDamage'
|
||||
import MyCount from './MyCount'
|
||||
import MyDiff from './MyDiff'
|
||||
|
||||
var _that
|
||||
export default {
|
||||
components: { MyCustomer, MyRepository, MyEmp, MyDamage, MyCount },
|
||||
components: { MyCustomer, MyRepository, MyEmp, MyDamage, MyCount, MyDiff },
|
||||
props: {
|
||||
editcontrol: {
|
||||
type: Boolean,
|
||||
|
@ -147,6 +152,7 @@ export default {
|
|||
}
|
||||
}
|
||||
return {
|
||||
diffcontrol: false,
|
||||
|
||||
// 弹窗组件的控制
|
||||
editVisible: this.editcontrol,
|
||||
|
@ -210,6 +216,15 @@ export default {
|
|||
_that = this
|
||||
},
|
||||
methods: {
|
||||
diffData(val) {
|
||||
console.log('val3', val)
|
||||
this.personalForm.sourceNumber = val.moveNumber
|
||||
this.handlePersonId = val.createPersonName
|
||||
this.personalForm.handlePersonId = val.createPersonId
|
||||
this.handleRepositryId = val.inRepositoryName
|
||||
this.personalForm.handleRepositryId = val.inRepositoryId
|
||||
this.getEmpData()
|
||||
},
|
||||
countData(val) {
|
||||
console.log('val2', val)
|
||||
this.personalForm.sourceNumber = val.countNumber
|
||||
|
@ -231,8 +246,10 @@ export default {
|
|||
chooseSourceType() {
|
||||
if (this.personalForm.sourceType === '1') {
|
||||
this.damageControl = true
|
||||
} else {
|
||||
} else if (this.personalForm.sourceType === '2') {
|
||||
this.countcontrol = true
|
||||
} else if (this.personalForm.sourceType === '3') {
|
||||
this.diffcontrol = true
|
||||
}
|
||||
},
|
||||
repositoryname(val) {
|
||||
|
|
307
src/views/InventoryReceipt/components/MyDiff.vue
Normal file
307
src/views/InventoryReceipt/components/MyDiff.vue
Normal file
|
@ -0,0 +1,307 @@
|
|||
<template>
|
||||
<el-dialog :visible.sync="employeeVisible" :personaldata="personalForm" :close-on-press-escape="false" top="10px" title="选择差异单" append-to-body width="1100px" @close="$emit('update:countcontrol', false)">
|
||||
<el-card class="box-card" style="margin-top: 15px;height: 60px;padding-left:0 " shadow="never">
|
||||
<el-row>
|
||||
<el-form ref="getemplist" :model="getemplist" style="margin-top: -9px">
|
||||
<el-input v-model="getemplist.title" :placeholder="$t('InventoryCount.title')" size="small" class="filter-item" clearable @keyup.enter.native="handleFilter"/>
|
||||
<!-- <el-input v-model="getemplist.sourceNumber" :placeholder="$t('InventoryCount.sourceNumber')" class="filter-item" clearable @keyup.enter.native="handleFilter"/> -->
|
||||
<el-input v-model="getemplist.reportNumber" placeholder="差异单编号" class="filter-item" clearable @keyup.enter.native="handleFilter"/>
|
||||
|
||||
<!-- <el-input v-model="handlePersonId" :placeholder="$t('InventoryCount.handlePersonId')" size="small" class="filter-item" clearable @clear="restFilter" @keyup.enter.native="handleFilter" @focus="handlechoose"/>
|
||||
<my-create :createcontrol.sync="createcontrol" @createname="createname"/> -->
|
||||
|
||||
<!--更多搜索条件-->
|
||||
<el-popover
|
||||
v-model="visible2"
|
||||
placement="bottom"
|
||||
width="500"
|
||||
trigger="click">
|
||||
<!-- <el-input v-model="getemplist.productCode" :placeholder="$t('saleBillList.productCode')" size="small" class="filter-item" clearable @keyup.enter.native="handleFilter" @focus="handlechoosepro" @clear="restFilter3"/>
|
||||
<my-detail :control.sync="control" @product="productdetail"/>
|
||||
<el-input v-model="getemplist.productName" :placeholder="$t('saleBillList.productName')" size="small" class="filter-item" clearable @keyup.enter.native="handleFilter" />
|
||||
|
||||
<el-select v-model="getemplist.countDeptId" size="small" placeholder="请选择盘点部门" clearable class="filter-item">
|
||||
<el-option
|
||||
v-for="(item, index) in depts"
|
||||
:key="index"
|
||||
:value="item.id"
|
||||
:label="item.deptName"/>
|
||||
</el-select>
|
||||
<el-input v-model="countRepositoryId" size="small" placeholder="请选择盘点仓库" class="filter-item" clearable @clear="restFilter2" @keyup.enter.native="handleFilter" @focus="handlechooseRep"/>
|
||||
<my-repository :repositorycontrol.sync="repositorycontrol" @repositoryname="repositoryname"/> -->
|
||||
<el-date-picker
|
||||
v-model="date"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
unlink-panels
|
||||
start-placeholder="Start"
|
||||
end-placeholder="End"
|
||||
size="small"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="margin-left: 10px"/>
|
||||
<div class="seachbutton" style="width: 100%;float: right;margin-top: 20px">
|
||||
<el-button v-waves class="filter-item" type="primary" style="float: right" round @click="handleFilter">{{ $t('public.search') }}</el-button>
|
||||
</div>
|
||||
<el-button v-waves slot="reference" type="primary" class="filter-item" style="width: 130px" @click="visible2 = !visible2">{{ $t('public.filter') }}<svg-icon icon-class="shaixuan" style="margin-left: 4px"/></el-button>
|
||||
</el-popover>
|
||||
|
||||
<!-- 搜索按钮 -->
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" style="width: 86px" round @click="handleFilter">{{ $t('public.search') }}</el-button>
|
||||
|
||||
<!-- <el-button v-waves class="filter-item" icon="el-icon-plus" type="success" style="width: 86px" @click="handleAdd">{{ $t('public.add') }}</el-button> -->
|
||||
|
||||
</el-form>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<el-card class="box-card" style="margin-top: 15px" shadow="never">
|
||||
<!-- 列表开始 -->
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="table"
|
||||
:height="tableHeight"
|
||||
:key="tableKey"
|
||||
:data="list"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
style="width: 100%;"
|
||||
@current-change="handleCurrentChange">
|
||||
<el-table-column :label="$t('Storagemovediff.id')" :resizable="false" fixed="left" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span >{{ scope.row.number }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('Storagemovediff.title')" :resizable="false" fixed="left" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.title }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column :label="$t('StockOut.code')" :resizable="false" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.outNumber }}</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column :label="$t('Storagemovediff.moveInRepository')" :resizable="false" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.inRepositoryName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('Storagemovediff.moveOutRepository')" :resizable="false" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.outRepositoryName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('Storagemovediff.requestArrivalDate')" :resizable="false" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ timestampToTime(scope.row.arrivalDate) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('Storagemovediff.storageMoveDate')" :resizable="false" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ timestampToTime(scope.row.moveDate) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 列表结束 -->
|
||||
<pagination v-show="total>0" :total="total" :page.sync="getemplist.pagenum" :limit.sync="getemplist.pagesize" @pagination="getlist" />
|
||||
|
||||
<!--修改开始=================================================-->
|
||||
<el-button v-waves class="filter-item" type="success" style="width: 100px;float: left;margin-bottom: 10px" @click="handleConfirm">{{ $t('Hmodule.sure') }}</el-button>
|
||||
</el-card>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { searchstoragemovediff, deletestoragemovediff, editestoragemovediff2, returnInventory } from '@/api/Storagemovediff'
|
||||
import waves from '@/directive/waves' // Waves directive
|
||||
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||
import permission from '@/directive/permission/index.js' // 权限判断指令
|
||||
import permission2 from '@/directive/permission2/index.js' // 权限判断指令
|
||||
import checkPermission from '@/utils/permission' // 权限判断函数
|
||||
|
||||
var _that
|
||||
export default {
|
||||
directives: { waves },
|
||||
components: { Pagination },
|
||||
filters: {
|
||||
statFilter(status) {
|
||||
const statusMap = {
|
||||
1: '启用',
|
||||
2: '停用'
|
||||
}
|
||||
return statusMap[status]
|
||||
}
|
||||
},
|
||||
props: {
|
||||
diffcontrol: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
// personaldata: {
|
||||
// type: Object,
|
||||
// default: null
|
||||
// }
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableHeight: 200,
|
||||
// 接受数据
|
||||
// querydata: this.personaldata,
|
||||
// 选择框控制
|
||||
employeeVisible: this.diffcontrol,
|
||||
returnLoading: false,
|
||||
// 审核传参
|
||||
reviewParms: {
|
||||
id: '',
|
||||
judgePersonId: '',
|
||||
judgeStat: ''
|
||||
},
|
||||
// 详情组件数据
|
||||
detailvisible: false,
|
||||
// 搜索数据----------------------
|
||||
// 更多搜索条件问题
|
||||
visible2: false,
|
||||
// 出库人回显
|
||||
outPersonId: '',
|
||||
// 出库人控制框
|
||||
createcontrol: false,
|
||||
// 开始时间到结束时间
|
||||
date: [],
|
||||
// 出库列表传参数据
|
||||
getemplist: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
countryId: this.$store.getters.countryId,
|
||||
repositoryId: this.$store.getters.repositoryId,
|
||||
regionIds: this.$store.getters.regionIds
|
||||
},
|
||||
// 搜索结束 ----------------------
|
||||
// 列表操作 -------------------------
|
||||
// 批量操作
|
||||
moreaction: '',
|
||||
// 加载操作控制
|
||||
downloadLoading: false,
|
||||
// 表格数据
|
||||
list: [],
|
||||
// 表格数据条数
|
||||
total: 0,
|
||||
// 表格识别
|
||||
tableKey: 0,
|
||||
// 加载表格
|
||||
listLoading: true,
|
||||
// 修改传给组件的数据
|
||||
personalForm: {},
|
||||
// 修改控制修改组件数据
|
||||
editVisible: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
diffcontrol() {
|
||||
this.employeeVisible = this.diffcontrol
|
||||
this.getlist()
|
||||
console.log(this.querydata)
|
||||
|
||||
setTimeout(() => {
|
||||
this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 180
|
||||
}, 100)
|
||||
},
|
||||
personaldata() {
|
||||
console.log(this.personaldata)
|
||||
}
|
||||
},
|
||||
beforeCreate() {
|
||||
_that = this
|
||||
},
|
||||
methods: {
|
||||
timestampToTime(timestamp) {
|
||||
var date = new Date(timestamp)// 时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||
var Y = date.getFullYear() + '-'
|
||||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
|
||||
var D = date.getDate() + ' '
|
||||
// var h = date.getHours() + ':'
|
||||
// var m = date.getMinutes() + ':'
|
||||
// var s = date.getSeconds()
|
||||
return Y + M + D
|
||||
},
|
||||
getlist() {
|
||||
// 出库列表数据
|
||||
this.listLoading = true
|
||||
console.log(this.getemplist)
|
||||
searchstoragemovediff(this.getemplist).then(res => {
|
||||
if (res.data.ret === 200) {
|
||||
this.list = res.data.data.content.list
|
||||
this.total = res.data.data.content.totalCount
|
||||
this.listLoading = false
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.listLoading = false
|
||||
}, 0.5 * 100)
|
||||
})
|
||||
},
|
||||
// 清空搜索条件
|
||||
restFilter() {
|
||||
this.outPersonId = ''
|
||||
this.getemplist.outPersonId = ''
|
||||
},
|
||||
// 搜索
|
||||
handleFilter() {
|
||||
this.getemplist.pageNum = 1
|
||||
if (this.date === null || this.date === '') {
|
||||
this.getemplist.beginTime = null
|
||||
this.getemplist.endTime = null
|
||||
} else {
|
||||
this.getemplist.beginTime = this.date[0]
|
||||
this.getemplist.endTime = this.date[1]
|
||||
}
|
||||
searchstoragemovediff(this.getemplist).then(res => {
|
||||
if (res.data.ret === 200) {
|
||||
this.list = res.data.data.content.list
|
||||
this.total = res.data.data.content.totalCount
|
||||
// this.restFilter()
|
||||
} else {
|
||||
this.$notify.error({
|
||||
title: 'wrong',
|
||||
message: 'wrong',
|
||||
offset: 100
|
||||
})
|
||||
// this.restFilter()
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 新增数据
|
||||
handleAdd() {
|
||||
this.$router.push('/Storagemovediff/AddStoragemovediff')
|
||||
},
|
||||
// 选择主生产计划数据时的操作
|
||||
handleCurrentChange(val) {
|
||||
this.choosedata = val
|
||||
},
|
||||
// 确认添加数据
|
||||
handleConfirm() {
|
||||
this.employeeVisible = false
|
||||
this.$emit('diffData', this.choosedata)
|
||||
}
|
||||
// 仓库管理员选择结束
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.ERP-container {
|
||||
margin: 50px 30px;
|
||||
}
|
||||
.filter-item{
|
||||
width: 140px;
|
||||
}
|
||||
.form-name{
|
||||
font-size: 18px;
|
||||
color: #373e4f;
|
||||
margin-bottom: -20px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.container{
|
||||
margin-top: 2%;
|
||||
border: 1px solid #eceff6;
|
||||
}
|
||||
</style>
|
|
@ -1076,6 +1076,12 @@ export default {
|
|||
})
|
||||
return false
|
||||
}
|
||||
for (const i in EnterDetail) {
|
||||
if (EnterDetail[i].thisMoney === null || EnterDetail[i].thisMoney === undefined) {
|
||||
EnterDetail[i].thisMoney = 0
|
||||
}
|
||||
}
|
||||
|
||||
const parms2 = JSON.stringify(EnterDetail)
|
||||
const Data = this.personalForm
|
||||
for (const key in Data) {
|
||||
|
@ -1126,6 +1132,11 @@ export default {
|
|||
})
|
||||
return false
|
||||
}
|
||||
for (const i in EnterDetail) {
|
||||
if (EnterDetail[i].thisMoney === null || EnterDetail[i].thisMoney === undefined) {
|
||||
EnterDetail[i].thisMoney = 0
|
||||
}
|
||||
}
|
||||
console.log('EnterDetail', EnterDetail)
|
||||
const parms2 = JSON.stringify(EnterDetail)
|
||||
console.log('this.personalForm.couponSupports', this.personalForm.couponSupports)
|
||||
|
|
|
@ -447,13 +447,13 @@
|
|||
<el-button :loading="saveloding" type="primary" style="background:#3696fd;border-color:#3696fd;width: 98px" @click="handlesave()">{{ $t('Hmodule.baoc') }}</el-button>
|
||||
<el-button type="danger" @click="handlecancel()">{{ $t('Hmodule.cancel') }}</el-button>
|
||||
</div>
|
||||
<el-dialog :visible.sync="receiptVisible2" title="库存快照" class="normal" width="600px" center>
|
||||
<el-dialog :visible.sync="receiptVisible2" :title="$t('updates.kckz')" class="normal" width="600px" center>
|
||||
<el-form class="demo-ruleForm" style="margin: 0px 6%; width: 400px">
|
||||
<el-form-item label-width="100px;" style=" width: 500px;">
|
||||
<div style="width: 100%; height: 220px;overflow: hidden;background: white;" >
|
||||
<div style="width: 100%; height: 50vh;overflow: hidden;background: white;" >
|
||||
<el-table
|
||||
:data="list111"
|
||||
height="220"
|
||||
height="500"
|
||||
style="margin-left: 18px;width: 100%;margin-bottom: 0"
|
||||
>
|
||||
<el-table-column :resizable="false" :label="$t('updates.cangk')" align="center" min-width="150">
|
||||
|
@ -466,7 +466,7 @@
|
|||
<span >{{ scope.row.productName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :resizable="false" label="ableStock" align="center" min-width="150">
|
||||
<el-table-column :resizable="false" :label="$t('countlist.ableStock')" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span >{{ scope.row.ableStock }}</span>
|
||||
</template>
|
||||
|
@ -483,7 +483,7 @@
|
|||
<script>
|
||||
import '@/directive/noMoreClick/index.js'
|
||||
import { searchRoleDiscount } from '@/api/BasicSettings'
|
||||
import { countlist, getRate } from '@/api/public'
|
||||
import { countlist, getRate, countlist3 } from '@/api/public'
|
||||
import { createsaleContract } from '@/api/SaleContract'
|
||||
import { getdeptlist } from '@/api/BasicSettings'
|
||||
import { searchStockCategory } from '@/api/StockCategory'
|
||||
|
@ -1104,11 +1104,11 @@ export default {
|
|||
if (this.moreaction.length > 1 || this.moreaction.length === 0) {
|
||||
this.$message.error('please single product ')
|
||||
} else {
|
||||
countlist(this.$store.getters.repositoryId, this.$store.getters.regionId, this.moreaction[0].productCode).then(res => {
|
||||
countlist3(this.personalForm.saleRepositoryId, this.moreaction[0].productCode).then(res => {
|
||||
console.log(res)
|
||||
if (res.data.ret === 200) {
|
||||
console.log('res.data.data.content', res.data.data.content.list)
|
||||
this.list111 = res.data.data.content.list
|
||||
console.log('res.data.data.content', res.data.data.content)
|
||||
this.list111 = res.data.data.content
|
||||
this.receiptVisible2 = true
|
||||
} else {
|
||||
this.$notify.error({
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
:key="tableKey"
|
||||
:data="list"
|
||||
:height="tableHeight"
|
||||
:row-key="getRowKeys"
|
||||
size="small"
|
||||
border
|
||||
fit
|
||||
|
@ -58,6 +59,7 @@
|
|||
style="width: 100%;"
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column
|
||||
:reserve-selection="true"
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"/>
|
||||
|
@ -165,6 +167,11 @@ export default {
|
|||
return {
|
||||
tiaoshu: 0,
|
||||
|
||||
getRowKeys(row) {
|
||||
return row.code
|
||||
},
|
||||
select_orderId: [],
|
||||
select_order_number: [],
|
||||
tableHeight: 200,
|
||||
query: this.personalform,
|
||||
// 供应商回显
|
||||
|
@ -275,9 +282,18 @@ export default {
|
|||
})
|
||||
},
|
||||
// 批量操作
|
||||
handleSelectionChange(val) {
|
||||
this.moreaction = val
|
||||
handleSelectionChange(rows) {
|
||||
this.moreaction = rows
|
||||
this.tiaoshu = this.moreaction.length
|
||||
this.select_order_number = this.moreaction.length
|
||||
this.select_orderId = []
|
||||
if (rows) {
|
||||
rows.forEach(row => {
|
||||
if (row) {
|
||||
this.select_orderId.push(row.code)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
// 供应商输入框focus事件触发
|
||||
handlechoose() {
|
||||
|
|
|
@ -652,7 +652,9 @@ export default {
|
|||
handler(oldval, newval) {
|
||||
let num = 0
|
||||
for (const i in this.list2) {
|
||||
num += Number(this.list2[i].includeTaxMoney)
|
||||
if (this.list2[i].productCode.slice(0, 2) === '01') {
|
||||
num += Number(this.list2[i].includeTaxMoney)
|
||||
}
|
||||
}
|
||||
if (this.personalForm.isSecondApply === 1 || this.personalForm.sourceType === '2') {
|
||||
this.price = num
|
||||
|
|
|
@ -483,13 +483,13 @@
|
|||
<el-button :loading="saveloding" type="primary" style="background:#3696fd;border-color:#3696fd;width: 98px" @click="handlesave()">{{ $t('Hmodule.baoc') }}</el-button>
|
||||
<el-button type="danger" @click="handlecancel()">{{ $t('Hmodule.cancel') }}</el-button>
|
||||
</div>
|
||||
<el-dialog :visible.sync="receiptVisible2" title="库存快照" class="normal" width="600px" center>
|
||||
<el-dialog :visible.sync="receiptVisible2" :title="$t('updates.kckz')" class="normal" width="600px" center>
|
||||
<el-form class="demo-ruleForm" style="margin: 0px 6%; width: 400px">
|
||||
<el-form-item label-width="100px;" style=" width: 500px;">
|
||||
<div style="width: 100%; height: 220px;overflow: hidden;background: white;" >
|
||||
<div style="width: 100%; height: 50vh;overflow: hidden;background: white;" >
|
||||
<el-table
|
||||
:data="list111"
|
||||
height="220"
|
||||
height="500"
|
||||
style="margin-left: 18px;width: 100%;margin-bottom: 0"
|
||||
>
|
||||
<el-table-column :resizable="false" :label="$t('updates.cangk')" align="center" min-width="150">
|
||||
|
@ -502,7 +502,7 @@
|
|||
<span >{{ scope.row.productName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :resizable="false" label="可用库存量" align="center" min-width="150">
|
||||
<el-table-column :resizable="false" :label="$t('countlist.ableStock')" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span >{{ scope.row.ableStock }}</span>
|
||||
</template>
|
||||
|
@ -518,7 +518,7 @@
|
|||
|
||||
<script>
|
||||
import '@/directive/noMoreClick/index.js'
|
||||
import { countlist, getRate } from '@/api/public'
|
||||
import { countlist, getRate, countlist3 } from '@/api/public'
|
||||
import { createsaleOrder } from '@/api/SaleOrder'
|
||||
import { searchSaleCategory } from '@/api/SaleCategory'
|
||||
import { searchCategory } from '@/api/Supplier'
|
||||
|
@ -878,11 +878,11 @@ export default {
|
|||
if (this.moreaction.length > 1 || this.moreaction.length === 0) {
|
||||
this.$message.error('please select single product')
|
||||
} else {
|
||||
countlist(this.$store.getters.repositoryId, this.$store.getters.regionId, this.moreaction[0].productCode).then(res => {
|
||||
countlist3(this.personalForm.saleRepositoryId, this.moreaction[0].productCode).then(res => {
|
||||
console.log(res)
|
||||
if (res.data.ret === 200) {
|
||||
console.log('res.data.data.content', res.data.data.content.list)
|
||||
this.list111 = res.data.data.content.list
|
||||
console.log('res.data.data.content', res.data.data.content)
|
||||
this.list111 = res.data.data.content
|
||||
this.receiptVisible2 = true
|
||||
} else {
|
||||
this.$notify.error({
|
||||
|
|
|
@ -616,13 +616,13 @@
|
|||
<el-button v-no-more-click type="primary" style="background:#3696fd;border-color:#3696fd;width: 98px" @click="handlesave2()">{{ $t('collectAndPay.lsbc') }}</el-button>
|
||||
<el-button type="danger" @click="handlecancel()">{{ $t('Hmodule.cancel') }}</el-button>
|
||||
</div>
|
||||
<el-dialog :visible.sync="receiptVisible2" title="库存快照" class="normal" width="600px" center>
|
||||
<el-dialog :visible.sync="receiptVisible2" :title="$t('updates.kckz')" class="normal" width="600px" center>
|
||||
<el-form class="demo-ruleForm" style="margin: 0px 6%; width: 400px">
|
||||
<el-form-item label-width="100px;" style=" width: 500px;">
|
||||
<div style="width: 100%; height: 220px;overflow: hidden;background: white;" >
|
||||
<div style="width: 100%; height: 50vh;overflow: hidden;background: white;" >
|
||||
<el-table
|
||||
:data="list111"
|
||||
height="220"
|
||||
height="500"
|
||||
style="margin-left: 18px;width: 100%;margin-bottom: 0"
|
||||
>
|
||||
<el-table-column :resizable="false" :label="$t('updates.cangk')" align="center" min-width="150">
|
||||
|
@ -635,7 +635,7 @@
|
|||
<span >{{ scope.row.productName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :resizable="false" label="可用库存量" align="center" min-width="150">
|
||||
<el-table-column :resizable="false" :label="$t('countlist.ableStock')" align="center" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span >{{ scope.row.ableStock }}</span>
|
||||
</template>
|
||||
|
@ -659,7 +659,7 @@ import { getPackage } from '@/api/Package'
|
|||
import { getAllBatch, vehicleInfo, getQuantity2 } from '@/api/public'
|
||||
import { createsaleOut, getCustomerOutCount, checkInvoiceExist } from '@/api/SaleOut'
|
||||
import { searchSaleCategory } from '@/api/SaleCategory'
|
||||
import { getlocation, locationlist, countlist, batchlist, productlist } from '@/api/public'
|
||||
import { getlocation, locationlist, countlist, batchlist, productlist, countlist3 } from '@/api/public'
|
||||
import MyEmp from './components/MyEmp2'
|
||||
import MyDelivery from './components/MyDelivery2'
|
||||
import MyDetail from './components/MyDetail'
|
||||
|
@ -1650,9 +1650,9 @@ export default {
|
|||
if (this.moreaction.length > 1 || this.moreaction.length === 0) {
|
||||
this.$message.error('please select single product')
|
||||
} else {
|
||||
countlist(this.personalForm.saleRepositoryId, 0, this.moreaction[0].productCode).then(res => {
|
||||
countlist3(this.personalForm.saleRepositoryId, this.moreaction[0].productCode).then(res => {
|
||||
if (res.data.ret === 200) {
|
||||
this.list111 = res.data.data.content.list
|
||||
this.list111 = res.data.data.content
|
||||
this.receiptVisible2 = true
|
||||
} else {
|
||||
this.$notify.error({
|
||||
|
|
|
@ -267,6 +267,7 @@ export default {
|
|||
console.log('this.query', this.query)
|
||||
this.getemplist.searchRepositoryId = this.query.saleRepositoryId
|
||||
this.getemplist.customerId = this.query.customerId
|
||||
console.log('this.$store.getters.countryId', this.$store.getters.countryId)
|
||||
if (this.$store.getters.countryId === 1) {
|
||||
const that = this
|
||||
chooseCustomerProduct(this.getemplist).then(res => {
|
||||
|
|
|
@ -9,7 +9,13 @@
|
|||
<el-option :label="$t('updates.yes')" value="2"/>
|
||||
</el-select>
|
||||
|
||||
<el-input v-model="getemplist.invoiceNumber" :placeholder="$t('updates.djbh')" size="small" class="filter-item" clearable @keyup.enter.native="handleFilter"/>
|
||||
<el-input v-model="getemplist.sourceNumber" :placeholder="$t('LogisticsCar.sourcenumber')" size="small" class="filter-item" clearable @keyup.enter.native="handleFilter"/>
|
||||
|
||||
<el-input v-model="getemplist.invoiceNumber" :placeholder="$t('update4.invoiceNumber')" size="small" class="filter-item" clearable @keyup.enter.native="handleFilter"/>
|
||||
|
||||
<el-input v-model="supplierId" :placeholder="$t('SupplierAdjust.supplierId')" size="small" class="filter-item" clearable @keyup.enter.native="handleFilter" @focus="handlechoose" @clear="clearSupplier"/>
|
||||
|
||||
<my-supplier :control.sync="empcontrol" @supplierName="supplierName"/>
|
||||
|
||||
<el-button v-waves class="filter-item" size="small" type="primary" icon="el-icon-search" style="width: 86px;margin-top: 10px" round @click="handleFilter">{{ $t('public.search') }}</el-button>
|
||||
|
||||
|
@ -447,6 +453,10 @@ export default {
|
|||
this.stockPersonId = val.personName
|
||||
this.getemplist.stockPersonId = val.id
|
||||
},
|
||||
clearSupplier() {
|
||||
this.supplierId = ''
|
||||
this.getemplist.supplierId = ''
|
||||
},
|
||||
// 供应商输入框focus事件触发
|
||||
handlechoose() {
|
||||
this.empcontrol = true
|
||||
|
|
|
@ -100,6 +100,7 @@
|
|||
ref="editable"
|
||||
:data.sync="list2"
|
||||
:edit-config="{ showIcon: true, showStatus: true}"
|
||||
height="500"
|
||||
class="click-table1"
|
||||
border
|
||||
size="small"
|
||||
|
|
|
@ -143,7 +143,7 @@
|
|||
<el-button v-permission="['131-141-360-17']" v-show="isReview3(scope.row)&&(scope.row.receiptStat === 1||scope.row.receiptStat === 2||scope.row.receiptStat === 3)" :title="$t('updates.fjd')" type="success" size="mini" icon="el-icon-back" circle @click="handleReview3(scope.row)"/>
|
||||
<el-button v-permission="['131-141-360-2']" v-if="scope.row.judgeStat === 0" size="mini" type="danger" @click="handleDelete(scope.row)">{{ $t('public.delete') }}</el-button>
|
||||
<el-button v-permission="['131-141-360-84']" v-show="scope.row.judgeStat === 2&& scope.row.receiptStat === 2" :loading="returnLoading" type="success" size="mini" @click="handReturnInventory(scope.row)">{{ $t('update4.querenfanhuan') }}</el-button>
|
||||
<el-button v-permission="['131-141-360-85']" v-show="scope.row.judgeStat === 2&& scope.row.receiptStat === 2" type="success" size="mini" @click="handleReview3(scope.row)">{{ $t('update4.shengchengpeichangdan') }}</el-button>
|
||||
<!-- <el-button v-permission="['131-141-360-85']" v-show="scope.row.judgeStat === 2&& scope.row.receiptStat === 2" type="success" size="mini" @click="handleReview3(scope.row)">{{ $t('update4.shengchengpeichangdan') }}</el-button> -->
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
|
@ -55,11 +55,15 @@
|
|||
<div class="buttons" style="margin-top: 58px">
|
||||
<el-button type="success" style="background:#3696fd;border-color:#3696fd " @click="handleAddproduct">{{ $t('Hmodule.tjsp') }}</el-button>
|
||||
<el-button type="danger" @click="$refs.editable.removeSelecteds()">{{ $t('Hmodule.delete') }}</el-button>
|
||||
<el-button type="warning" @click="exportExcel">{{ $t('updates.drsj') }}</el-button>
|
||||
<input v-show="false" ref="excel-upload-input" class="excel-upload-input" type="file" accept=".xlsx, .xls" @change="handleClick">
|
||||
|
||||
</div>
|
||||
<my-detail :control.sync="control" :checklist.sync="checklist" @product="productdetail"/>
|
||||
<div class="container">
|
||||
<el-editable
|
||||
ref="editable"
|
||||
:key="tableKey"
|
||||
:data.sync="list2"
|
||||
:edit-config="{ showIcon: true, showStatus: true}"
|
||||
:edit-rules="validRules"
|
||||
|
@ -97,11 +101,21 @@
|
|||
</template>
|
||||
</el-editable-column>
|
||||
<el-editable-column :edit-render="{name: 'ElInputNumber', type: 'visible'}" :label="$t('Hmodule.dj')" prop="price" align="center" width="150px"/>
|
||||
<el-editable-column :label="$t('updates.rkje')" prop="totalMoney" align="center" width="150px">
|
||||
|
||||
<el-editable-column :edit-render="{name: 'ElInputNumber', attrs: {min: 0}, type: 'visible'}" :label="$t('updates.rkje')" prop="totalMoney" align="center" min-width="170">
|
||||
<template slot="edit" slot-scope="scope">
|
||||
<el-input-number
|
||||
:precision="2"
|
||||
:controls="false"
|
||||
:min="0"
|
||||
v-model="scope.row.totalMoney"/>
|
||||
</template>
|
||||
</el-editable-column>
|
||||
<!-- <el-editable-column :label="$t('updates.rkje')" prop="totalMoney" align="center" width="150px">
|
||||
<template slot-scope="scope">
|
||||
<p>{{ getSize(scope.row.enterQuantity, scope.row.price) }}</p>
|
||||
</template>
|
||||
</el-editable-column>
|
||||
</el-editable-column> -->
|
||||
<el-editable-column :edit-render="{name: 'ElInput', type: 'visible'}" :label="$t('updates.bz')" prop="remarks" align="center" width="150px"/>
|
||||
</el-editable>
|
||||
</div>
|
||||
|
@ -125,6 +139,8 @@ import { getdeptlist } from '@/api/BasicSettings'
|
|||
import MyCreate from './components/MyCreate'
|
||||
import MyRepository from './components/MyRepository'
|
||||
import MyDetail from './components/MyDetail'
|
||||
import XLSX from 'xlsx'
|
||||
|
||||
var _that
|
||||
export default {
|
||||
name: 'AddInitialenter',
|
||||
|
@ -139,6 +155,12 @@ export default {
|
|||
}
|
||||
}
|
||||
return {
|
||||
tableKey: 0,
|
||||
loading: false,
|
||||
excelData: {
|
||||
header: null,
|
||||
results: null
|
||||
},
|
||||
saveloding: false,
|
||||
checklist: [],
|
||||
locationlistparms: {
|
||||
|
@ -206,6 +228,128 @@ export default {
|
|||
_that = this
|
||||
},
|
||||
methods: {
|
||||
upload(rawFile) {
|
||||
this.$refs['excel-upload-input'].value = null // fix can't select the same excel
|
||||
|
||||
if (!this.beforeUpload) {
|
||||
this.readerData(rawFile)
|
||||
return
|
||||
}
|
||||
const before = this.beforeUpload(rawFile)
|
||||
if (before) {
|
||||
this.readerData(rawFile)
|
||||
}
|
||||
},
|
||||
readerData(rawFile) {
|
||||
this.loading = true
|
||||
return new Promise((resolve, reject) => {
|
||||
const reader = new FileReader()
|
||||
reader.onload = e => {
|
||||
const data = e.target.result
|
||||
const fixedData = this.fixData(data)
|
||||
const workbook = XLSX.read(btoa(fixedData), { type: 'base64' })
|
||||
const firstSheetName = workbook.SheetNames[0]
|
||||
const worksheet = workbook.Sheets[firstSheetName]
|
||||
const header = this.getHeaderRow(worksheet)
|
||||
const results = XLSX.utils.sheet_to_json(worksheet)
|
||||
this.generateData({ header, results })
|
||||
this.loading = false
|
||||
resolve()
|
||||
}
|
||||
reader.readAsArrayBuffer(rawFile)
|
||||
})
|
||||
},
|
||||
fixData(data) {
|
||||
let o = ''
|
||||
let l = 0
|
||||
const w = 10240
|
||||
for (; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)))
|
||||
o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)))
|
||||
return o
|
||||
},
|
||||
getHeaderRow(sheet) {
|
||||
const headers = []
|
||||
const range = XLSX.utils.decode_range(sheet['!ref'])
|
||||
let C
|
||||
const R = range.s.r
|
||||
/* start in the first row */
|
||||
for (C = range.s.c; C <= range.e.c; ++C) { /* walk every column in the range */
|
||||
const cell = sheet[XLSX.utils.encode_cell({ c: C, r: R })]
|
||||
/* find the cell in the first row */
|
||||
let hdr = 'UNKNOWN ' + C // <-- replace with your desired default
|
||||
if (cell && cell.t) hdr = XLSX.utils.format_cell(cell)
|
||||
headers.push(hdr)
|
||||
}
|
||||
return headers
|
||||
},
|
||||
isExcel(file) {
|
||||
return /\.(xlsx|xls|csv)$/.test(file.name)
|
||||
},
|
||||
handleClick(e) {
|
||||
const files = e.target.files
|
||||
const rawFile = files[0] // only use files[0]
|
||||
if (!rawFile) return
|
||||
this.upload(rawFile)
|
||||
},
|
||||
clearuplod() {
|
||||
this.exportparms = {
|
||||
typeid: '',
|
||||
categoryid: ''
|
||||
}
|
||||
},
|
||||
beforeUpload(file) {
|
||||
const isLt1M = file.size / 1024 / 1024 < 1
|
||||
|
||||
if (isLt1M) {
|
||||
return true
|
||||
}
|
||||
|
||||
this.$message({
|
||||
message: 'Please do not upload files larger than 1m in size.',
|
||||
type: 'warning'
|
||||
})
|
||||
return false
|
||||
},
|
||||
onSuccess({ results, header }) {
|
||||
// const loading = this.$loading({
|
||||
// lock: true,
|
||||
// text: 'Loading',
|
||||
// spinner: 'el-icon-loading',
|
||||
// background: 'rgba(0, 0, 0, 0.7)'
|
||||
// })
|
||||
|
||||
console.log('results', results)
|
||||
const uploaddata = results.map(item => {
|
||||
return {
|
||||
productCode: item.物品编号,
|
||||
productName: item.物品名称,
|
||||
color: item.颜色,
|
||||
productType: item.规格型号,
|
||||
unit: item.单位,
|
||||
enterQuantity: item.入库数量,
|
||||
price: item.单价,
|
||||
totalMoney: item.入库金额,
|
||||
remarks: item.备注,
|
||||
typeId: item.规格id,
|
||||
basicQuantity: item.基本数量
|
||||
}
|
||||
})
|
||||
console.log('uploaddata', uploaddata)
|
||||
this.list2 = uploaddata
|
||||
this.tableKey = Math.random()
|
||||
// const jsonupload = JSON.stringify(uploaddata)
|
||||
// setTimeout(() => {
|
||||
// loading.close()
|
||||
// }, 180000)
|
||||
},
|
||||
generateData({ header, results }) {
|
||||
this.excelData.header = header
|
||||
this.excelData.results = results
|
||||
this.onSuccess && this.onSuccess(this.excelData)
|
||||
},
|
||||
exportExcel() {
|
||||
this.$refs['excel-upload-input'].click()
|
||||
},
|
||||
mykeyevent(row, index, e) {
|
||||
const keyCode = e.keyCode || e.which || e.charCode
|
||||
const oldvalue = row.enterQuantity
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
<el-card class="box-card">
|
||||
<h2 ref="geren" class="form-name">{{ $t('Hmodule.basicinfo') }}</h2>
|
||||
<button v-if="personalForm.judgeStat !== 0 || personalForm.judgeStat !== 3" class="print" style="font-size: 13px;background: white;" @click="printdata">{{ $t('updates.print') }}</button>
|
||||
<el-button :loading="downloadLoading" class="print" style="font-size: 13px;background: white;" @click="exportData">{{ $t('public.export') }}</el-button>
|
||||
<div class="container">
|
||||
<el-form ref="personalForm" :model="personalForm" :rules="personalrules" :inline="true" status-icon class="demo-ruleForm" label-width="100px" style="margin-left: 30px;">
|
||||
<el-row>
|
||||
|
@ -88,11 +89,7 @@
|
|||
<!-- <el-editable-column prop="basicQuantity" align="center" :label="$t('updates.jbel')" /> -->
|
||||
<el-editable-column :label="$t('updates.rksl')" prop="enterQuantity" align="center" />
|
||||
<el-editable-column :label="$t('Hmodule.dj')" prop="price" align="center" />
|
||||
<el-editable-column :label="$t('updates.rkje')" prop="totalMoney" align="center" >
|
||||
<template slot-scope="scope">
|
||||
<p>{{ getSize(scope.row.enterQuantity, scope.row.price) }}</p>
|
||||
</template>
|
||||
</el-editable-column>
|
||||
<el-editable-column :label="$t('updates.rkje')" prop="totalMoney" align="center" />
|
||||
<el-editable-column :label="$t('updates.bz')" prop="remarks" align="center" />
|
||||
</el-editable>
|
||||
</div>
|
||||
|
@ -173,6 +170,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
downloadLoading: false,
|
||||
// 审核步骤数据
|
||||
reviewList: [],
|
||||
// 弹窗组件的控制
|
||||
|
@ -249,6 +247,26 @@ export default {
|
|||
_that = this
|
||||
},
|
||||
methods: {
|
||||
formatJson(filterVal, jsonData) {
|
||||
return jsonData.map(v => filterVal.map(j => {
|
||||
return v[j]
|
||||
}))
|
||||
},
|
||||
exportData() {
|
||||
console.log('this.list2', this.list2)
|
||||
this.downloadLoading = true
|
||||
import('@/vendor/Export2Excel').then(excel => {
|
||||
const tHeader = ['物品编号', '物品名称', '颜色', '规格型号', '单位', '入库数量', '单价', '入库金额', '备注', '规格id', '基本数量']
|
||||
const filterVal = ['productCode', 'productName', 'color', 'productType', 'unit', 'enterQuantity', 'price', 'totalMoney', 'remarks', 'typeId', 'basicQuantity']
|
||||
const data = this.formatJson(filterVal, this.list2)
|
||||
excel.export_json_to_excel({
|
||||
header: tHeader,
|
||||
data,
|
||||
filename: '导出'
|
||||
})
|
||||
this.downloadLoading = false
|
||||
})
|
||||
},
|
||||
getlist() {
|
||||
// 部门列表数据
|
||||
getdeptlist().then(res => {
|
||||
|
|
|
@ -83,11 +83,20 @@
|
|||
<!-- <el-editable-column prop="basicQuantity" align="center" :label="$t('updates.jbel')" width="150px"/> -->
|
||||
<el-editable-column :edit-render="{name: 'ElInputNumber', type: 'visible'}" :label="$t('updates.rksl')" prop="enterQuantity" align="center" width="150px"/>
|
||||
<el-editable-column :edit-render="{name: 'ElInputNumber', type: 'visible'}" :label="$t('Hmodule.dj')" prop="price" align="center" width="150px"/>
|
||||
<el-editable-column :label="$t('updates.rkje')" prop="totalMoney" align="center" width="150px">
|
||||
<el-editable-column :edit-render="{name: 'ElInputNumber', attrs: {min: 0}, type: 'visible'}" :label="$t('updates.rkje')" prop="totalMoney" align="center" min-width="170">
|
||||
<template slot="edit" slot-scope="scope">
|
||||
<el-input-number
|
||||
:precision="2"
|
||||
:controls="false"
|
||||
:min="0"
|
||||
v-model="scope.row.totalMoney"/>
|
||||
</template>
|
||||
</el-editable-column>
|
||||
<!-- <el-editable-column :label="$t('updates.rkje')" prop="totalMoney" align="center" width="150px">
|
||||
<template slot-scope="scope">
|
||||
<p>{{ getSize(scope.row.enterQuantity, scope.row.price) }}</p>
|
||||
</template>
|
||||
</el-editable-column>
|
||||
</el-editable-column> -->
|
||||
<el-editable-column :edit-render="{name: 'ElInput', type: 'visible'}" :label="$t('updates.bz')" prop="remarks" align="center" width="150px"/>
|
||||
</el-editable>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue