Commit 400c4ecf authored by Mac's avatar Mac

修改财务单据和消息推送的个别处理

parent 790f88ab
......@@ -41,6 +41,41 @@ export function getPropertyInfo(data) {
data
});
}
//设置经办人
export function setBuyingRequisitionManagers(data) {
return request({
url: '/property/SetBuyingRequisitionManagers',
method: 'post',
data
});
}
//获取经办人的列表
export function getEmployeeList(data) {
return request({
url: '/User/GetEmployeeList',
method: 'post',
data
});
}
// 请购单审核
export function bRAuditOrRefund(data) {
return request({
url: '/property/BRAuditOrRefund',
method: 'post',
data
});
}
// 请购单审核
export function getBuyingRequisitionAuditDetail(data) {
return request({
url: '/property/GetBuyingRequisitionAuditDetail',
method: 'post',
data
});
}
export function UploadSelfFileT(path, files, successCall, ocr) {
if (files && files.length > 0) {
......
import request from '../../utils/request'
import request_zc from '../../utils/request_zc'
/**
* 获取收支明细数据
......@@ -44,4 +45,28 @@ export function getEasyReportList(data) {
method: 'post',
data
})
}
// 财务单据 资产采购详情
export function getPropertyProcurementInfo(data) {
return request_zc({
url: '/property/GetPropertyProcurementInfo',
method: 'post',
data
});
}
// 财务单据 耗材采购详情
export function getSuppliesProcurementInfo(data) {
return request_zc({
url: '/supplies/GetSuppliesProcurementInfo',
method: 'post',
data
});
}
// 财务单据 教育出库详情
export function getStockOutPageList(data) {
return request_zc({
url: '/Warehouse/GetStockOutPageList',
method: 'post',
data
});
}
\ No newline at end of file
......@@ -30,7 +30,7 @@
<q-tab-panel name="msg" class="scroll _scrollbar">
<q-list v-if="socektArr.length>0">
<q-item class="q-my-sm q-pa-xs items-start" v-for="(x,i) in socektArr" :key="i" clickable v-ripple
@click="goMsgDetail(x.JumpUrl),readMsgLog(x.Id,i)">
@click="goMsgDetail(x.JumpUrl,x),readMsgLog(x.Id,i)">
<!-- <q-item-section avatar>
<q-avatar :style="{'background-color':x.icons.backgroundColor}" rounded size="40px"
:text-color="x.icons.color">
......@@ -97,6 +97,7 @@
import {
sendSock
} from '../../api/common/socket'
import {url_jump_zc} from "../../utils/url"
import noneData from './none-data'
import NoneData from './none-data.vue'
......@@ -328,24 +329,31 @@
},
//跳转链接 新页面打开
goMsgDetail(url) {
var hostName = window.location.hostname;
var port = window.location.port;
var newurl = ""
if (url != null && url.length > 0) {
if (url.indexOf('http://') == -1 || url.indexOf('https://') == -1) {
if (url.indexOf("www") == -1) {
newurl = "http://" + hostName + (port != 80 ? ":" + port : "") + "/#" + url;
} else {
newurl = "http://" + url;
goMsgDetail(url,item) {
if(item.CategoryId == 5){
let zcurl=url_jump_zc+'#'+url;
// let zcurl='http://www.test.com:8080/#'+url;
window.open(zcurl)
}else{
var hostName = window.location.hostname;
var port = window.location.port;
var newurl = ""
if (url != null && url.length > 0) {
if (url.indexOf('http://') == -1 || url.indexOf('https://') == -1) {
if (url.indexOf("www") == -1) {
newurl = "http://" + hostName + (port != 80 ? ":" + port : "") + "/#" + url;
} else {
newurl = "http://" + url;
}
} else {
newurl = url
}
}
if (newurl) {
window.open(newurl, "_blank");
}
} else {
newurl = url
}
}
if (newurl) {
window.open(newurl, "_blank");
}
},
//看过后删除
readMsgLog(Id, index) {
......
This diff is collapsed.
This diff is collapsed.
......@@ -817,6 +817,15 @@
@click="goassets(GetDetail.ReFinanceId,GetDetail.OtherType)"> 电商采购单:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==16"
@click="goassets(GetDetail.ReFinanceId,GetDetail.OtherType)"> 电商出库单:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==31"
@click="goassets2(GetDetail.ReFinanceId,GetDetail.OtherType)"> 教育资产采购:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==32"
@click="goassets2(GetDetail.ReFinanceId,GetDetail.OtherType)"> 教育耗材采购:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==33"
@click="goassets2(GetDetail.ReFinanceId,GetDetail.OtherType)"> 教育耗材出库:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==17"
@click="lookbreakage(GetDetail.ReFinanceId)"> 报损/报溢单:{{GetDetail.ReFinanceId}}</span>
<span v-if="GetDetail.TemplateId==28 || GetDetail.TemplateId==30" @click="Gourl(GetDetail)"
......@@ -2123,6 +2132,20 @@
},
})
},
goassets2(ID,OtherType){
var tempStr = ''
if(OtherType==31){
tempStr = '/financial/financalDocument/PropertyProcurementDetails?id='+ID;
}else if(OtherType==32){
tempStr = '/financial/financalDocument/SuppliesProcurementDetail?id='+ID;
}else if(OtherType==33){
tempStr = '/financial/financalDocument/InAndOutDdetails?id='+ID;
}
this.$router.push({
path: tempStr
});
},
lookbreakage(ID) {
this.$router.replace({
name: "breakageSingle",
......
<style>
.InAndOutDdetails .zcInfo .el-col {
font-size: 12px;
margin-top: 20px;
color: #111111;
}
</style>
<template>
<div class="page-body InAndOutDdetails">
<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"
>
{{GetDetail.StockOutStateStr}}
</p>
</el-col>
</el-row>
<el-row>
<el-col :span="18">
<el-row class="zcInfo">
<el-col :span="12">
<span>出库单编码:</span>
<span>{{ GetDetail.StockOutNum }}</span>
</el-col>
<el-col :span="12">
<span>领取人 :</span>
<span>{{ GetDetail.EmName }}</span>
</el-col>
<el-col :span="12">
<span>仓库名称 :</span>
<span>{{ GetDetail.WareHouseName }}</span>
</el-col>
<el-col :span="12">
<span>出库时间 :</span>
<span>{{ GetDetail.UpdateDate }}</span>
</el-col>
<el-col :span="12">
<span>操作人/时间 :</span>
<span>{{ GetDetail.UpdateBy }}{{GetDetail.StockOutDate}}</span>
</el-col>
<el-col :span="12" v-if="GetDetail.ApplyForId>0">
<span>申请单 :</span>
<span style="text-decoration:underline;color:#2961FE;cursor:pointer;" @click="gourl()">{{ GetDetail.ApplyForId }}</span>
</el-col>
</el-row>
</el-col>
</el-row>
<p class="f16 c11" style="margin-top: 25px">出库清单</p>
<div class="page-content" style="margin-top:10px">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-right-column-table sticky-column-table" separator="none" hide-bottom
:data="GetDetail.DetailList" :columns="columns" row-key="Id">
<template v-slot:body-cell-WareHouseName="props">
<q-td :props="props">
<span v-for="(x,y) in props.row.GoodsCategoryList" :key="y">{{x}} <span v-if="props.row.GoodsCategoryList.length !== y+1"> , </span></span>
</q-td>
</template>
</q-table>
</div>
</div>
</template>
<script>
import{
getStockOutPageList
} from '../../../api/finance/index'
export default {
props: {},
data() {
return {
GetDetail:{},
loading:false,
msg:{
rowsPerPage: 1000,
},
columns: [
{
name: 'SuppliesName',
label: '耗材名称',
field: 'SuppliesName',
align: 'left',
},
{
name: 'SuppliesNum',
label: '耗材编码',
field: 'SuppliesNum',
align: 'left',
},
{
name: 'CategoryName',
label: '分类名称',
field: 'CategoryName',
align: 'left',
},
{
name: 'WareHouseName',
required: true,
label: '品牌名称',
align: 'left',
field: row => row.WareHouseName
},
{
name: 'InventoryNum',
label: '库存',
field: 'InventoryNum',
align: 'left'
},
{
name: 'Number',
label: '数量',
field: 'Number',
align: 'left'
},
],
}
},
created() {},
mounted() {
this.getStockOutPageList();
},
methods: {
getStockOutPageList(){
let msg={
pageIndex:1,
pageSize:10,
StockOutNum:'',
SuppliesNum:'',
SuppliesName:'',
SupplierName:'',
StartTime:'',
EndTime:'',
WarehouseId:'',
EmployeeId:'',
Id:0,
RB_Group_id:''
}
msg.Id = this.$route.query.id;
msg.RB_Group_id = this.getLocalStorage().Group_Id
getStockOutPageList(msg).then(res => {
this.loading = false;
this.GetDetail = res.data.data.pageData[0]
}).catch(() => {
this.loading = false;
})
},
gourl(){
let ID = this.GetDetail.ApplyForId;
let tempStr = '/sale/SuppliesStockOutApplyForDetail?Id='+ID;
this.$router.push({
path: tempStr
});
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
<style>
.PropertyProcurementDetails .zcInfo .el-col {
font-size: 12px;
margin-top: 20px;
color: #111111;
}
</style>
<template>
<div class="page-body PropertyProcurementDetails">
<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.StockInStatus == 1"
>
未入库
</p>
<p
class="c11 f14"
style="padding-top: 12px"
v-if="GetDetail.StockInStatus == 2"
>
部分入库
</p>
<p
class="c11 f14"
style="padding-top: 12px"
v-if="GetDetail.StockInStatus == 3"
>
已入库
</p>
</el-col>
</el-row>
<el-row>
<el-col :span="18">
<el-row class="zcInfo">
<el-col :span="12">
<span>校区:</span>
<span>{{ GetDetail.SchoolName }}</span>
</el-col>
<el-col :span="12">
<span>供应商 :</span>
<span>{{ GetDetail.SupplierName }}</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="12">
<span>总价格 :</span>
<span>{{ GetDetail.TotalCostMoney }}</span>
</el-col> -->
<!-- <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-col :span="24">
<span>备注 :</span>
<span>{{ GetDetail.Remark }}</span>
</el-col>
</el-row>
</el-col>
</el-row>
<p class="f16 c11" style="margin-top: 25px">资产清单</p>
<div class="page-content" style="margin-top:10px">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-right-column-table sticky-column-table" separator="none" hide-bottom
:data="GetDetail.DetailList" :columns="columns" row-key="Id">
<template v-slot:body-cell-EmName="props">
<div>{{props.row.EmName}}</div>
<div>{{props.row.GetTime}}</div>
</template>
</q-table>
</div>
</div>
</template>
<script>
import{
getPropertyProcurementInfo
} from '../../../api/finance/index'
export default {
props: {},
data() {
return {
GetDetail:{},
loading:false,
msg:{
rowsPerPage: 1000,
},
columns: [
{
name: 'PropertyName',
label: '名称',
field: 'PropertyName',
align: 'left',
},
{
name: 'BrandName',
label: '品牌',
field: 'BrandName',
align: 'left',
},
{
name: 'CategoryName',
label: '分类',
field: 'CategoryName',
align: 'left',
},
{
name: 'Number',
label: '数量',
field: 'Number',
align: 'left'
},
{
name: 'CostMoney',
label: '价格',
align: 'left',
field: 'CostMoney'
},
{
name: 'StockInNum',
label: '已入数量',
field: 'StockInNum',
align: 'left'
},
],
}
},
created() {},
mounted() {
this.getPropertyProcurementInfo();
},
methods: {
getPropertyProcurementInfo(){
getPropertyProcurementInfo({ProcurementId:this.$route.query.id}).then(res => {
this.loading = false;
this.GetDetail = res.data.data
}).catch(() => {
this.loading = false;
})
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
<style>
.SuppliesProcurementDetail .zcInfo .el-col {
font-size: 12px;
margin-top: 20px;
color: #111111;
}
</style>
<template>
<div class="page-body SuppliesProcurementDetail">
<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.StockInStatus == 1"
>
未入库
</p>
<p
class="c11 f14"
style="padding-top: 12px"
v-if="GetDetail.StockInStatus == 2"
>
部分入库
</p>
<p
class="c11 f14"
style="padding-top: 12px"
v-if="GetDetail.StockInStatus == 3"
>
已入库
</p>
</el-col>
</el-row>
<el-row>
<el-col :span="18">
<el-row class="zcInfo">
<el-col :span="12">
<span>校区:</span>
<span>{{ GetDetail.SchoolName }}</span>
</el-col>
<el-col :span="12">
<span>供应商 :</span>
<span>{{ GetDetail.SupplierName }}</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.WareHouseName }}</span>
</el-col>
<el-col :span="24">
<span>备注 :</span>
<span>{{ GetDetail.Remark }}</span>
</el-col>
</el-row>
</el-col>
</el-row>
<p class="f16 c11" style="margin-top: 25px">资产清单</p>
<div class="page-content" style="margin-top:10px">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-right-column-table sticky-column-table" separator="none" hide-bottom
:data="GetDetail.DetailList" :columns="columns" row-key="Id">
<template v-slot:body-cell-EmName="props">
<div>{{props.row.EmName}}</div>
<div>{{props.row.GetTime}}</div>
</template>
</q-table>
</div>
</div>
</template>
<script>
import{
getSuppliesProcurementInfo
} from '../../../api/finance/index'
export default {
props: {},
data() {
return {
GetDetail:{},
loading:false,
msg:{
rowsPerPage: 1000,
},
columns: [
{
name: 'SuppliesName',
label: '名称',
field: 'SuppliesName',
align: 'left',
},
{
name: 'BrandName',
label: '品牌',
field: 'BrandName',
align: 'left',
},
{
name: 'CategoryName',
label: '分类',
field: 'CategoryName',
align: 'left',
},
{
name: 'Number',
label: '数量',
field: 'Number',
align: 'left'
},
{
name: 'CostMoney',
label: '价格',
align: 'left',
field: 'CostMoney'
},
{
name: 'StockInNum',
label: '已入数量',
field: 'StockInNum',
align: 'left'
},
],
}
},
created() {},
mounted() {
this.getSuppliesProcurementInfo();
},
methods: {
getSuppliesProcurementInfo(){
getSuppliesProcurementInfo({ProcurementId:this.$route.query.id}).then(res => {
this.loading = false;
this.GetDetail = res.data.data
}).catch(() => {
this.loading = false;
})
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
......@@ -42,8 +42,8 @@
</p>
</el-col>
<el-col :span="12">
<el-button @click="setStockoutdig=true" round style="float: right;background-color:#2961fe;color:#fff;margin-left:10px" v-if="isSelfCreate" :disabled="GetDetail.AuditStatus == 2">修改状态</el-button>
<el-button @click="SetStockout" round style="float: right;background-color:#2961fe;color:#fff;" :disabled="GetDetail.AuditStatus != 2||GetDetail.StockOutStatus === 3">出库</el-button>
<!-- <el-button @click="setStockoutdig=true" round style="float: right;background-color:#2961fe;color:#fff;margin-left:10px" v-if="isSelfCreate" :disabled="GetDetail.AuditStatus == 2">修改状态</el-button>
<el-button @click="SetStockout" round style="float: right;background-color:#2961fe;color:#fff;" :disabled="GetDetail.AuditStatus != 2||GetDetail.StockOutStatus === 3">出库</el-button> -->
</el-col>
</el-row>
<el-row>
......@@ -73,16 +73,6 @@
<span>总数量 :</span>
<span>{{ GetDetail.TotalNumber }}</span>
</el-col>
<el-col :span="12" style="display:flex">
<span>仓库 :</span>
<div>
<q-select filled use-input input-debounce="0" option-value="Id"
option-label="Name" v-model="GetDetail.WareHouseId" :options="storeList" dense
emit-value map-options>
</q-select>
</div>
</el-col>
<el-col :span="24">
<span>备注 :</span>
<span>{{ GetDetail.Remark }}</span>
......@@ -92,19 +82,7 @@
</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"
......@@ -118,7 +96,6 @@
<th>分类</th>
<th>数量</th>
<th>已出数量</th>
<th width="150px">出库数量</th>
</thead>
<tbody>
<tr v-for="(item, index) in GetDetail.DetailList" :key="index">
......@@ -127,9 +104,7 @@
<td>{{ item.CategoryName }}</td>
<td>{{ item.Number }}</td>
<td>{{ item.StockOutNum }}</td>
<td>
<q-input v-model.number="item.WaitStockOutNum" type="number" @input="inputval(item.WaitStockOutNum,item.Number,index)" :min="0" :max="item.Number" :disable="GetDetail.AuditStatus != 2||GetDetail.StockOutStatus === 3"></q-input>
</td>
</tr>
<tr v-show="GetDetail.DetailList.length == 0">
......@@ -138,36 +113,7 @@
</tbody>
</table>
</div>
<q-dialog v-model="setStockoutdig">
<q-card class="q-px-md" style="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>
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-6 q-mt-lg">
<q-select filled use-input input-debounce="0" option-value="id" label="类型"
option-label="name" v-model="stateMsg.Type" :options="stateOption"
emit-value map-options>
</q-select>
</div>
</div>
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-12 q-mt-lg">
<q-input v-model="stateMsg.Remark" label="备注" type="textarea" filled></q-input>
</div>
</div>
<div class="col row wrap q-mr-lg q-col-gutter-md q-mb-lg">
<div class="col-12 q-mt-lg" >
<q-btn color="primary" label="提交" style="float:right" class="q-ml-sm" @click="SetStockoutState"></q-btn>
<q-btn text-color="primary" label="取消" style="float:right" @click="setStockoutdig=false"></q-btn>
</div>
</div>
</q-card>
</q-dialog>
</div>
</template>
......@@ -238,7 +184,8 @@ export default {
}
},
backTo() {
this.$router.push("/sale/SuppliesStockOutApplyForMan");
// this.$router.push("/sale/SuppliesStockOutApplyForMan");
this.$router.go(-1);//返回上一层
},
getDetail() {
this.pageLoad = true;
......
......@@ -442,6 +442,23 @@ const routes = [{
component: () =>
import("pages/financial/financalDocument/FinancialDocumentsDetail.vue")
},
{
path: "/financial/financalDocument/PropertyProcurementDetails", //资产采购详情
component: () =>
import("pages/financial/financalDocument/PropertyProcurementDetails.vue")
},
{
path: "/financial/financalDocument/SuppliesProcurementDetail", //耗材采购详情
component: () =>
import("pages/financial/financalDocument/SuppliesProcurementDetail.vue")
},
{
path: "/financial/financalDocument/InAndOutDdetails", //财务单据 教育耗材出库
component: () =>
import("pages/financial/financalDocument/InAndOutDdetails.vue")
},
{
path: "/financial/financalDocument/BasicDocuments", //财务 财务单据 审核标准单据
component: () =>
......@@ -770,6 +787,15 @@ const routes = [{
title: '资产管理'
},
},
{
path: '/RequisitionShenpi', //资产管理审批
name: 'RequisitionShenpi',
component: () => import('pages/administration/AssetsSystem/RequisitionShenpi'),
meta: {
title: '资产管理'
},
},
{
path: "*",
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