Commit c1e18ad4 authored by 罗超's avatar 罗超

1

parent dff782ed
import request from '../../utils/request_zc'
/**
* 获取出库申请分页列表
*
*/
export function GetSuppliesStockOutApplyForPageList(data) {
return request({
url: '/supplies/GetSuppliesStockOutApplyForPageList',
method: 'post',
data
})
}
/**
* 获取出库申请详情
*
*/
export function GetSuppliesStockOutApplyForDetail(data) {
return request({
url: '/supplies/GetSuppliesStockOutApplyForInfo',
method: 'post',
data
})
}
/**
* 获取耗材
*
*/
export function GetMaterialPageList(data) {
return request({
url: '/Supplies/GetMaterialPageList',
method: 'post',
data
})
}
/**
* 发起出库申请
*
*/
export function SuppliesStockOutApply(data) {
return request({
url: '/supplies/SetSuppliesStockOutApplyForInfo',
method: 'post',
data
})
}
\ No newline at end of file
<template>
<q-card class="q-px-md" style="width:1000px;max-width:1000px;">
<q-card-section class="row items-center q-pb-none">
<div class="text-h6">新增出库单</div>
<q-space />
<q-btn icon="close" flat round dense v-close-popup />
</q-card-section>
<q-card-section style="max-height:75vh;" class="scroll">
<div class="row" style="margin-bottom:10px ;">
<div class="col q-mr-md" >
<q-select dense standout behavior="menu" filled v-model="model.Type" ref="type"
:options="typeOption" option-label="name" option-value="id" label="类型" emit-value map-options
:rules="[val => !!val || '请选择类型']" />
</div>
<div class="col ">
<q-input standout bottom-slots filled v-model="model.Remark" type="textarea" ref="Remark" label="备注" dense/>
</div>
</div>
<div class="text-subtitle2 text-weight-bold q-mb-md row items-center q-pb-none" >
<span>列表</span>
<q-space />
<q-btn color="primary" size="11px" @click="showhaocai">选择耗材</q-btn>
</div>
<div class="q-mt-md">
<q-table :pagination="pageInfo" no-data-label="暂无相关数据" flat
class="sticky-column-table sticky-header-table sticky-right-column-table no-bottom-table" separator="none"
:data="dataList" :columns="model.Type===1?columns:columns2" row-key="name">
<template v-slot:body-cell-SchoolName="props">
<q-td :props="props" class="text-negative">
<q-select dense standout behavior="menu" filled v-model="props.row.SchoolId" ref="school"
:options="schoolList" option-label="SName" option-value="SId" emit-value map-options
:rules="[val => !!val||val>=-1 || '请选择校区']" @input="filterSchoolFn($event,props.rowIndex)"/>
</q-td>
</template>
<template v-slot:body-cell-ClassName="props">
<q-td :props="props" class="text-negative">
<q-select dense standout behavior="menu" filled v-model="props.row.ClassId" ref="class"
:options="classList" option-label="ClassName" option-value="ClassId" emit-value map-options
:rules="[val => !!val || '请选择班级']" @input ='filterCourseFn($event,props.rowIndex)'/>
</q-td>
</template>
<template v-slot:body-cell-CourseName="props">
<q-td :props="props" class="text-negative">
{{props.CourseName}}
</q-td>
</template>
<template v-slot:body-cell-Number="props">
<q-td :props="props" class="text-negative">
<q-input standout filled v-model.number="props.row.Number" type="number" ref="number" :min='0' :max='props.row.InventoryNum' dense @input="chukuNum(props.row.Number,props.row.InventoryNum,props.rowIndex)"/>
</q-td>
</template>
<template v-slot:body-cell-caozuo="props">
<q-td :props="props" class="text-negative">
<q-btn color="primary" size="11px" @click="delhaocai(props.rowIndex)">删除</q-btn>
</q-td>
</template>
<template v-slot:bottom>
</template>
</q-table>
</div>
</q-card-section>
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="primary" v-close-popup />
<q-btn label="创建出库单" color="accent" class="q-px-md" style="font-weight:400 !important"
@click="saveStockOut" />
</q-card-actions>
<!-- 选择耗材 -->
<q-dialog v-model="haochaidig" persistent>
<q-card class="q-px-md" style="width:1000px;max-width:1000px;">
<q-card-section class="row items-center q-pb-none">
<div class="text-h6">选择耗材</div>
<q-space />
<q-btn icon="close" flat round dense v-close-popup />
</q-card-section>
<el-form class="MyEditForm" :model="haochaimsg">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input clearable standout="bg-primary text-white" v-model="haochaimsg.Name" label="耗材名称"
maxlength="20" />
</div>
<div class="col-3">
<q-input clearable standout="bg-primary text-white" v-model="haochaimsg.SuppliesNum"
label="耗材编码" maxlength="20" />
</div>
<div style="display:flex;align-items:center;" >
<q-btn color="primary" size="11px" @click="gethaocai">查询</q-btn>
</div>
</div>
<el-row>
<div style="position: relative" class="MyEditForm">
<div
class="myScroll"
style="overflow: scroll; max-height: 500px; margin-top: 20px"
>
<table
style="width: 1250px; min-width: 1000px"
class="myTable"
border="0"
cellspacing="0"
cellpadding="0"
>
<thead>
<th>
<input
class="color-input-red"
type="checkbox"
v-model="hcisCkedAll"
@click="hccheckAll()"
/>
</th>
<th>耗材编码</th>
<th>耗材名称</th>
<th>分类名称</th>
<th>品牌名称</th>
<th>供应商</th>
<th>金额</th>
<th>库存</th>
<th>操作时间</th>
<th>操作人</th>
</thead>
<tbody>
<tr v-for="(item, index) in haocaiList" :key="index">
<td>
<input
class="color-input-red"
type="checkbox"
v-model="hccheckList"
:value="item"
@change="hccheckOne"
/>
</td>
<td>{{ item.SuppliesNum }}</td>
<td>{{ item.Name }}</td>
<td>{{ item.CategoryName }}</td>
<td>{{ item.BrandName }}</td>
<td>{{ item.SupplierName }}</td>
<td>{{ item.Money }}</td>
<td>{{ item.SafetyStock }}</td>
<td>{{ item.UpdateDate }}</td>
<td>{{ item.UpdateBy }}</td>
</tr>
<tr v-show="haocaiList.length == 0">
<td colspan="12" align="center">暂无数据</td>
</tr>
</tbody>
</table>
</div>
<q-pagination class="full-width justify-end" v-model="haochaimsg.pageIndex" color="primary" :max="haocaiPageCount"
:input="true" @input="changePage" />
<div class="btnformItem">
<span class="submitBtn" type="primary" @click="chooseHc"
>确定</span
>
<span class="exitBtn" @click="haochaidig = false">取消</span>
</div>
</div>
</el-row>
</el-form>
</q-card>
</q-dialog>
</q-card>
</template>
<script>
import {
getSchoolDropdown,//获取班级下拉列表
getClassPage
} from '../../api/school/index';//获取校区列表
import {GetMaterialPageList,SuppliesStockOutApply} from '../../api/sale/StockOutApplyFor'
export default {
props: ["obj"],
data() {
return {
typeOption: [{
id: 1,
name: "班级相关"
},
{
id: 2,
name: "其他业务"
}
],
model: {
Type:"",
Remark:"",
DetailList:[]
},
columns: [
{
name: "SchoolName",
required: true,
label: "校区",
align: "left",
style:"width:200px"
},
{
name: "ClassName",
required: true,
label: "班级",
align: "left",
style:"width:200px"
},
{
name: "CourseName",
required: true,
label: "课程",
align: "left",
field:"CourseName",
style:"width:200px"
},
{
name: "Name",
required: true,
label: "耗材名称",
align: "left",
field:"Name",
style:"width:200px"
},
{
name: "BrandName",
required: true,
label: "品牌",
align: "left",
field:"BrandName",
style:"width:200px"
},
{
name: "CategoryName",
required: true,
label: "分类",
align: "left",
field:"CategoryName",
style:"width:200px"
},
{
name: "SupplierName",
required: true,
label: "供应商",
align: "left",
field: "SupplierName",
style:"width:200px"
},
{
name: "InventoryNum",
required: true,
label: "库存",
align: "left",
field:"InventoryNum",
style:"width:200px"
},
{
name: "Number",
required: true,
label: "出库数量",
align: "left",
style:"width:200px"
},
{
name: "caozuo",
required: true,
label: "操作",
align: "left",
style:"width:200px"
},
],
columns2: [
{
name: "Name",
required: true,
label: "耗材名称",
align: "left",
field:"Name",
style:"width:200px"
},
{
name: "BrandName",
required: true,
label: "品牌",
align: "left",
field:"BrandName",
style:"width:200px"
},
{
name: "CategoryName",
required: true,
label: "分类",
align: "left",
field:"CategoryName",
style:"width:200px"
},
{
name: "SupplierName",
required: true,
label: "供应商",
align: "left",
field:"SupplierName",
style:"width:200px"
},
{
name: "InventoryNum",
required: true,
label: "库存",
align: "left",
field:"InventoryNum",
style:"width:200px"
},
{
name: "Number",
required: true,
label: "出库数量",
align: "left",
style:"width:200px"
},
{
name: "caozuo",
required: true,
label: "操作",
align: "left",
style:"width:200px"
},
],
pageInfo: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12
},
courseList: [], //课程列表
schoolList:[],
classList:[],
dataList: [
// {
// SchoolName:"",
// SchoolId:-1,
// ClassName:"",
// ClassId:0,
// CourseName:"",
// },
],
haochaidig: false, //选择耗材
haochaimsg: {
pageIndex: 1,
pageSize: 10,
Name: "",
SuppliesNum: "",
BrandName: "",
CategoryId: "",
SupplierName: "",
FinanceId: "",
},
haocaiPageCount:0,
chooseHcIndex:0,
hcisCkedAll: [], //耗材全选
hccheckList: [], //耗材多选
haocaiList: [], //耗材选择列表
haocaitotal: 0,
hcisCkedAll: false,
hccheckAllList: [],
hcItemList:[]
};
},
watch:{
dataList:{
handler(val){
if(val){
this.$forceUpdate();
}
},
deep:true
}
},
created() {
},
mounted() {
this.initObj();
this.getSchool();
this.getClass(-1);
this.gethaocai();
},
methods: {
//初始化对象
initObj() {
this.dataList=[]
},
//保存报价单
saveStockOut() {
this.$refs.type.validate();
if (
!this.$refs.type.hasError
) {
console.log(11,this.model)
this.model.DetailList=[]
this.dataList.map(item=>{
let obj= {
SchoolName:item.SchoolName,
SchoolId:item.SchoolId,
ClassName:item.ClassName,
ClassId:item.ClassId,
CourseName:item.CourseName,
SuppliesId:item.Id,
Number:item.Number
}
this.model.DetailList.push(obj)
})
// SuppliesStockOutApply(this.model).then(res=>{
// console.log(res)
// })
}
},
//获取校区列表
getSchool() {
getSchoolDropdown({}).then(res => {
if (res.Code == 1) {
var tempArray = res.Data;
if (!tempArray) {
tempArray = [];
}
tempArray.unshift({
SId: -1,
SName: "不限"
})
this.schoolList = tempArray;
}
})
},
//获取班级列表
getClass(school_id) {
getClassPage({
School_Id:school_id,
pageIndex: 1,
pageSize: 50
}).then(res => {
if (res.Code == 1) {
let tempArray = res.Data.PageData;
if (!tempArray) {
tempArray = [];
}
tempArray.unshift({
ClassId: 0,
ClassName: "不限"
})
this.classList = tempArray;
}
})
},
filterSchoolFn(val,index) {
console.log(val)
let school=this.schoolList.filter(item=>{
return item.SId==val
})
this.dataList[index].SchoolName=school[0].SchoolName
this.$forceUpdate();
},
filterCourseFn(val,index) {
console.log(val)
let course=this.classList.filter(item=>{
return item.ClassId==val
})
this.dataList[index].CourseName=course[0].CourseName
this.dataList[index].ClassName=course[0].ClassName
this.$forceUpdate();
},
//显示耗材列表
showhaocai(index){
if(this.model.Type){
this.haochaidig=true
if(this.model.Type===1){
this.chooseHcIndex=index
}
}else{
this.$q.notify({
position: 'center',
timeout: 2000,
textColor: 'white',
actions: [{ icon: 'close', color: 'white' }],
message: '请选择类型',
})
}
},
//获取耗材选择列表
gethaocai() {
this.hccheckList = [];
GetMaterialPageList(this.haochaimsg,).then(res=>{
if (res.data.resultCode === 1) {
this.haocaiList = res.data.data.pageData;
this.haocaitotal = res.data.data.count;
this.haocaiPageCount=res.data.data.pageCount
this.hccheckAllList = res.data.data.pageData;
} else {
this.Error(res.data.message);
}
})
},
hccheckOne() {
//单选
if (this.hccheckList.length < this.hccheckAllList.length) {
this.hcisCkedAll = false;
} else {
this.hcisCkedAll = true;
}
},
//耗材全选
hccheckAll() {
if (this.hcisCkedAll == true) {
this.hccheckList = [];
} else {
this.hccheckList = [];
this.hccheckAllList.forEach((item) => {
this.hccheckList.push(item);
});
}
},
//选择耗材
chooseHc() {
this.$nextTick(()=>{
this.haochaidig = false;
this.hccheckList.forEach((item) => {
this.hcItemList.push(item);
});
if(this.model.Type===1){
this.dataList=Array.from(new Set(this.hcItemList))
this.dataList.forEach(item=>{
item.SchoolName=""
item.SchoolId=-1
item.ClassName=""
item.ClassId=0,
item.CourseName=""
// item.Number=0
})
}else if(this.model.Type===2){
this.dataList=Array.from(new Set(this.hcItemList))
}
})
},
//删除耗材
delhaocai(index){
this.dataList.splice(index, 1);
},
//翻页
changePage(val) {
this.haochaimsg.pageIndex = val;
this.gethaocai();
},
chukuNum(val,maxVal,index){
this.$forceUpdate();
if(val>maxVal){
this.dataList[index].Number=maxVal
}else if(val<0||!val){
this.dataList[index].Number=0
}
},
},
};
</script>
<style>
/* myTable */
.myTable {
width: 100%;
font-size: 12px;
border-collapse: collapse;
font-family: "Microsoft YaHei"!important;
min-width:1280px;
}
.myTable thead th {
color: #000000;
padding-left: 20px;
height: 50px;
line-height: 50px;
text-align: left;
font-family: "muil";
font-size: 14px;
}
.myTable thead tr {
background: transparent!important;
}
/* .myTable .hoverSpan1{
left: -20px;
}
.myTable .hoverSpan2{
right: -20px;
} */
.myTable .commonStyle {
height: 100%;
background: #fff;
position: absolute;
width: 20px;
top: 0;
display: none;
}
.myTable tr td {
padding: 6px 0 6px 20px!important;
}
.myTable tbody tr {
background: #fff;
border-bottom: 1px solid #F8FAFB;
cursor: pointer;
}
.myTable tbody tr:last-child {
border-bottom: none;
}
.noHoverTable tr {
border-bottom: none!important;
}
.noHoverTable tr:nth-child(even) {
background: #fff!important;
}
.myTable tr:nth-child(even) {
background: #F6F9FB;
}
.myTable tbody .trNobottom:first-child {
border-top: none!important;
}
.myTable .trNobottom {
border-top: 1px solid #E2E4EB!important;
border-bottom: none!important;
}
.myTable tbody tr:hover {
box-shadow: 0px 0 20px 0px rgba(176, 176, 176, 0.2);
transition: transform .5s ease;
/* transform: scaleX(1.02); */
}
.noHoverTable tbody tr:hover {
box-shadow: 0 0 0 transparent!important;
}
.myTable tbody tr:hover .commonStyle {
/* display: block; */
transition: transform .5s ease;
box-shadow: 0px 0px 0px 0px rgba(176, 176, 176, 0.2);
}
.myTable tbody tr:hover td {
border-radius: 0!important;
}
.myTable tbody tr:first-child td:first-child {
border-radius: 20px 0 0 0;
}
.myTable tbody tr:first-child td:last-child {
border-radius: 0 20px 0 0;
}
.myTable tbody tr:last-child td:first-child {
border-radius: 0 0 0 20px;
}
.myTable tbody tr:last-child td:last-child {
border-radius: 0 0 20px 0;
}
.borderTable tbody tr:first-child td:first-child {
border-radius: 0!important;
}
.borderTable tbody tr:first-child td:last-child {
border-radius: 0!important;
}
.borderTable {
width: 100%;
font-size: 12px;
border-collapse: collapse;
font-family: "Microsoft YaHei"!important;
}
.borderTable thead th {
color: #000000;
padding-left: 20px;
height: 50px;
line-height: 50px;
text-align: left;
font-family: "PingFangR";
}
.borderTable thead tr {
background: transparent!important;
}
.borderTable .hoverSpan1 {
left: -20px;
}
.borderTable .hoverSpan2 {
right: -20px;
}
.borderTable .commonStyle {
height: 100%;
background: #fff;
position: absolute;
width: 20px;
top: 0;
display: none;
}
.borderTable tr {
background: #fff;
cursor: pointer;
}
.borderTable tr:nth-child(even) {
/* background:#F6F9FB!important; */
}
/* .borderTable .trNobottom{
border-top: 4px solid #F8FAFB!important;
border-bottom:none!important;
} */
.borderTable tbody tr:hover {
box-shadow: 0px 0 20px 0px rgba(176, 176, 176, 0.2);
transition: transform .5s ease;
/* transform: scaleX(1.02); */
}
.borderTable tbody tr:hover .commonStyle {
display: block;
transition: transform .5s ease;
box-shadow: 0px 0px 0px 0px rgba(176, 176, 176, 0.2);
}
.borderTable tbody tr:hover td {
border-radius: 0!important;
}
.borderTable tbody tr:first-child td:first-child {
border-radius: 20px 0 0 0;
}
.borderTable tbody tr:first-child td:last-child {
border-radius: 0 20px 0 0;
}
.borderTable tbody tr:last-child td:first-child {
border-radius: 0 0 0 20px;
}
.borderTable tbody tr:last-child td:last-child {
border-radius: 0 0 20px 0;
}
.borderTable tr td {
position: relative;
padding: 11px 0 11px 20px;
border: 1px solid #E2E4EB;
}
.tableMoreUl {
background: #F6F9FB;
width: 100%;
font-size: 12px;
}
.tableMoreUl li {
border-bottom: 1px solid #E2E4EB;
padding: 12px;
}
.tableMoreUl li span {
display: inline-block;
width: 22%;
}
.tableMoreUl li:last-child {
border-bottom: none;
}
.el-textarea__inner {
border: none!important;
outline: none!important;
}
.myTable tbody .noData td {
border-radius: 0!important;
}
.MyEditForm .btnformItem {
display: block!important;
text-align: center;
font-size: 12px;
margin-top: 20px;
margin-bottom: 10px;
font-family: "Microsoft YaHei";
}
.MyEditForm .btnformItem span {
display: inline-block;
width: 100px;
height: 40px;
line-height: 40px;
border-radius: 22px;
cursor: pointer;
}
.MyEditForm .btnformItem .submitBtn {
background-color: var(--q-color-primary);
color: #fff;
margin-right: 20px;
}
.MyEditForm .btnformItem .exitBtn {
border: 1px solid var(--q-color-primary);
color: var(--q-color-primary);
}
.MyEditForm .is-required::after,
.is-required::before {
position: absolute;
left: -12px;
top: 15px;
content: '*';
color: #F56C6C;
margin-right: 4px;
}
</style>
<template>
<div class="PropertyProcurementDetails padContent ck_detail" v-loading="pageLoad">
<div style="border-bottom: 1px solid #e2e4eb; padding-bottom: 10px;display:flex;align-items:center;height:50px">
<span class="pageTitle" style="float: inherit">耗材出库详情</span>
<el-button @click="backTo" round style="background-color:#089bab;color:#fff;margin-left:15px" >返回</el-button>
</div>
<div
style="
margin: 30px 0;
background: rgba(255, 255, 255, 1);
border-radius: 10px;
padding: 20px;
position: relative;
"
>
<el-row
class="HeaderDiv"
style="border-bottom: 1px solid #e2e4eb; padding-bottom: 20px"
>
<el-col :span="12">
<p
class="c11 f14"
style="padding-top: 12px"
v-if="GetDetail.StockOutStatus == 1"
>
未出库
</p>
<p
class="c11 f14"
style="padding-top: 12px"
v-if="GetDetail.StockOutStatus == 2"
>
部分出库
</p>
<p
class="c11 f14"
style="padding-top: 12px"
v-if="GetDetail.StockOutStatus == 3"
>
已出库
</p>
</el-col>
<el-col :span="12">
<el-button @click="SetPropertyProcurementStockIn" round style="float: right;background-color:#089bab;color:#fff" :disabled="GetDetail.StockOutStatus === 3">出库</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="18">
<el-row class="zcInfo">
<el-col :span="12">
<span>审核状态:</span>
<span v-if="GetDetail.AuditStatus===1">审核中</span>
<span v-if="GetDetail.AuditStatus===2">通过</span>
<span v-if="GetDetail.AuditStatus===3">驳回</span>
</el-col>
<el-col :span="12">
<span>类型 :</span>
<span v-if="GetDetail.Type===0">不限</span>
<span v-if="GetDetail.Type===1">主营业务</span>
<span v-if="GetDetail.Type===2">其他业务</span>
</el-col>
<el-col :span="12">
<span>创建人 :</span>
<span>{{ GetDetail.CreateByName }}</span>
</el-col>
<el-col :span="12">
<span>创建时间 :</span>
<span>{{ GetDetail.CreateDate }}</span>
</el-col>
<el-col :span="12">
<span>总数量 :</span>
<span>{{ GetDetail.TotalNumber }}</span>
</el-col>
<el-col :span="24">
<span>备注 :</span>
<span>{{ GetDetail.AuditRemark }}</span>
</el-col>
</el-row>
</el-col>
</el-row>
<p class="f16 c11" style="margin-top: 25px">明细</p>
<!-- <el-row style="float:right" class="zcInfo">
<el-col :span="24" >
<span>购置日期 :</span>
<el-date-picker
v-model="GetDetail.BuyDate"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-col>
</el-row> -->
<table
style="margin-top: 10px"
class="myTable noHoverTable"
border="0"
cellspacing="0"
cellpadding="0"
>
<thead>
<th>名称</th>
<th>品牌</th>
<th>分类</th>
<th>数量</th>
<th>已出数量</th>
<th width="150px">出库数量</th>
</thead>
<tbody>
<tr v-for="(item, index) in GetDetail.DetailList" :key="index">
<td>{{ item.SuppliesName }}</td>
<td>{{ item.BrandName }}</td>
<td>{{ item.CategoryName }}</td>
<td>{{ item.Number }}</td>
<td>{{ item.StockOutNum }}</td>
<td>
<el-input v-model.number="item.WaitStockOutNum" type="number" @input="inputval(item.WaitStockOutNum,item.Number,index)" :min="0" :max="item.Number" :disabled="GetDetail.StockOutStatus === 3"></el-input>
</td>
</tr>
<tr v-show="GetDetail.DetailList.length == 0">
<td colspan="4" align="center">暂无数据</td>
</tr>
</tbody>
</table>
</div>
</div>
</template>
<script>
import {GetSuppliesStockOutApplyForDetail} from '../../api/sale/StockOutApplyFor'
export default {
data() {
return {
ApplyForId: 0,
images: [],
imageOptions: {
navbar: false,
title: false,
},
pageLoad: false,
GetDetail: {
DetailList: [
],
},
uploadImgList: [],
};
},
created() {
this.ApplyForId = this.$route.query.Id;
this.getDetail();
},
mounted() {},
methods: {
inputval(val,maxVal,index){
this.$forceUpdate();
if(val>maxVal){
this.GetDetail.DetailList[index].WaitStockOutNum=maxVal
}else if(val<0||!val){
this.GetDetail.DetailList[index].WaitStockOutNum=0
}
},
backTo() {
this.$router.push("/sale/SuppliesStockOutApplyForMan");
},
getDetail() {
this.pageLoad = true;
GetSuppliesStockOutApplyForDetail({ApplyForId:this.ApplyForId}).then(res=>{
this.pageLoad = false;
if(res.data.resultCode===1){
console.log(res.data.data)
this.GetDetail=res.data.data
this.GetDetail.DetailList.forEach(item=>{
item.WaitStockOutNum=item.StockOutNum
})
}
})
},
//采购单入库
SetPropertyProcurementStockIn() {
// let msg = {
// ProcurementId: this.GetDetail.Id,
// StockInDate: this.GetDetail.BuyDate,
// DetailList: [],
// };
// this.GetDetail.DetailList.map((item) => {
// let obj = {
// Id:item.Id,
// MaterialId: item.MaterialId,
// WaitStockInNum: item.WaitStockInNum,
// };
// msg.DetailList.push(obj);
// });
// this.apiJavaPost(
// "/api/supplies/SetSuppliesProcurementStockIn",
// msg,
// (res) => {
// if (res.data.resultCode === 1) {
// this.Success(res.data.message)
// } else {
// this.Error(res.data.message);
// }
// },
// null
// );
},
},
};
</script>
<style>
.pageTitle {
color: #111111;
font-size: 30px;
float: left;
font-family: muil;
}
.ck_detail{
margin: 15px 30px;
}
/* .PropertyProcurementDetails ._pp_info ._info_img li:hover ._see_img {
opacity: 1;
}
.PropertyProcurementDetails ._pp_info ._see_img .icon-sousuo {
color: #fff !important;
}
.PropertyProcurementDetails ._pp_info ._see_img {
position: absolute;
top: 0;
width: 100%;
height: 100%;
line-height: 120px;
text-align: center;
background-color: rgba(2, 2, 2, 0.4);
display: inherit;
opacity: 0;
left: 0;
-webkit-transition: all linear 0.4s;
transition: all linear 0.4s;
}
.PropertyProcurementDetails ._pp_info ._info_img li img {
width: 100%;
height: 100%;
}
.PropertyProcurementDetails ._pp_info ._info_img li {
display: inline-block;
width: 120px;
height: 120px;
overflow: hidden;
position: relative;
cursor: pointer;
}
.PropertyProcurementDetails ._pp_info ._info_img {
margin-top: 10px;
}
.PropertyProcurementDetails ._pb_son:last-child::after {
display: none;
}
.PropertyProcurementDetails .signSpan {
display: inline-block;
width: 100px;
height: 34px;
line-height: 34px;
border-radius: 22px;
text-align: center;
cursor: pointer;
font-size: 12px;
font-family: "Microsoft YaHei";
background: #ffa475;
color: #fff;
}
.PropertyProcurementDetails {
position: relative;
} */
/* .PropertyProcurementDetails .zindex {
z-index: 9999 !important;
opacity: 1 !important;
}
.PropertyProcurementDetails .signature {
width: 600px;
background: #fff;
padding: 15px;
border-radius: 20px;
cursor: pointer;
}
.PropertyProcurementDetails .Sign {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.4);
z-index: -500;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
}
.PropertyProcurementDetails .Sign .signatureBox {
width: 100%;
height: 300px;
box-sizing: border-box;
overflow: hidden;
background: #fff;
z-index: 100;
display: flex;
flex-direction: column;
margin-top: 20px;
padding: 0 20px;
box-sizing: border-box;
}
.Sign .canvasBox {
box-sizing: border-box;
flex: 1;
}
.PropertyProcurementDetails .Sign canvas {
border: 1px solid #7d7d7d;
}
.PropertyProcurementDetails .Sign .btnBox {
padding: 10px;
text-align: center;
}
.PropertyProcurementDetails .Sign .btnBox button:first-of-type {
background: transparent;
border-radius: 4px;
height: 40px;
width: 80px;
font-size: 14px;
} */
/* .PropertyProcurementDetails .Sign .btnBox button:last-of-type {
background: #71b900;
color: #fff;
border-radius: 4px;
height: 40px;
width: 80px;
font-size: 14px;
}
.PropertyProcurementDetails ._textareaNew {
width: 80%;
height: 50px;
background-color: white;
border-radius: 4px;
border: 1px solid #e5e5e5;
font-size: 12px;
color: #333333;
padding: 12px 14px;
margin-top: 13px;
position: relative;
}
.PropertyProcurementDetails ._upload_tips {
font-size: 12px;
position: absolute;
top: 71%;
width: 100%;
left: 0;
text-align: center;
color: #949494;
}
.PropertyProcurementDetails ._pb_son._none_after::after {
content: "";
display: none;
}
.PropertyProcurementDetails .avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 143px;
height: 82px;
line-height: 82px;
text-align: center;
}
.PropertyProcurementDetails .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.PropertyProcurementDetails ._delete_img {
position: absolute;
top: 0px;
height: 82px;
width: 143px;
line-height: 34px;
text-align: center;
background-color: rgba(2, 2, 2, 0.6);
display: inherit;
opacity: 0;
transition: all linear 0.5s;
}
.PropertyProcurementDetails ._delete_img i.iconfont {
display: inline-block;
width: 32px;
height: 32px;
border-radius: 50%;
color: #e95252 !important;
background-color: rgba(251, 251, 251, 0.9);
margin-top: 26px;
}
.PropertyProcurementDetails ._upload_box ul li {
float: left;
height: 82px;
width: 143px;
padding: 0px 20px 20px 0;
text-align: center;
position: relative;
cursor: pointer;
margin-right: 10px;
}
.PropertyProcurementDetails ._upload_box ul li img {
height: 82px;
width: 143px;
}
.PropertyProcurementDetails ._upload_box ul li:hover ._delete_img {
opacity: 1;
}
.PropertyProcurementDetails .button span {
display: inline-block;
width: 120px;
height: 40px;
line-height: 40px;
border-radius: 22px;
text-align: center;
cursor: pointer;
font-size: 12px;
font-family: "Microsoft YaHei";
margin-right: 20px;
}
.tongguo {
background: rgba(0, 210, 214, 1);
color: #fff;
}
.bohui {
border: 1px solid rgba(0, 210, 214, 1);
color: rgba(0, 210, 214, 1);
}
.PropertyProcurementDetails ._zhuan_msg {
font-size: 12px;
margin-top: 10px;
padding-bottom: 10px;
}
.PropertyProcurementDetails ._zhuan_msg span {
display: inline-block;
margin-right: 5px;
color: #696969;
} */
/* .PropertyProcurementDetails ._zhuan_msg span:last-child {
margin-left: 5px;
}
.PropertyProcurementDetails ._zhuan_msg p:nth-child(2) {
color: #696969;
}
.PropertyProcurementDetails ._zhuan_msg ._color_green {
color: #089bab;
}
.PropertyProcurementDetails ._right_content ._name ._n {
font-size: 14px;
color: #333333;
font-weight: bold;
}
.PropertyProcurementDetails ._right_content ._name ._m {
color: #ffffff;
font-size: 12px;
display: inline-block;
padding: 2px 5px;
background-color: #e95252;
margin-left: 5px;
border-radius: 4px;
}
.PropertyProcurementDetails ._right_content ._name ._sm {
color: #ffffff;
font-size: 12px;
display: inline-block;
padding: 2px 5px;
background-color: #ff9600;
margin-left: 5px;
border-radius: 4px;
font-weight: 100;
}
.PropertyProcurementDetails ._right_content ._name ._sn {
color: #ffffff;
font-size: 12px;
display: inline-block;
padding: 2px 5px;
background-color: #089bab;
margin-left: 5px;
border-radius: 4px;
}
.PropertyProcurementDetails ._right_content ._time,
.PropertyProcurementDetails ._time {
font-size: 12px;
color: #666666;
padding-top: 5px;
}
.PropertyProcurementDetails ._right_content ._pp_info,
.PropertyProcurementDetails ._textarea {
border-radius: 10px;
background: rgba(245, 245, 245, 1);
font-size: 12px;
color: #333333;
padding: 12px 14px;
margin-top: 13px;
position: relative;
width: 80%;
}
.PropertyProcurementDetails ._right_content ._pp_info:before {
display: block;
content: "";
border-width: 8px 8px 8px 8px;
border-style: solid;
border-color: transparent transparent rgba(245, 245, 245, 1) transparent;
position: absolute;
left: 10px;
top: -16px;
}
.PropertyProcurementDetails ._mgt_15 {
margin-top: 15px;
}
.PropertyProcurementDetails ._more ._right_content .iconfont {
color: #aaaaaa;
}
.PropertyProcurementDetails ._more ._right_content ._name ._n {
font-size: 14px;
color: #333333;
font-weight: bold;
padding-left: 3px;
}
.PropertyProcurementDetails ._pb_son {
position: relative;
padding-left: 75px;
min-height: 100px;
padding-bottom: 10px;
}
.PropertyProcurementDetails ._left_radius {
z-index: 1;
width: 40px;
height: 40px;
border-radius: 50%;
text-align: center;
line-height: 40px;
background-color: #089bab;
color: white;
font-size: 12px;
position: absolute;
left: 15px;
} */
/* .PropertyProcurementDetails ._left_radius_err {
background-color: #e95252 !important;
}
.PropertyProcurementDetails ._left_radius_sus {
background-color: #ffa475 !important;
}
.PropertyProcurementDetails ._pb_son::after {
content: "";
width: 4px;
height: 100%;
background-color: #089bab;
display: inline-block;
position: absolute;
clear: both;
left: 33px;
top: 0;
}
.PropertyProcurementDetails ._pb_son._none_after::after {
content: "";
display: none;
}
.PropertyProcurementDetails ._pb_son._bohui_after::after {
background-color: #e95252 !important;
display: inline-block;
}
.PropertyProcurementDetails ._process_box {
padding-top: 30px;
padding-bottom: 40px;
}
.PropertyProcurementDetails ._process {
margin-top: 20px;
}
.PropertyProcurementDetails .rightDiv .FirstName {
width: 40px;
height: 40px;
line-height: 40px;
background: rgba(40, 202, 204, 0.3);
color: #089bab;
border-radius: 50%;
text-align: center;
display: inline-block;
font-size: 18px;
}
.PropertyProcurementDetails .stepItem .rightDiv {
width: 100%;
background: rgba(255, 255, 255, 1);
box-shadow: 0px 2px 5px 0px rgba(176, 176, 176, 0.1);
border-radius: 10px;
}
.PropertyProcurementDetails .stepItem ._left_radius {
width: 16px;
height: 16px;
border-radius: 50%;
text-align: center;
position: absolute;
left: 0;
z-index: 2;
} */
/* .PropertyProcurementDetails .stepItem {
position: relative;
padding-left: 75px;
min-height: 100px;
padding-bottom: 30px;
}
.PropertyProcurementDetails .rizhi {
font-size: 12px;
font-family: "Microsoft YaHei";
font-weight: 400;
text-decoration: underline;
color: rgba(166, 198, 198, 1);
position: absolute;
right: 0;
cursor: pointer;
}
.PropertyProcurementDetails .allStep li .line {
width: 57px;
display: inline-block;
border-bottom: 1px dashed #ffa475;
margin: 0 10px;
position: relative;
top: -7px;
}
.PropertyProcurementDetails .allStep li {
display: inline-block;
font-size: 12px;
font-family: "Microsoft YaHei";
}
.PropertyProcurementDetails .allStep .circle img {
width: 100%;
height: 100%;
}
.PropertyProcurementDetails .allStep .circle .circleSpan {
display: inline-block;
width: 16px;
height: 16px;
background: rgba(232, 232, 232, 1);
border-radius: 50%;
}
.PropertyProcurementDetails .allStep .circle {
display: inline-block;
width: 16px;
height: 16px;
border-radius: 50%;
} */
.PropertyProcurementDetails .zcInfo .el-col {
font-size: 12px;
margin-top: 20px;
color: #111111;
}
.PropertyProcurementDetails .zcInfo .el-col>span:nth-child(1) {
color: #999999;
display: inline-block;
width: 85px;
}
.PropertyProcurementDetails .HeaderDiv .underline {
display: block;
width: 135px;
height: 2px;
position: absolute;
bottom: 0;
background: #089bab;
}
.PropertyProcurementDetails .titleSpan {
position: absolute;
left: 0;
}
.PropertyProcurementDetails .titleSpan span {
display: inline-block;
width: 44px;
height: 44px;
line-height: 44px;
background: rgba(40, 202, 204, 0.3);
border-radius: 50%;
font-size: 20px;
color: #089bab;
text-align: center;
}
.PropertyProcurementDetails .StateCol span {
width: 60px;
height: 26px;
line-height: 26px;
border-radius: 8px;
display: inline-block;
color: #fff;
text-align: center;
font-size: 12px;
font-family: "Microsoft YaHei";
}
.PropertyProcurementDetails .StateCol .spz {
background: rgba(114, 184, 255, 1);
}
.PropertyProcurementDetails .StateCol .ytg {
background: #089bab;
}
.PropertyProcurementDetails .StateCol .wtg {
background: #ffa475;
}
.routerTitle {
background: #fff;
padding: 15px 30px;
text-align: right;
border-bottom: 1px solid rgb(226, 228, 235);
padding-bottom: 10px;
}
.padContent {
padding: 15px 30px;
box-sizing: border-box;
}
.chartTitle .el-input__icon {
line-height: unset;
color: #fff!important;
}
.el-input__suffix {
display: table-cell;
vertical-align: middle;
}
.chartTitle .el-select .el-input__inner {
width: 100%;
height: 100%;
background: transparent;
border: none;
color: #fff;
}
.chaxunSpan {
width: 90px;
height: 34px;
line-height: 34px;
background: #089bab;
border-radius: 17px;
color: #fff;
font-size: 12px;
display: inline-block;
text-align: center;
cursor: pointer;
font-family: "Microsoft YaHei";
}
.addSpan {
width: 90px;
height: 34px;
border: 1px solid #089bab;
color: #089bab;
border-radius: 20px;
line-height: 34px;
font-size: 12px;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
font-family: "Microsoft YaHei";
box-sizing: border-box;
}
.pageTitle {
color: #111111;
font-size: 30px;
/*14px;*/
float: left;
/*padding-top: 10px;*/
margin-top: -10px;
font-family: muil;
/* font-weight: 600; */
}
/* .roatImg {
transform: rotate(180deg);
} */
/* chexkbox */
.myTable input[type="checkbox"] {
width: 15px;
height: 15px;
display: inline-block;
text-align: center;
vertical-align: middle;
line-height: 15px;
position: relative;
}
.myTable input[type="checkbox"]::before {
content: "";
position: absolute;
top: 0;
left: 0;
background: #fff;
width: 100%;
height: 100%;
border: 1px solid #B9ECED
}
.myTable input[type="checkbox"]:checked::before {
content: "\2713";
background-color: #fff;
position: absolute;
top: 0;
left: 0;
width: 100%;
border: 1px solid #089bab;
color: #089bab;
font-size: 18px;
font-family: "PingFangR";
}
/* myTable */
.myTable {
width: 100%;
font-size: 12px;
border-collapse: collapse;
font-family: "Microsoft YaHei"!important;
min-width:1280px;
}
.myTable thead th {
color: #000000;
padding-left: 20px;
height: 50px;
line-height: 50px;
text-align: left;
font-family: "muil";
font-size: 14px;
}
.myTable thead tr {
background: transparent!important;
}
/* .myTable .hoverSpan1{
left: -20px;
}
.myTable .hoverSpan2{
right: -20px;
} */
.myTable .commonStyle {
height: 100%;
background: #fff;
position: absolute;
width: 20px;
top: 0;
display: none;
}
.miniTable tr td {
padding: 6px 0 6px 20px!important;
}
.myTable tbody tr {
background: #fff;
border-bottom: 1px solid #F8FAFB;
cursor: pointer;
}
.myTable tbody tr:last-child {
border-bottom: none;
}
.noHoverTable tr {
border-bottom: none!important;
}
.noHoverTable tr:nth-child(even) {
background: #fff!important;
}
.myTable tr:nth-child(even) {
background: #F6F9FB;
}
.myTable tbody .trNobottom:first-child {
border-top: none!important;
}
.myTable .trNobottom {
border-top: 1px solid #E2E4EB!important;
border-bottom: none!important;
}
.myTable tbody tr:hover {
box-shadow: 0px 0 20px 0px rgba(176, 176, 176, 0.2);
transition: transform .5s ease;
/* transform: scaleX(1.02); */
}
.noHoverTable tbody tr:hover {
box-shadow: 0 0 0 transparent!important;
}
.myTable tbody tr:hover .commonStyle {
/* display: block; */
transition: transform .5s ease;
box-shadow: 0px 0px 0px 0px rgba(176, 176, 176, 0.2);
}
.myTable tbody tr:hover td {
border-radius: 0!important;
}
.myTable tbody tr:first-child td:first-child {
border-radius: 20px 0 0 0;
}
.myTable tbody tr:first-child td:last-child {
border-radius: 0 20px 0 0;
}
.myTable tbody tr:last-child td:first-child {
border-radius: 0 0 0 20px;
}
.myTable tbody tr:last-child td:last-child {
border-radius: 0 0 20px 0;
}
.borderTable tbody tr:first-child td:first-child {
border-radius: 0!important;
}
.borderTable tbody tr:first-child td:last-child {
border-radius: 0!important;
}
/* 合并无圆角 */
.noHoverTable tbody tr:first-child td:first-child {
/* border-radius:0!important; */
}
.noHoverTable tbody tr:first-child td:last-child {
/* border-radius:0!important; */
}
.noHoverTable tbody tr:last-child td:first-child {
border-radius: 0!important;
}
.noHoverTable tbody tr:last-child td:last-child {
border-radius: 0!important;
}
.myTable tr td {
position: relative;
padding: 11px 0 11px 20px;
}
.f12 {
font-size: 12px;
font-family: "Microsoft YaHei"!important;
}
.f14 {
font-size: 14px;
}
.f16 {
font-size: 16px;
}
.f20 {
font-size: 20px;
}
.f22 {
font-size: 39px;
font-family: muil;
font-weight: 500;
}
.f40 {
font-size: 40px;
}
.c11 {
color: #111111;
}
.c99 {
color: #999999;
}
.cd6 {
color: #089bab;
}
.bold {
/* font-family: "PingFangR" */
font-family: "MUIL";
font-weight: 600;
}
.clearfix:after {
content: "\0020";
display: block;
height: 0;
clear: both;
}
.basefix:after {
clear: both;
content: '.';
display: block;
height: 0;
overflow: hidden;
}
.cred {
color: #F56C6C;
}
/* 头部切换 */
.ChangeTable {
float: left;
}
.ChangeTable .spanActive {
color: #fff!important;
background: #089bab!important;
box-shadow: 0px 5px 6px 0px rgba(28, 162, 164, 0.4);
}
.ChangeTable span {
display: inline-block;
width: 100px;
text-align: center;
height: 34px;
line-height: 34px;
background: #e2e4e8;
border-radius: 8px;
font-size: 12px;
font-family: "Microsoft YaHei";
cursor: pointer;
margin-left: 20px;
color: #B8C4C4;
}
.ColorSpan {
display: inline-block;
width: 24px;
height: 24px;
line-height: 24px;
text-align: center;
border-radius: 50%;
font-size: 12px;
font-family: "Microsoft YaHei";
}
.huangSpan {
background: #FFE4D5;
color: #FFA87C;
}
.greenSpan {
background: #BEEFF0;
color: #089bab;
}
.purpleSpan {
background: #D7D6FF;
color: #7B78FF;
}
.buleSpan {
background: #D4EAFF;
color: #73B8FF;
}
.redSpan {
background: #FFD6D5;
color: #FF7874;
}
.dialogI {
width: 4px;
height: 4px;
background: rgba(255, 164, 117, 1);
border-radius: 50%;
display: inline-block;
margin-right: 8px;
position: relative;
top: -2px;
}
.underline {
text-decoration: underline;
cursor: pointer;
}
.dialogul {
position: relative;
left: 0;
}
.dialogul li {
display: inline-block;
min-width: 204px;
height: 50px;
line-height: 50px;
background: rgba(255, 255, 255, 1);
-webkit-box-shadow: 0px 6px 14px 0px rgba(176, 176, 176, 0.1);
box-shadow: 0px 6px 14px 0px rgba(176, 176, 176, 0.1);
border-radius: 10px;
margin-right: 20px;
margin-bottom: 20px;
}
.dialogul li .el-input__inner {
border: none!important;
outline: none!important;
color: #111111;
padding-left: 15px!important;
}
.text1 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
.text2 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.text3 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.text4 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
.backTo {
width: 80px;
height: 34px;
line-height: 34px;
background: #089bab;
border-radius: 17px;
text-align: center;
color: #fff;
font-size: 12px;
font-family: "Microsoft YaHei";
display: inline-block;
margin-left: 15px;
cursor: pointer;
}
/* 日志 */
.detailsIT_Journal .InfoChangeLog {
height: auto;
max-height: 220px;
background-color: #FFFFFF;
}
.detailsIT_Journal .changLogList {
padding-left: 20px;
max-height: 180px;
overflow: auto;
}
.detailsIT_Journal .changLogList_l {
border-left: 1px solid #E9E9E9;
position: relative;
padding-bottom: 10px;
padding-left: 20px;
padding-top: 10px;
}
.detailsIT_Journal ._radius_green {
background-color: #47BF8C;
width: 7px;
height: 7px;
border-radius: 50%;
display: inline-block;
position: absolute;
left: -4px;
top: 19px;
}
.detailsIT_Journal .changLog_time {
color: #666666;
font-size: 12px;
display: inline-block;
padding-right: 10px
}
.zcSpanQuery {
position: absolute;
right: 50px;
top: -60px;
display: inline-block;
width: 75px;
height: 32px;
line-height: 32px;
background: #089bab;
border-radius: 17px;
text-align: center;
color: #fff;
font-size: 12px;
font-family: "Microsoft YaHei";
display: inline-block;
margin-left: 15px;
cursor: pointer;
}
.vue-treeselect__placeholder {
color: #111111!important;
}
/* borderTable */
.borderTable {
width: 100%;
font-size: 12px;
border-collapse: collapse;
font-family: "Microsoft YaHei"!important;
}
.borderTable thead th {
color: #000000;
padding-left: 20px;
height: 50px;
line-height: 50px;
text-align: left;
font-family: "PingFangR";
}
.borderTable thead tr {
background: transparent!important;
}
.borderTable .hoverSpan1 {
left: -20px;
}
.borderTable .hoverSpan2 {
right: -20px;
}
.borderTable .commonStyle {
height: 100%;
background: #fff;
position: absolute;
width: 20px;
top: 0;
display: none;
}
.borderTable tr {
background: #fff;
cursor: pointer;
}
.borderTable tr:nth-child(even) {
/* background:#F6F9FB!important; */
}
/* .borderTable .trNobottom{
border-top: 4px solid #F8FAFB!important;
border-bottom:none!important;
} */
.borderTable tbody tr:hover {
box-shadow: 0px 0 20px 0px rgba(176, 176, 176, 0.2);
transition: transform .5s ease;
/* transform: scaleX(1.02); */
}
.borderTable tbody tr:hover .commonStyle {
display: block;
transition: transform .5s ease;
box-shadow: 0px 0px 0px 0px rgba(176, 176, 176, 0.2);
}
.borderTable tbody tr:hover td {
border-radius: 0!important;
}
.borderTable tbody tr:first-child td:first-child {
border-radius: 20px 0 0 0;
}
.borderTable tbody tr:first-child td:last-child {
border-radius: 0 20px 0 0;
}
.borderTable tbody tr:last-child td:first-child {
border-radius: 0 0 0 20px;
}
.borderTable tbody tr:last-child td:last-child {
border-radius: 0 0 20px 0;
}
.borderTable tr td {
position: relative;
padding: 11px 0 11px 20px;
border: 1px solid #E2E4EB;
}
.tableMoreUl {
background: #F6F9FB;
width: 100%;
font-size: 12px;
}
.tableMoreUl li {
border-bottom: 1px solid #E2E4EB;
padding: 12px;
}
.tableMoreUl li span {
display: inline-block;
width: 22%;
}
.tableMoreUl li:last-child {
border-bottom: none;
}
.el-textarea__inner {
border: none!important;
outline: none!important;
}
.myTable tbody .noData td {
border-radius: 0!important;
}
.lastTdLeft{
border-radius: 0 0 0 20px!important;
}
.lastTdRight{
border-radius: 0 0 20px 0!important;
}
</style>
<style>
li {
list-style-type: none;
}
.courseOffer ul {
padding: 0px;
}
.courseOffer li {
background: rgba(221, 222, 224, 0.2);
border-radius: 4px;
margin-top: 15px;
}
.courseOffer li .dline {
display: table;
width: 100%;
display: flex;
flex-direction: row;
}
.courseOffer li .d1,
.courseOffer li .d2,
.courseOffer li .d3,
.courseOffer li .d4,
.courseOffer li .d5 {
width: 18%;
padding: 20px 20px 10px;
}
.courseOffer li .d7 {
flex: 1;
width: 1px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.courseOffer li .d1 .di-title {
font-size: 16px;
color: #111111;
}
.courseOffer li .d1 .di-c {
font-size: 14px;
display: flex;
line-height: 28px;
color: #111111;
}
.courseOffer li .d6 {
padding: 10px 20px;
width: 100%;
height: inherit;
position: relative;
border-top: 1px solid #dddee0;
}
.courseOffer li .d6 .progress {
width: 100%;
height: 5px;
position: absolute;
left: 0;
bottom: 0;
}
.courseOffer li .d2 div {
margin: 2px 0;
font-size: 14px;
color: #111111;
}
.courseOffer li .d2-n {
font-size: 12px;
color: #999999;
margin-right: 20px;
}
.courseOffer li .d3 .d3-s {
color: var(--q-color-negative);
font-weight: bold;
}
.courseOffer li .d3 div {
margin: 2px 0;
font-size: 14px;
}
.courseOffer li .d4 div {
font-size: 14px;
color: #111111;
margin: 2px 0;
}
.courseOffer li .d5 div {
font-size: 14px;
color: #111111;
margin: 2px 0;
}
.courseOffer .myCourseNName {
width: 25px;
height: 25px;
border-radius: 50%;
color: #fff !important;
text-align: center;
line-height: 25px;
background-color: #004d40;
}
.courseOffer .el-range-editor.el-input__inner {
background-color: transparent;
}
.courseOffer .el-range-editor .el-range-input {
background: transparent;
}
</style>
<template>
<div class="page-body courseOffer">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select filled use-input input-debounce="0" option-value="id" @input="resetSearch"
option-label="name" v-model="msg.AuditStatus" :options="AuditStatusOptions" label="审核状态" :dense="false"
emit-value map-options>
</q-select>
</div>
<div class="col-3">
<q-select filled use-input input-debounce="0" option-value="id" @input="resetSearch"
option-label="name" v-model="msg.StockOutStatus" :options="StockOutStatusOptions" label="出库状态" :dense="false"
emit-value map-options>
</q-select>
</div>
<div class="col-3">
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ClassName" label="班级名称"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.SuppliesName"
label="耗材名称" @clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-select filled use-input input-debounce="0" option-value="id" @input="resetSearch"
option-label="name" v-model="msg.Type" :options="TypeOptions" label="类型" :dense="false"
emit-value map-options >
</q-select>
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="dateList" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="创建开始时间"  end-placeholder="创建结束时间">
 </el-date-picker>       
</template>
</q-field>
</div>
</div>
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
separator="none" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">出库管理</div>
<q-space />
<q-btn color="primary" size="11px" @click="showAdd">新增出库单</q-btn>
</template>
<template v-slot:body-cell-StockOutStatus="props">
<q-td :props="props">
<div v-if="props.row.StockOutStatus===1">未出库</div>
<div v-if="props.row.StockOutStatus===2">部分出库</div>
<div v-if="props.row.StockOutStatus===3">已出库</div>
</q-td>
</template>
<template v-slot:body-cell-AuditStatus="props">
<q-td :props="props">
<div v-if="props.row.AuditStatus===1">审核中</div>
<div v-if="props.row.AuditStatus===2">通过</div>
<div v-if="props.row.AuditStatus===3">驳回</div>
</q-td>
</template>
<template v-slot:body-cell-ClassName="props">
<q-td :props="props">
<div v-for="item in props.row.DetailList" :key="item.Id">
{{item.ClassName}}
</div>
</q-td>
</template>
<template v-slot:body-cell-CourseName="props">
<q-td :props="props">
<div v-for="item in props.row.DetailList" :key="item.Id">
{{item.CourseName}}
</div>
</q-td>
</template>
<template v-slot:body-cell-SuppliesName="props">
<q-td :props="props">
<div v-for="item in props.row.DetailList" :key="item.Id">
{{item.SuppliesName}}
</div>
</q-td>
</template>
<template v-slot:body-cell-BrandName="props">
<q-td :props="props">
<div v-for="item in props.row.DetailList" :key="item.Id">
{{item.BrandName}}
</div>
</q-td>
</template>
<template v-slot:body-cell-Number="props">
<q-td :props="props">
<div v-for="item in props.row.DetailList" :key="item.Id">
{{item.Number}}
</div>
</q-td>
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<q-btn color="primary" size="11px" @click="goDetail(props.row)">查看详情</q-btn>
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
</template>
</q-table>
</div>
<q-dialog v-model="showaddStockOut" persistent>
<SuppliesStockOutFrom/>
</q-dialog>
</div>
</template>
<script>
import edittransorderForm from '../../components/sale/edittransorder-form'
import viewquotationForm from '../../components/sale/viewquotation-form'
import SuppliesStockOutFrom from '../../components/sale/addSuppliesStockOut-from'
//员工
import {
queryEmployee
} from '../../api/users/user'
import {
mapState
} from "vuex";
import {GetSuppliesStockOutApplyForPageList} from '../../api/sale/StockOutApplyFor'
export default {
meta: {
title: "出库管理"
},
components: {
edittransorderForm,
viewquotationForm,
SuppliesStockOutFrom
},
data() {
return {
AuditStatusOptions:[
{
id:0,name:"不限"
},
{
id:1,name:"审核中"
},
{
id:2,name:"通过"
},
{
id:3,name:"驳回"
}
],
StockOutStatusOptions:[
{
id:0,name:"不限"
},
{
id:1,name:"未出库"
},
{
id:2,name:"部分出库"
},
{
id:3,name:"已出库"
}
],
TypeOptions:[
{
id:0,name:"不限"
},
{
id:1,name:"主营业务"
},
{
id:2,name:"其他业务"
},
],
dateList: [], //创建时间
data: [],
loading: true,
msg: {
pageIndex: 1,
pageSize: 10,
AuditStatus:0,
StockOutStatus:0,
ClassName:"",
SuppliesName:"",
StartTime:"",
EndTime:"",
Type:0
},
pageCount: 0,
offerObj: {}, //报价单信息
columns: [
{
name: "SuppliesName",
label: "耗材名称",
align: "left",
},
{
name: "ClassName",
label: "班级名称",
align: "left",
},
{
name: "CourseName",
label: "课程名称",
align: "left",
},
{
name: "BrandName",
label: "品牌",
align: "left",
},
{
name: "Number",
label: "数量",
align: "left",
},
{
name: "StockOutStatus",
label: "出库状态",
field: "StockOutStatus",
align: "left"
},
{
name: "AuditStatus",
label: "审核状态",
field: "AuditStatus",
align: "left"
},
{
name: "CreateByName",
label: "申请人",
align: "left",
field:"CreateByName"
},
{
name: "CreateDate",
label: "申请时间",
align: "left",
field:"CreateDate"
},
{
name: 'optioned',
label: '操作',
align: "left",
}
],
showaddStockOut:false
}
},
mounted() {
this.getSuppliesStockOutApplyForPageList();
},
methods: {
//跳转详情
goDetail(item) {
this.$router.push({
path: '/sale/SuppliesStockOutApplyForDetail',
query: {
Id: item.Id
}
});
},
//刷新页面
refreshPage() {
// this.showOrderForm = false;
// this.showEditPrice = false;
this.getSuppliesStockOutApplyForPageList();
},
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getSuppliesStockOutApplyForPageList();
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getSuppliesStockOutApplyForPageList();
},
//获取出库申请分页列表
getSuppliesStockOutApplyForPageList() {
if (this.dateList && this.dateList.length > 0) {
this.msg.StartTime = this.dateList[0];
this.msg.EndTime = this.dateList[1];
} else {
this.msg.StartTime = '';
this.msg.EndTime = '';
}
GetSuppliesStockOutApplyForPageList(this.msg).then(res => {
this.loading = false;
this.data = res.data.data.pageData;
this.pageCount = res.data.data.pageCount;
}).catch(() => {
this.loading = false;
})
},
// 显示新增出库单
showAdd(){
this.showaddStockOut=true
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
......@@ -111,7 +111,7 @@
import { queryEmployee } from '../../api/users/user'
export default {
meta: {
title: "我的订单"
title: "留学就业统计"
},
components: {
myOrderForm,
......
......@@ -551,6 +551,16 @@ const routes = [{
component: () =>
import("pages/sale/studyOrderStatistics.vue")
},
{
path: "/sale/SuppliesStockOutApplyForMan", //销售 出库管理
component: () =>
import("pages/sale/SuppliesStockOutApplyForMan.vue")
},
{
path: "/sale/SuppliesStockOutApplyForDetail", //销售 出库管理详情
component: () =>
import("pages/sale/SuppliesStockOutApplyForDetail.vue")
},
{
path: "/sale/contractManage", //销售 合同管理
component: () =>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment