Преглед на файлове

Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev

rongxin_test
庞东旭 преди 10 месеца
родител
ревизия
848d7e0c8f
променени са 16 файла, в които са добавени 1424 реда и са изтрити 131 реда
  1. +80
    -0
      src/api/onlineHome/bankAgriculture/cashExpense.js
  2. +45
    -0
      src/router/index.js
  3. +2
    -2
      src/views/lawEnforcement/index.vue
  4. +3
    -3
      src/views/lawEnforcement/user/index.vue
  5. +6
    -6
      src/views/lawEnforcement/user/waitingProcessing.vue
  6. +3
    -3
      src/views/lawEnforcement/userNew/user_new.vue
  7. +37
    -60
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalProcess.vue
  8. +312
    -0
      src/views/yinnong/bankAgriculture/cashExpense/cashExpenseApproval.vue
  9. +192
    -0
      src/views/yinnong/bankAgriculture/cashExpense/cashExpenseDetail.vue
  10. +246
    -0
      src/views/yinnong/bankAgriculture/cashExpense/cashExpenseForm.vue
  11. +258
    -0
      src/views/yinnong/bankAgriculture/cashExpense/cashExpenseList.vue
  12. +190
    -0
      src/views/yinnong/bankAgriculture/cashExpense/cashExpenseProcess.vue
  13. +36
    -55
      src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess.vue
  14. +6
    -0
      src/views/yinnong/doneCompleted/completedNew.vue
  15. +6
    -0
      src/views/yinnong/doneCompleted/doneNew.vue
  16. +2
    -2
      src/views/yinnong/workbench.vue

+ 80
- 0
src/api/onlineHome/bankAgriculture/cashExpense.js Целия файл

@@ -0,0 +1,80 @@
import request from '@/utils/request'

// 查询资金审批申请列表
export function listCashExpense(query) {
return request({
url: '/yinnong/cashExpense/list',
method: 'get',
params: query
})
}

// 统计查询资金审批申请列表
export function statisticCashExpense(query) {
return request({
url: '/yinnong/cashExpense/statistic',
method: 'get',
params: query
})
}

// 导出资金审批申请
export function exportCashExpense(query) {
return request({
url: '/yinnong/cashExpense/export',
method: 'get',
params: query
})
}

// 查询资金审批申请详细
export function getCashExpense(id) {
return request({
url: '/yinnong/cashExpense/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

// 新增资金审批申请
export function addCashExpense(data) {
return request({
url: '/yinnong/cashExpense/add',
method: 'post',
data: data
})
}

// 修改资金审批申请
export function updateCashExpense(data) {
return request({
url: '/yinnong/cashExpense/edit',
method: 'post',
data: data
})
}

// 删除资金审批申请
export function delCashExpense(id) {
return request({
url: '/yinnong/cashExpense/remove/' + id,
method: 'get'
})
}

// 资金申请审批
export function applyCashExpense(id) {
return request({
url: '/yinnong/cashExpense/submitApply/' + id,
method: 'get'
});
}

// 撤销资金申请审批
export function revokeCashExpense(id) {
return request({
url: '/yinnong/cashExpense/revokeApply/' + id,
method: 'get'
});
}


+ 45
- 0
src/router/index.js Целия файл

@@ -2686,6 +2686,51 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/yinnong/homestead/supervision/supervisionDetail'], resolve)
},
{
path: '/yinnong/cashExpenseList',
name: 'yinnongCashExpenseList',
meta: {
title: '资金审批申请列表',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseList'], resolve)
},
{
path: '/yinnong/cashExpenseForm',
name: 'yinnongCashExpenseForm',
meta: {
title: '资金审批申请表单',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseForm'], resolve)
},
{
path: '/yinnong/cashExpenseDetail',
name: 'yinnongCashExpenseDetail',
meta: {
title: '资金审批申请详情',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseDetail'], resolve)
},
{
path: '/yinnong/cashExpenseApproval',
name: 'yinnongCashExpenseApproval',
meta: {
title: '资金审批申请',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseApproval'], resolve)
},
{
path: '/yinnong/cashExpenseProcess',
name: 'yinnongCashExpenseProcess',
meta: {
title: '资金审批申请流程',
hidden: true,
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/cashExpense/cashExpenseProcess'], resolve)
},
{
path: '/lawEnforcement',
name: 'lawEnforcement',


+ 2
- 2
src/views/lawEnforcement/index.vue Целия файл

@@ -165,7 +165,7 @@ export default {
})
},
/** 查询待办列表 */
getTaskList() {
/*getTaskList() {
this.loading = true;
return request({
url: "/activiti/process/taskList",
@@ -181,7 +181,7 @@ export default {
})
.then(() => {
});
},
},*/
getList(){
this.loading = true;
this.queryParams.number = 2 ;


+ 3
- 3
src/views/lawEnforcement/user/index.vue Целия файл

@@ -188,10 +188,10 @@ export default {
console.log(res.data.companyName)
this.companyName = res.data.companyName;
});
this.getTaskList();
//this.getTaskList();
});
},
getTaskList() {
/*getTaskList() {
this.loading = true;
return request({
url: "/activiti/process/taskList",
@@ -208,7 +208,7 @@ export default {
.then(() => {

});
},
},*/
},
};
</script>


+ 6
- 6
src/views/lawEnforcement/user/waitingProcessing.vue Целия файл

@@ -169,7 +169,7 @@ export default {
});
},
methods: {
getTaskList() {
/*getTaskList() {
this.loading = true;
return request({
url: "/activiti/process/taskList",
@@ -189,8 +189,8 @@ export default {
}).then(() => {

});
},
getTaskDoneList(){
},*/
/*getTaskDoneList(){
this.doneLoading = true;
return request({
url: "/activiti/process/taskDoneList",
@@ -211,18 +211,18 @@ export default {
})
.then(() => {
});
},
},*/
getListchange(type){
if(type == 'db'){
this.taskList = [];
this.queryParamsTask.pageNum = 1;
this.finished = false;
this.getTaskList()
//this.getTaskList()
} else {
this.taskDoneList = [];
this.queryParams.pageNum = 1 ;
this.doneFinished = false;
this.getTaskDoneList()
//this.getTaskDoneList()
}
}
},


+ 3
- 3
src/views/lawEnforcement/userNew/user_new.vue Целия файл

@@ -134,10 +134,10 @@ export default {
console.log(res.data.companyName)
this.companyName = res.data.companyName;
});
this.getTaskList();
//this.getTaskList();
});
},
getTaskList() {
/*getTaskList() {
this.loading = true;
return request({
url: "/activiti/process/taskList",
@@ -154,7 +154,7 @@ export default {
.then(() => {

});
},
},*/
},
};
</script>


+ 37
- 60
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalProcess.vue Целия файл

@@ -11,52 +11,41 @@
</template>
</van-nav-bar>
<div class="main_box">
<van-divider content-position="center"><h4>批次号:{{this.$route.query.auditbatchNo}}</h4></van-divider>
<van-row v-if="form.auditStatus== '0'">
<van-col span="4" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col>
<van-col span="20" class="textBlue">草稿</van-col>
</van-row>
<van-row v-if="form.auditStatus != '0'">
<van-col span="4" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col>
<van-col span="20" class="textBlue">已申请
<van-row>
<van-col span="12" style="padding: 0;" class="textBlue" v-show="processList.auditStatus!='0'">{{form.applyUserName}}</van-col>
<van-col span="12" style="padding: 0;" class="textBlue" v-show="processList.auditStatus!='0'">{{form.applyDate}}</van-col>
</van-row>
</van-col>
</van-row>
<van-row v-for="(item1,index,i) in processList" :key="i">
<van-col span="4" align="right">
<p class="icon_jian" v-show="item1.auditStatus=='1'"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="item1.auditStatus=='3'"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="item1.auditStatus=='2'"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="20">
<van-row>
<van-col span="12" style="padding: 0;">
<p v-show="item1.auditStatus == '1'">{{item1.nodeName}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.nodeName}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.nodeName}}</p>
</van-col>
<van-col span="12" style="padding: 0;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditTime}}</p>
</van-col>
</van-row>
<van-row>
<van-col span="12" style="padding: 0;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditBy}}</p>
</van-col>
<van-col span="12" style="padding: 0;">
<p v-show="item1.auditStatus == '1'">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditRemark}}</p>
</van-col>
</van-row>
</van-col>
<van-row v-for="(item,index) in processList" :key="index">
<van-divider content-position="center"><h4>批次号:{{index}}</h4></van-divider>
<van-row v-for="(item1,index,i) in item" :key="i">
<van-col span="4" align="right">
<p class="icon_jian" v-show="item1.auditStatus=='1'"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="item1.auditStatus=='3'"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="item1.auditStatus=='2'"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="20">
<van-row>
<van-col span="12" style="padding: 0;">
<p v-show="item1.auditStatus == '1'">{{item1.actorName}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.actorName}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.actorName}}</p>
</van-col>
<van-col span="12" style="padding: 0;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditTime}}</p>
</van-col>
</van-row>
<van-row>
<van-col span="12" style="padding: 0;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditBy}}</p>
</van-col>
<van-col span="12" style="padding: 0;">
<p v-show="item1.auditStatus == '1'">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditRemark}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
</van-row>
<van-divider content-position="center" v-if="approvalTemplateDetailList.length>0"><h4>审批流程</h4></van-divider>
<van-row v-if="approvalTemplateDetailList.length>0" v-for="(item1,index,i) in approvalTemplateDetailList" :key="i">
@@ -111,12 +100,8 @@ export default {
//查询审批进程
getTransferProcess(id){
getTransferProcess(id).then(res => {
this.processList = res.data[auditbatchNo]
// console.info( this.processList);
// this.processList.乡镇审批时间 = this.processList.乡镇审批时间?this.format(this.processList.乡镇审批时间, "yyyy-MM-dd HH:mm:ss"):""
// this.processList.区县审批时间 = this.processList.区县审批时间?this.format(this.processList.区县审批时间, "yyyy-MM-dd HH:mm:ss"):""
// this.processList.支付状态时间 = this.processList.支付状态时间?this.format(this.processList.支付状态时间, "yyyy-MM-dd HH:mm:ss"):""
// this.processList.入账状态时间 = this.processList.入账状态时间?this.format(this.processList.入账状态时间, "yyyy-MM-dd HH:mm:ss"):""
this.processList = res.data
console.info( this.processList);
})
},
handleUpdate(id) {
@@ -214,12 +199,4 @@ export default {
color: #878787;
line-height: 22Px;
}
.van-row{
.van-row{
.van-col{
padding: 5Px 0 0 0!important;
color: #878787;
}
}
}
</style>

+ 312
- 0
src/views/yinnong/bankAgriculture/cashExpense/cashExpenseApproval.vue Целия файл

@@ -0,0 +1,312 @@
<template>
<div class="app-container">
<van-nav-bar left-arrow fixed placeholder @click-left="goBack">
<template #title>
<p style="font-weight: bold;">资金审批申请</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>

<van-form readonly>
<div class="main_box">
<van-field v-model="form.cashAt" label="申请日期" placeholder="请选择申请日期"
required :rules="[{ required: true }]"
input-align="right" right-icon="arrow-down"
readonly clickable @click="showCashAt = true" />
<van-popup v-model="showCashAt" position="bottom">
<van-datetime-picker
:value="currentDate"
type="date"
title="请选择申请日期"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmCashAt"
@cancel="showCashAt = false"
/>
</van-popup>
<van-field v-model="form.cashAmount" label="申请金额(元)" placeholder="请输入申请金额(元)"
required :rules="[{ required: true }]" input-align="right" type="number" />
<van-field v-model="capitalExpenditureType" label="资金支出类别" placeholder="请选择资金支出类别"
required :rules="[{ required: true }]"
input-align="right" right-icon="arrow-down"
readonly clickable @click="showType = true" />
<van-popup v-model="showType" position="bottom">
<van-picker
show-toolbar
:columns="capitalExpenditureTypeOptions"
value-key="dictLabel"
@confirm="onConfirmType"
@cancel="showType = false"
/>
</van-popup>
<van-field v-model="form.cashRemarks" label="支款说明" placeholder="请输入支款说明"
required :rules="[{ required: true }]" input-align="right" maxlength="200" />
<van-field v-model="form.cashierNo" label="付款账号" placeholder="请输入付款账号"
input-align="right" maxlength="50" />
<van-field v-model="form.cashierName" label="付款单位" placeholder="请输入付款单位"
input-align="right" maxlength="150" />
<van-field v-model="form.payeeName" label="收款方名称" placeholder="请输入收款方名称"
input-align="right" maxlength="150" />
<van-field v-model="form.payeePhone" label="收款方电话" placeholder="请输入收款方电话"
input-align="right" maxlength="20" />
<van-field v-model="approvalTemplateName" label="审批流程" placeholder="请选择审批流程"
required :rules="[{ required: true }]"
input-align="right" right-icon="arrow-down"
readonly clickable @click="showTemplate = true"
/>
<van-popup v-model="showTemplate" position="bottom">
<van-picker
show-toolbar
:columns="templateList"
value-key="name"
@confirm="onConfirmTemplate"
@cancel="showTemplate = false"
/>
</van-popup>

<van-field label="附件" input-align="right" readonly>
<template #button>
<van-button type="info" size="small" @click="openAttachment(form.id)" >查看附件</van-button>
</template>
</van-field>

<van-popup v-model="showAttachment" lock-scroll closeable position="top" :style="{ height: '30%' }" >
<div style="padding: 0 13% 0 5%;">
<van-divider>附件</van-divider>
<van-uploader v-model="fileList" multiple :readonly="true" :show-upload="false" />
</div>
</van-popup>
</div>
</van-form>

<div class="main_box examine_box" v-if="this.$route.query.type === 'todo'">
<van-row type="flex" justify="space-between" align="center">
<van-col span="5">审批<br/>意见</van-col>
<van-col span="19">
<van-radio-group v-model="pass" direction="horizontal">
<van-radio name="true">同意</van-radio>
<van-radio name="false">驳回</van-radio>
</van-radio-group>
<van-field v-model="comment" type="textarea" placeholder="请输入审批意见" rows="2" />
</van-col>
</van-row>
</div>

<div style="margin: 16px 2%;" v-if="this.$route.query.type === 'todo'">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" @click="submitApproval" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>

import {selectApprovalByTemplateId, listTemplate, approval} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { getCashExpense } from "@/api/onlineHome/bankAgriculture/cashExpense";
import {attachmentList} from "@/api/sunVillage_info/fixedAssets";
import request from "@/utils/request";

export default {
name: "cashExpenseApproval",
data() {
return {
showCashAt: false,

minDate: new Date(1978, 0, 1),
maxDate: new Date(2100, 11, 31),
currentDate: new Date(),
form: {},

capitalExpenditureType: null,
capitalExpenditureTypeOptions:[],
showType: false,

approvalTemplateName: null,
showTemplate:false,
templateList:[],

// 审核意见默认值
pass: "true",
comment: "同意",

showAttachment: false,
fileList: [],
};
},
created() {
this.reset();
this.getDicts("capital_expenditure_type").then((res) => {
this.capitalExpenditureTypeOptions = res.data;
});
listTemplate({ type: '10' }).then(response => {
this.templateList = response.rows;
});
setTimeout(() => {
this.getDetail();
}, 500);
},
watch: {
pass: function (val) {
this.comment = val === "true" ? "同意" : "驳回";
},
},
methods: {
goBack(){
this.$router.back(-1);
},
onConfirmCashAt(data) {
this.form.cashAt = this.format(data, 'yyyy-MM-dd');
this.showCashAt = false;
},
onConfirmType(value){
this.form.capitalExpenditureType = value.dictValue;
this.capitalExpenditureType = value.dictLabel;
this.showType = false;
},
// 表单重置
reset() {
this.form = {
id: null,
bookId: null,
deptId: null,
bookName: null,
cashAt: null,
cashAmount: null,
cashRemarks: null,
capitalExpenditureType: null,
cashierNo: null,
cashierName: null,
payeeName: null,
payeePhone: null,
approvalTemplateId: null,
auditStatus: null,
auditbatchNo: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
},
getDetail(){
getCashExpense(this.$route.query.id).then(response => {
this.form = response.data;
this.capitalExpenditureType = this.selectDictLabel(this.capitalExpenditureTypeOptions, response.data.capitalExpenditureType);
const template = this.templateList.find(item => item.id === response.data.approvalTemplateId);
this.approvalTemplateName = template.name;
});
},
onConfirmTemplate(data) {
selectApprovalByTemplateId(data.id).then(res => {
this.showTemplate = false;
if (res.approvalDetails.length > 0) {
this.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
} else {
this.approvalTemplateName = null;
this.form.approvalTemplateId = null;
this.$notify({type: 'danger', message: '此流程无节点,无法选择!'});
}
});
},
submitApproval() {
approval({
taskId: this.$route.query.taskId,
auditbatchNo: this.$route.query.auditbatchNo,
pass: this.pass,
remark: this.comment,
deptId: this.form.deptId
}).then((response) => {
if (response.code === 200) {
this.$toast.success("保存成功");
setTimeout(function () {
history.go(-1)
}, 500);
} else {
this.$toast.success("保存失败");
}
});
},
goFlow(){
this.$router.push({path: '/yinnong/cashExpenseProcess', query: { id: this.form.id, templateId: this.form.approvalTemplateId }});
},
openAttachment(id) {
this.showAttachment = true;
this.fileList = [];
let params = {
tableId: id,
tableName: "t_yinnong_cashexpense",
bizPath: "yinnong",
fileType: '',
};
attachmentList(params).then(res => {
res.rows.map(r => {
let baseUrl = location.protocol + "//" + location.host + request.defaults.baseURL;
this.fileList.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id});
});
});
},
}
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}

.main_box {
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
overflow: hidden;
background-color: #FFF;
}

.submitButton {
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.examine_box {
background-color: #1D6FE9 !important;
padding: 0.18rem !important;
padding-left: 0 !important;
border-radius: 0.15rem !important;
margin-top: 0.3rem !important;
}

.examine_box .van-col:first-child {
color: #FFF !important;
font-size: 0.45rem !important;
text-align: center !important;
}

.examine_box .van-col:last-child {
background-color: #FFF !important;
border-radius: 0.15rem !important;
overflow: hidden !important;

.van-radio-group--horizontal {
padding: 0.2rem 0;
border-bottom: 1px solid #eee;
}
}

/deep/ .van-radio--horizontal {
margin-left: 20px;
margin-right: 0;
}

.submitButton {
width: 96%;
margin: 0 auto;
}
</style>

+ 192
- 0
src/views/yinnong/bankAgriculture/cashExpense/cashExpenseDetail.vue Целия файл

@@ -0,0 +1,192 @@
<template>
<div class="app-container">
<van-nav-bar left-arrow fixed placeholder @click-left="goBack">
<template #title>
<p style="font-weight: bold;">资金审批申请详情</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>

<van-form readonly>
<div class="main_box">
<van-field v-model="form.cashAt" label="申请日期" placeholder="请选择申请日期"
required :rules="[{ required: true }]"
input-align="right" right-icon="arrow-down"
readonly clickable @click="showCashAt = true" />
<van-popup v-model="showCashAt" position="bottom">
<van-datetime-picker
:value="currentDate"
type="date"
title="请选择申请日期"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmCashAt"
@cancel="showCashAt = false"
/>
</van-popup>
<van-field v-model="form.cashAmount" label="申请金额(元)" placeholder="请输入申请金额(元)"
required :rules="[{ required: true }]" input-align="right" type="number" />
<van-field v-model="capitalExpenditureType" label="资金支出类别" placeholder="请选择资金支出类别"
required :rules="[{ required: true }]"
input-align="right" right-icon="arrow-down"
readonly clickable @click="showType = true" />
<van-popup v-model="showType" position="bottom">
<van-picker
show-toolbar
:columns="capitalExpenditureTypeOptions"
value-key="dictLabel"
@confirm="onConfirmType"
@cancel="showType = false"
/>
</van-popup>
<van-field v-model="form.cashRemarks" label="支款说明" placeholder="请输入支款说明"
required :rules="[{ required: true }]" input-align="right" maxlength="200" />
<van-field v-model="form.cashierNo" label="付款账号" placeholder="请输入付款账号"
input-align="right" maxlength="50" />
<van-field v-model="form.cashierName" label="付款单位" placeholder="请输入付款单位"
input-align="right" maxlength="150" />
<van-field v-model="form.payeeName" label="收款方名称" placeholder="请输入收款方名称"
input-align="right" maxlength="150" />
<van-field v-model="form.payeePhone" label="收款方电话" placeholder="请输入收款方电话"
input-align="right" maxlength="20" />
<van-field v-model="approvalTemplateName" label="审批流程" placeholder="请选择审批流程"
required :rules="[{ required: true }]"
input-align="right" right-icon="arrow-down"
readonly clickable @click="showTemplate = true"
/>
<van-popup v-model="showTemplate" position="bottom">
<van-picker
show-toolbar
:columns="templateList"
value-key="name"
@confirm="onConfirmTemplate"
@cancel="showTemplate = false"
/>
</van-popup>
</div>
</van-form>
</div>
</template>

<script>

import { selectApprovalByTemplateId, listTemplate } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { getCashExpense } from "@/api/onlineHome/bankAgriculture/cashExpense";

export default {
name: "cashExpenseDetail",
data() {
return {
showCashAt: false,

minDate: new Date(1978, 0, 1),
maxDate: new Date(2100, 11, 31),
currentDate: new Date(),
form: {},

capitalExpenditureType: null,
capitalExpenditureTypeOptions:[],
showType: false,

approvalTemplateName: null,
showTemplate:false,
templateList:[],
};
},
created() {
this.reset();
this.getDicts("capital_expenditure_type").then((res) => {
this.capitalExpenditureTypeOptions = res.data;
});
listTemplate({ type: '10' }).then(response => {
this.templateList = response.rows;
});
this.getDetail();
},
methods: {
goBack(){
this.$router.push({path:'/yinnong/cashExpenseList'})
},
onConfirmCashAt(data) {
this.form.cashAt = this.format(data, 'yyyy-MM-dd');
this.showCashAt = false;
},
onConfirmType(value){
this.form.capitalExpenditureType = value.dictValue;
this.capitalExpenditureType = value.dictLabel;
this.showType = false;
},
// 表单重置
reset() {
this.form = {
id: null,
bookId: null,
deptId: null,
bookName: null,
cashAt: null,
cashAmount: null,
cashRemarks: null,
capitalExpenditureType: null,
cashierNo: null,
cashierName: null,
payeeName: null,
payeePhone: null,
approvalTemplateId: null,
auditStatus: null,
auditbatchNo: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
},
getDetail(){
getCashExpense(this.$route.query.id).then(response => {
this.form = response.data;
this.capitalExpenditureType = this.selectDictLabel(this.capitalExpenditureTypeOptions, response.data.capitalExpenditureType);
const template = this.templateList.find(item => item.id === response.data.approvalTemplateId);
this.approvalTemplateName = template.name;
});
},
onConfirmTemplate(data) {
selectApprovalByTemplateId(data.id).then(res => {
this.showTemplate = false;
if (res.approvalDetails.length > 0) {
this.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
} else {
this.approvalTemplateName = null;
this.form.approvalTemplateId = null;
this.$notify({type: 'danger', message: '此流程无节点,无法选择!'});
}
});
},
goFlow(){
this.$router.push({path: '/yinnong/cashExpenseProcess', query: { id: this.form.id, templateId: this.form.approvalTemplateId }});
},
}
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}

.main_box {
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
overflow: hidden;
background-color: #FFF;
}

.submitButton {
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 246
- 0
src/views/yinnong/bankAgriculture/cashExpense/cashExpenseForm.vue Целия файл

@@ -0,0 +1,246 @@
<template>
<div class="app-container">
<van-nav-bar left-arrow fixed placeholder @click-left="goBack">
<template #title>
<p style="font-weight: bold;">{{ navBarTitle }}</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>

<van-form @submit="submitForm" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<div class="main_box">
<van-field v-model="form.cashAt" label="申请日期" placeholder="请选择申请日期"
required :rules="[{ required: true }]"
input-align="right" right-icon="arrow-down"
readonly clickable @click="showCashAt = true" />
<van-popup v-model="showCashAt" position="bottom">
<van-datetime-picker
:value="currentDate"
type="date"
title="请选择申请日期"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmCashAt"
@cancel="showCashAt = false"
/>
</van-popup>
<van-field v-model="form.cashAmount" label="申请金额(元)" placeholder="请输入申请金额(元)"
required :rules="[{ required: true }]" input-align="right" type="number" />
<van-field v-model="capitalExpenditureType" label="资金支出类别" placeholder="请选择资金支出类别"
required :rules="[{ required: true }]"
input-align="right" right-icon="arrow-down"
readonly clickable @click="showType = true" />
<van-popup v-model="showType" position="bottom">
<van-picker
show-toolbar
:columns="capitalExpenditureTypeOptions"
value-key="dictLabel"
@confirm="onConfirmType"
@cancel="showType = false"
/>
</van-popup>
<van-field v-model="form.cashRemarks" label="支款说明" placeholder="请输入支款说明"
required :rules="[{ required: true }]" input-align="right" maxlength="200" />
<van-field v-model="form.cashierNo" label="付款账号" placeholder="请输入付款账号"
input-align="right" maxlength="50" />
<van-field v-model="form.cashierName" label="付款单位" placeholder="请输入付款单位"
input-align="right" maxlength="150" />
<van-field v-model="form.payeeName" label="收款方名称" placeholder="请输入收款方名称"
input-align="right" maxlength="150" />
<van-field v-model="form.payeePhone" label="收款方电话" placeholder="请输入收款方电话"
input-align="right" maxlength="20" />
<van-field v-model="approvalTemplateName" label="审批流程" placeholder="请选择审批流程"
required :rules="[{ required: true }]"
input-align="right" right-icon="arrow-down"
readonly clickable @click="showTemplate = true"
/>
<van-popup v-model="showTemplate" position="bottom">
<van-picker
show-toolbar
:columns="templateList"
value-key="name"
@confirm="onConfirmTemplate"
@cancel="showTemplate = false"
/>
</van-popup>
</div>

<div style="padding: 16px 0;">
<van-row >
<van-col span="24" align="center">
<van-button type="info" native-type="submit" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
</div>
</van-form>
</div>
</template>

<script>

import { selectApprovalByTemplateId, listTemplate } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { addCashExpense, updateCashExpense, getCashExpense } from "@/api/onlineHome/bankAgriculture/cashExpense";

export default {
name: "cashExpenseForm",
data() {
return {
navBarTitle: '',
showCashAt: false,

minDate: new Date(1978, 0, 1),
maxDate: new Date(2100, 11, 31),
currentDate: new Date(),
form: {},

capitalExpenditureType: null,
capitalExpenditureTypeOptions:[],
showType: false,

approvalTemplateName: null,
showTemplate:false,
templateList:[],
};
},
created() {
this.reset();
this.getDicts("capital_expenditure_type").then((res) => {
this.capitalExpenditureTypeOptions = res.data;
});
listTemplate({ type: '10' }).then(response => {
this.templateList = response.rows;
});
if (this.$route.query.id) {
this.navBarTitle = '修改资金审批申请';
this.getDetail();
} else {
this.navBarTitle = '添加资金审批申请';
}
},
methods: {
goBack(){
this.$router.push({path:'/yinnong/cashExpenseList'})
},
onConfirmCashAt(data) {
this.form.cashAt = this.format(data, 'yyyy-MM-dd');
this.showCashAt = false;
},
onConfirmType(value){
this.form.capitalExpenditureType = value.dictValue;
this.capitalExpenditureType = value.dictLabel;
this.showType = false;
},
// 表单重置
reset() {
this.form = {
id: null,
bookId: null,
deptId: null,
bookName: null,
cashAt: null,
cashAmount: null,
cashRemarks: null,
capitalExpenditureType: null,
cashierNo: null,
cashierName: null,
payeeName: null,
payeePhone: null,
approvalTemplateId: null,
auditStatus: null,
auditbatchNo: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
},
getDetail(){
getCashExpense(this.$route.query.id).then(response => {
this.form = response.data;
this.capitalExpenditureType = this.selectDictLabel(this.capitalExpenditureTypeOptions, response.data.capitalExpenditureType);
const template = this.templateList.find(item => item.id === response.data.approvalTemplateId);
this.approvalTemplateName = template.name;
});
},
onConfirmTemplate(data) {
selectApprovalByTemplateId(data.id).then(res => {
this.showTemplate = false;
if (res.approvalDetails.length > 0) {
this.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
} else {
this.approvalTemplateName = null;
this.form.approvalTemplateId = null;
this.$notify({type: 'danger', message: '此流程无节点,无法选择!'});
}
});
},
getError(e){
this.$notify({ type: 'danger', message: e.errors[0].message });
},
submitForm() {
if (this.form.id) {
updateCashExpense(this.form).then(response => {
if (response.code === 200) {
this.$toast({
icon: 'success',
message: '保存成功',
duration: '1000',
onClose: () => {
this.goBack();
}
});
}
});
} else {
addCashExpense(this.form).then(response => {
if (response.code === 200) {
this.$toast({
icon: 'success',
message: '保存成功',
duration: "1000",
onClose: () => {
this.goBack();
}
});
}
});
}
},
goFlow() {
if (this.form.id) { // 修改时
this.$router.push({path: '/yinnong/cashExpenseProcess', query: { id: this.form.id, templateId: this.form.approvalTemplateId }});
} else { // 新增时
if (this.form.approvalTemplateId) {
this.$router.push({path: '/yinnong/cashExpenseProcess', query: { templateId: this.form.approvalTemplateId }});
} else {
this.$notify({type: 'danger', message: '无审批流程!'});
}
}
},
}
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}

.main_box {
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
overflow: hidden;
background-color: #FFF;
}

.submitButton {
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 258
- 0
src/views/yinnong/bankAgriculture/cashExpense/cashExpenseList.vue Целия файл

@@ -0,0 +1,258 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="goBack()"
@click-right="goDetail()"
>
<template #title>
<p style="font-weight: bold;">资金审批申请</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.cashRemarks.substring(0, 10)" :value="item.auditStatus" center :to="{path:'/yinnong/cashExpenseDetail', query: { id: item.id }}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn6.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<div>{{item.cashAt}}</div>
<div>{{item.capitalExpenditureType}}</div>
<div>{{item.cashAmount}} 元</div>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus === '草稿'||item.auditStatus === '驳回'" square text="修改" type="info" @click="goDetail(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus === '草稿'||item.auditStatus === '驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus === '草稿'||item.auditStatus === '驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus === '待审'" square text="撤销" type="danger" @click="revokeApply(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button square text="附件" style="background-color: rgba(98, 173, 102, 0.2); color: #62AD66;" @click="openLoader(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>

<van-popup v-model="show" lock-scroll closeable position="top" :style="{ height: '30%' }" >
<div style="padding: 0 13% 0 5%;">
<van-divider>附件</van-divider>
<van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile" multiple />
</div>
</van-popup>

</div>
</template>

<script>
import {attachmentList, commonAttach, systemAttachment} from "@/api/sunVillage_info/fixedAssets";

import { listCashExpense, delCashExpense, applyCashExpense, revokeCashExpense } from "@/api/onlineHome/bankAgriculture/cashExpense";

import request from "@/utils/request";

export default {
name: "cashExpenseList",
data() {
return {
loading: false,
finished: false,
applicationList:[],
// 资金支出类别字典
capitalExpenditureTypeOptions: [],
// 审批状态字典
auditStatusOptions:[],


queryParams:{
pageNum:1,
pageSize:10,
// 翻译字典
translate_dict: "1",
},
show: false,
fileList:[],
projectId:'',
};
},
created() {
this.getDicts("capital_expenditure_type").then(response => {
this.capitalExpenditureTypeOptions = response.data;
});
this.getDicts("audit_status").then(response => {
this.auditStatusOptions = response.data;
});
},
methods: {
goBack(){
this.$router.push({path:'/yinnong/workbench'});
},
goDetail(id){
if (id) {
this.$router.push({path: '/yinnong/cashExpenseForm', query: { id: id }});
} else {
this.$router.push({path: '/yinnong/cashExpenseForm'});
}
},
getList(){
this.loading = true;
listCashExpense(this.queryParams).then(response => {
response.rows.forEach(item => {
this.applicationList.push(item);
});
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.queryParams.pageNum += 1 ;
}
}).finally(() => this.loading = false);
},
openLoader(id, index) {
this.show = true;
this.projectId = id;
this.fileList = [];
let oData1 = {
tableId: id,
tableName: "t_yinnong_cashexpense",
bizPath: "yinnong",
fileType: '',
};
attachmentList(oData1).then(res => {
res.rows.map(r => {
let baseUrl = location.protocol + "//" + location.host + request.defaults.baseURL;
this.fileList.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id});
});
});
},
deleteList(id, index) {
this.$dialog.confirm({
message: '是否确认删除此条数据?',
}).then(() => {
// on confirm
this.applicationList.splice(index, 1);
delCashExpense(id).then(res => {
if (res.code === 200) {
this.$toast.success('删除成功');
}
});
}).catch(() => {
// on cancel
});
},
onSubmit(id) {
this.$dialog.confirm({
message: '是否确认提交当前数据项的审批申请?',
}).then(() => {
applyCashExpense(id).then(res => {
this.$toast.success('提交成功');
setTimeout(() => {
history.go(0);
}, 500);
});
}).catch(() => {
// on cancel
});
},
revokeApply(id) {
this.$dialog.confirm({
message: '是否确认撤销当前数据项的审批申请?',
}).then(() => {
revokeCashExpense(id).then(res => {
this.$toast.success('撤销成功');
setTimeout(() => {
history.go(0);
}, 500);
});
}).catch(() => {
// on cancel
});
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
let params1 = new FormData();
params1.append("tableId", this.projectId);
params1.append("tableName", "t_yinnong_cashexpense");
params1.append("bizPath", "yinnong");
params1.append("fileType", '');
params1.append("file", file.file);
commonAttach(params1).then((r1) => {
this.$notify({ type: 'success', message: '上传成功' });
})
},
deleteFile(file){
systemAttachment(file.id).then(res => {
this.$notify({ type: 'success', message: '删除成功' });
})
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__label{
display: flex;
justify-content: space-between;
}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 190
- 0
src/views/yinnong/bankAgriculture/cashExpense/cashExpenseProcess.vue Целия файл

@@ -0,0 +1,190 @@
<template>
<div class="app-container">
<van-nav-bar left-arrow fixed placeholder @click-left="$router.back(-1)">
<template #title>
<p style="font-weight: bold;">资金审批申请流程</p>
</template>
</van-nav-bar>
<div class="main_box">
<div v-if="showAuditHistory">
<van-divider content-position="center"><h3>审批历史</h3></van-divider>
<div style="text-align: center; font-size: 14px; color: #969799">批次号:{{ auditbatchNo }}</div>
<van-row v-for="(item, index) in processList" :key="index">
<van-col span="4" align="right">
<p class="icon_jian yellow" v-show="item.auditStatus === '1'">
<van-icon name="minus" size="14"/>
</p>
<p class="icon_jian blue" v-show="item.auditStatus === '3'">
<van-icon name="success" size="14"/>
</p>
<p class="icon_jian red" v-show="item.auditStatus === '2'">
<van-icon name="cross" size="14"/>
</p>
</van-col>
<van-col span="20">
<van-row>
<van-col span="12" style="padding: 0;">
<p v-show="item.auditStatus === '1'" class="textYellow">{{ item.actorName }}</p>
<p v-show="item.auditStatus === '3'" class="textBlue">{{ item.actorName }}</p>
<p v-show="item.auditStatus === '2'" class="textRed">{{ item.actorName }}</p>
</van-col>
<van-col span="12" style="padding: 0;">
<p v-show="item.auditStatus === '1'" class="textYellow">{{ item.auditTime }}</p>
<p v-show="item.auditStatus === '3'" class="textBlue">{{ item.auditTime }}</p>
<p v-show="item.auditStatus === '2'" class="textRed">{{ item.auditTime }}</p>
</van-col>
</van-row>
<van-row>
<van-col span="12" style="padding: 0;">
<p v-show="item.auditStatus === '1'" class="textYellow">{{ item.auditBy }}</p>
<p v-show="item.auditStatus === '3'" class="textBlue">{{ item.auditBy }}</p>
<p v-show="item.auditStatus === '2'" class="textRed">{{ item.auditBy }}</p>
</van-col>
<van-col span="12" style="padding: 0;">
<p v-show="item.auditStatus === '1'" class="textYellow">{{ item.auditRemark }}</p>
<p v-show="item.auditStatus === '3'" class="textBlue">{{ item.auditRemark }}</p>
<p v-show="item.auditStatus === '2'" class="textRed">{{ item.auditRemark }}</p>
</van-col>
</van-row>
</van-col>
</van-row>
</div>
<van-divider content-position="center"><h3>审批流程</h3></van-divider>
<van-row v-for="(item, index) in approvalTemplateDetailList" :key="index">
<van-col span="4" align="right">
<p class="icon_jian">
<van-icon name="minus" size="14"/>
</p>
</van-col>
<van-col span="20">
<van-row>
<van-col span="12" style="padding: 0;">
<p>{{ item.name }}</p>
</van-col>
<van-col span="12" style="padding: 0;">
<p v-show="item.approvalLevel === '1'">组级审批</p>
<p v-show="item.approvalLevel === '2'">村级审批</p>
<p v-show="item.approvalLevel === '3'">镇级审批</p>
<p v-show="item.approvalLevel === '4'">区县审批</p>
</van-col>
</van-row>
<van-row>
<van-col span="24" style="padding: 0;">
<p>{{ item.nickName }}</p>
</van-col>
</van-row>
</van-col>
</van-row>
</div>
</div>
</template>

<script>
import { selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { getCashExpense } from "@/api/onlineHome/bankAgriculture/cashExpense";
import { A_auditHistoryList } from "@/api/audit/aauditpipeline";

export default {
name: "cashExpenseProcess",
data() {
return {
processList: [],
approvalTemplateDetailList: [],
auditbatchNo: null,
showAuditHistory: false,
};
},
created() {
if (this.$route.query.id) {
this.queryProcess(this.$route.query.id);
}
if (this.$route.query.templateId) {
this.queryApprovalTemplate(this.$route.query.templateId);
}
},
methods: {
queryProcess(id) {
getCashExpense(id).then((response) => {
// 查询审批历史
if (response.data.auditStatus !== '0') {
this.showAuditHistory = true;
this.auditbatchNo = response.data.auditbatchNo;
if (response.data.auditbatchNo != null && response.data.auditbatchNo !== '') {
A_auditHistoryList(response.data.auditbatchNo).then(res => {
this.processList = res.rows;
this.processList.sort((p1, p2) => p1.id - p2.id);
});
}
}
// this.queryApprovalTemplate(response.data.approvalTemplateId);
});
},
queryApprovalTemplate(approvalTemplateId) {
selectApprovalByTemplateId(approvalTemplateId).then(rs => {
this.approvalTemplateDetailList = rs.approvalDetails;
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 0;
}

.main_box {
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
overflow: hidden;
background-color: #FFF;
padding: 20Px 0;
}

.icon_jian {
background-color: #C9C9C9;
display: inline-block;
width: 20Px;
height: 20Px;
line-height: 24Px;
text-align: center;
border-radius: 50%;
color: #FFF;
}

.yellow {
background-color: #e6a23c;
}

.blue {
background-color: #409eff;
}

.red {
background-color: #F56C6C;
}

.textYellow {
color: #e6a23c !important;
}

.textBlue {
color: #409eff !important;
}

.textRed {
color: #F56C6C !important;
}

.van-col {
padding: 10Px 10Px;
}

.van-col:nth-child(2) {
font-size: 16Px;
color: #878787;
line-height: 22Px;
}
</style>

+ 36
- 55
src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess.vue Целия файл

@@ -11,52 +11,41 @@
</template>
</van-nav-bar>
<div class="main_box">
<van-divider content-position="center" v-if="this.$route.query.auditbatchNo != 'null'"><h4>批次号:{{this.$route.query.auditbatchNo}}</h4></van-divider>
<van-row v-if="form.auditStatus== '0'">
<van-col span="4" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col>
<van-col span="20" class="textBlue">草稿</van-col>
</van-row>
<van-row v-if="form.auditStatus != '0'">
<van-col span="4" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col>
<van-col span="20" class="textBlue">已申请
<van-row>
<van-col span="12" style="padding: 0;" class="textBlue" v-show="processList.auditStatus!='0'">{{form.applyUserName}}</van-col>
<van-col span="12" style="padding: 0;" class="textBlue" v-show="processList.auditStatus!='0'">{{form.applyDate}}</van-col>
</van-row>
</van-col>
</van-row>
<van-row v-for="(item1,index,i) in processList" :key="i">
<van-col span="4" align="right">
<p class="icon_jian" v-show="item1.auditStatus=='1'"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="item1.auditStatus=='3'"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="item1.auditStatus=='2'"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="20">
<van-row>
<van-col span="12" style="padding: 0;">
<p v-show="item1.auditStatus == '1'">{{item1.nodeName}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.nodeName}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.nodeName}}</p>
</van-col>
<van-col span="12" style="padding: 0;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditTime}}</p>
</van-col>
</van-row>
<van-row>
<van-col span="12" style="padding: 0;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditBy}}</p>
</van-col>
<van-col span="12" style="padding: 0;">
<p v-show="item1.auditStatus == '1'">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditRemark}}</p>
</van-col>
</van-row>
</van-col>
<van-row v-for="(item,index) in processList" :key="index">
<van-divider content-position="center"><h4>批次号:{{index}}</h4></van-divider>
<van-row v-for="(item1,index,i) in item" :key="i">
<van-col span="4" align="right">
<p class="icon_jian" v-show="item1.auditStatus=='1'"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="item1.auditStatus=='3'"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="item1.auditStatus=='2'"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="20">
<van-row>
<van-col span="12" style="padding: 0;">
<p v-show="item1.auditStatus == '1'">{{item1.actorName}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.actorName}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.actorName}}</p>
</van-col>
<van-col span="12" style="padding: 0;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditTime}}</p>
</van-col>
</van-row>
<van-row>
<van-col span="12" style="padding: 0;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditBy}}</p>
</van-col>
<van-col span="12" style="padding: 0;">
<p v-show="item1.auditStatus == '1'">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditRemark}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
</van-row>
<van-divider content-position="center" v-if="approvalTemplateDetailList.length>0"><h4>审批流程</h4></van-divider>
<van-row v-if="approvalTemplateDetailList.length>0" v-for="(item1,index,i) in approvalTemplateDetailList" :key="i">
@@ -111,7 +100,7 @@ export default {
//查询审批进程
getTransferProcess(id){
getTransferProcess(id).then(res => {
this.processList = res.data[auditbatchNo]
this.processList = res.data
})
},
handleUpdate(id) {
@@ -209,12 +198,4 @@ export default {
color: #878787;
line-height: 22Px;
}
.van-row{
.van-row{
.van-col{
padding: 5Px 0 0 0!important;
color: #878787;
}
}
}
</style>

+ 6
- 0
src/views/yinnong/doneCompleted/completedNew.vue Целия файл

@@ -190,6 +190,12 @@
case 'yinnong_majorevent':
this.$router.push({name:'approvalApproval13',query: {id:item.data.id,taskId:item.id,type:"todo"}})
break;
case 't_yinnong_cashexpense':
this.$router.push({
path: '/yinnong/cashExpenseApproval',
query: { id: item.data.id, taskId: item.id, auditbatchNo: item.auditbatchNo, type: "todo" }
});
break;
}
}
},


+ 6
- 0
src/views/yinnong/doneCompleted/doneNew.vue Целия файл

@@ -160,6 +160,12 @@ done.vue<template>
case 'yinnong_majorevent':
this.$router.push({name:'approvalApproval13',query: {id:item.formData.id,taskId:item.taskId,type:item.type}})
break;
case 't_yinnong_cashexpense':
this.$router.push({
path: '/yinnong/cashExpenseApproval',
query: { id: item.data.id, taskId: item.id, auditbatchNo: item.auditbatchNo, type: "done" }
});
break;
}
}
},


+ 2
- 2
src/views/yinnong/workbench.vue Целия файл

@@ -218,10 +218,10 @@
this.hcAreaInfoOption = res.data;
}
}),
this.$set(this.queryParams, "systemType", '4');
/* this.$set(this.queryParams, "systemType", '4');
ListTodo(this.queryParams).then((response) => {
this.taskList = response.rows
})
})*/

menus({identityType : 4}).then((response) => {
this.menusList = response.data


Зареждане…
Отказ
Запис