ソースを参照

补全APP端重大事项申请

rongxin_dev
yangfuda 1ヶ月前
コミット
3775b4c8b4
12個のファイルの変更1632行の追加531行の削除
  1. +9
    -1
      src/api/onlineHome/bankAgriculture/paymentApproval.js
  2. +106
    -18
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd13.vue
  3. +457
    -0
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalApproval13.vue
  4. +195
    -36
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalDetail13.vue
  5. +227
    -205
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalList13.vue
  6. +108
    -18
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify13.vue
  7. +106
    -18
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd13.vue
  8. +96
    -29
      src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval13.vue
  9. +96
    -29
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail13.vue
  10. +23
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList13.vue
  11. +108
    -18
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify13.vue
  12. +101
    -158
      src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess13.vue

+ 9
- 1
src/api/onlineHome/bankAgriculture/paymentApproval.js ファイルの表示

@@ -448,10 +448,18 @@ export function addMajorevent(data) {
// 提交审批
export function customSubmitMajorevent(id) {
return request({
url: '/yinnong/majorevent/customSubmit/' + id,
url: '/yinnong/majorevent/customSubmitNew/' + id,
method: 'post'
})
}
// 撤回
export function updateTYinnongMajoreventFoStatus(data) {
return request({
url: '/yinnong/majorevent/updateTYinnongMajoreventFoStatus',
method: 'post',
data: data
})
}
// 查询重大事项申请详细
export function getMajorevent(id) {
return request({


+ 106
- 18
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd13.vue ファイルの表示

@@ -25,6 +25,27 @@
required
:rules="[{ required: true , message:'请输入事项名称' }]"
/>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择事项类型' }]"
label="事项类型"
placeholder="请选择"
v-model="majorType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="majorTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
clickable
@@ -48,8 +69,27 @@
@cancel="showlasj = false"
/>
</van-popup>
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
readonly
clickable
label="审批流程"
placeholder="请选择"
v-model="form.approvalTemplateName"
@click="showtemplate = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择审批流程' }]"
/>
<van-popup v-model="showtemplate" position="bottom">
<van-picker
show-toolbar
value-key="name"
:columns="templateList"
@confirm="onConfirmTemplate"
@cancel="showtemplate = false"
/>
</van-popup>
<van-field
label="事项内容"
input-align="right"
@@ -60,23 +100,22 @@
v-model="form.eventContent"
type="textarea"
placeholder="请输入事项内容"
rows="8"
rows="4"
required
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<!-- <editor v-model="form.eventContent" :min-height="192"/>-->
<!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />-->
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
label="备注"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
input-align="right"
rows="3"
label-width="auto"
/>
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div>

<!-- <p class="main_title">上传附件</p>-->
@@ -102,7 +141,7 @@
</template>

<script>
import {addMajorevent , customSubmitMajorevent , attachmentList } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {addMajorevent , customSubmitMajorevent , attachmentList,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import Dialog from "vant/lib/dialog";
import Editor from '@/components/Editor';
@@ -115,6 +154,7 @@
data() {
return {
title:false,
showtemplate:false,
showcapital:false,
showpayee:false,
showlasj:false,
@@ -133,6 +173,7 @@
capitalExpenditureType:'',
payee:'',
bankType:'',
majorType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
@@ -142,6 +183,8 @@
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
majorTypeOptions:[],
templateList:[],
projectListShow:[],
payerOptions:[],

@@ -172,6 +215,8 @@
},
created() {
this.reset();
this.getDictionaries();
this.getTemplateList();
},
methods: {
// 表单重置
@@ -192,12 +237,19 @@
enterpriseCode: null,
expenditureAmount: null,
capitalExpenditureType: '1',
majorType: null,
dzbty: null,
lwhsy: null,
dqyshsyhjy: null,
jcjggk: null,
ssqkgk: null,
remark: null,
transferStatus: "0",
auditStatus: "0",
paymentState: "1",
bankPriority: "0",
clientPriority: "0"
clientPriority: "0",
approvalTemplateId: null
};
this.processList = {}
this.projectForm={
@@ -226,6 +278,42 @@
},2000)
});
},
getDictionaries(){
this.getDicts("major_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
},
getTemplateList(){
let templateQueryParams = {
// 分页
pageNum: 1,
pageSize: 999,
type:'5'
};
listTemplate(templateQueryParams).then(response => {
this.templateList = response.rows;
});
},
onConfirmTemplate(data){
selectApprovalByTemplateId(data.id).then(res => {
this.showtemplate = false;
if(res.approvalDetails.length>0){
this.form.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
}else{
this.form.approvalTemplateName = null
this.form.approvalTemplateId = null
this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' });
}
})
},
onConfirmCapital(data){
this.majorType = data.text;
this.form.majorType = data.value;
this.showcapital = false;
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });


+ 457
- 0
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalApproval13.vue ファイルの表示

@@ -0,0 +1,457 @@
<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>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first readonly>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field
label="事项名称"
v-model="form.eventName"
placeholder="请输入事项名称"
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'请输入事项名称' }]"
/>
<van-field readonly label="事项类型" :value="majorTypeFormat(form.majorType)"
input-align="right" label-width="auto"/>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择发生日期' }]"
v-model="form.eventTime"
label="发生日期"
placeholder="请选择发生日期"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
@cancel="showlasj = false"
/>
</van-popup>
<van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)"
input-align="right" label-width="auto"/>
<van-field
label="事项内容"
input-align="right"
label-width="auto"
readonly
/>
<van-field
v-model="form.eventContent"
type="textarea"
placeholder="请输入事项内容"
rows="4"
required
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div>
<p style="margin-top:20px;padding: 0 10px">附件{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p>
<van-cell v-for="(item,index) in fileList" :key="index">
<a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a>
</van-cell>
</van-form>
<div class="main_box examine_box">
<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" :disabled="!isAudit">
<van-radio name="true">同意</van-radio>
<van-radio name="false">驳回</van-radio>
</van-radio-group>
<van-field :readonly="!isAudit" rows="2" autosize v-model="comment" type="textarea" placeholder="请输入审批意见"/>
</van-col>
</van-row>
</div>

<div style="margin: 16px 2%;" v-if="isAudit">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" @click="submitForm" class="submitButton">提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,approval,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import Dialog from "vant/lib/dialog";
import Editor from '@/components/Editor';
import {A_auditHistoryDetail} from "@/api/audit/aauditpipeline";
export default {
name: "approvalApproval13",
components: {
Editor,
},
data() {
return {
showtemplate:false,
majorType:'',
majorTypeOptions:[],
templateList:[],

title:false,
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,
showpayer:false,

buttonType:'a',

minDate: new Date(2000, 1, 1),
maxDate: new Date(2050, 12, 31),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],
payerOptions:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'2'
},
projectFundType:'',
uploadFiles:[],
// 审核意见默认值
pass: "true",
comment: "同意",
templateList:[],
};
},
created() {
this.reset();
this.getForm();
this.getFileList();
this.getDictionaries();
this.getTemplateList();
},
methods: {
// 表单重置
reset() {
this.form = {
majorType: null,
dzbty: null,
lwhsy: null,
dqyshsyhjy: null,
jcjggk: null,
ssqkgk: null,
approvalTemplateId: null,
id: null,
upId: null,
downId: null,
orderId: null,
cashierId: null,
transferType: '3',
accountType: '2',
explainSituation: null,
succeedAmount: null,
payer: null,
payerAccount: null,
operatorCode: null,
enterpriseCode: null,
expenditureAmount: null,
capitalExpenditureType: '1',
remark: null,
transferStatus: "0",
auditStatus: "0",
paymentState: "1",
bankPriority: "0",
clientPriority: "0"
};
this.processList = {}
this.projectForm={
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
}
},
getForm(){
getMajorevent(this.$route.query.id).then(response => {
this.form = response.data;
if(!this.isAudit)
{
A_auditHistoryDetail(this.$route.query.taskId).then((resp) => {
this.pass = resp.data.auditStatus === '3' ? "true" : 'false';
this.comment = resp.data.auditRemark;
});
}
});
},
goFlow(){
window.location='approvalProcess13?id='+this.$route.query.approvalTemplateId;
},
getChange(){
updateMajorevent(this.form).then(response => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
getDictionaries(){
this.getDicts("major_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
},
getTemplateList(){
let templateQueryParams = {
// 分页
pageNum: 1,
pageSize: 999,
type:'5'
};
listTemplate(templateQueryParams).then(response => {
this.templateList = response.rows;
});
},
tempalteFormat(id) {
let name = ""
this.templateList.map(res => {
if (res.id == id) {
console.log(res.name)
name = res.name
}
})
return name
},
majorTypeFormat(id) {
let name = ""
this.majorTypeOptions.map(res => {
if (res.value == id) {
console.log("majorTypeFormat"+res.text)
name = res.text
}
})
return name
},
onConfirmTemplate(data){
selectApprovalByTemplateId(data.id).then(res => {
this.showtemplate = false;
if(res.approvalDetails.length>0){
this.form.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
}else{
this.form.approvalTemplateName = null
this.form.approvalTemplateId = null
this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' });
}
})
},
onConfirmCapital(data){
this.majorType = data.text;
this.form.majorType = data.value;
this.showcapital = false;
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
},
onConfirmLasj(data){
this.form.eventTime = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: 't_yinnong_majorevent',
bizPath: "yinnong",
fileType: "",
}
attachmentList(oData).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,{})})
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
/** 提交按钮 */
submitForm() {
const data = {
taskId: this.$route.query.taskId,
auditbatchNo: this.$route.query.auditbatchNo,
remark: this.comment,
pass: this.pass === "true",
deptId: this.form.deptId
};
approval(data).then((response) => {
if(response.code==200){
this.$toast.success("操作成功");
setTimeout(function(){
history.go(-1)
},2000)
} else{
this.$toast.success("操作失败");
}
});
},
},
watch: {
pass: function (val) {
if(this.isAudit)
this.comment = val === "true" ? "同意" : "驳回";
},
},
computed: {
isAudit() {
return this.$route.query.type != 'done';
}
}
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.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: 96%;
margin: 0 auto;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
.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;
}
</style>

+ 195
- 36
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalDetail13.vue ファイルの表示

@@ -19,20 +19,23 @@
<van-field
label="事项名称"
v-model="form.eventName"
placeholder="事项名称"
placeholder="请输入事项名称"
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'事项名称' }]"
:rules="[{ required: true , message:'请输入事项名称' }]"
/>
<van-field readonly label="事项类型" :value="majorTypeFormat(form.majorType)"
input-align="right" label-width="auto"/>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'发生日期' }]"
:rules="[{ required: true , message:'请选择发生日期' }]"
v-model="form.eventTime"
label="发生日期"
placeholder="发生日期"
placeholder="请选择发生日期"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
@@ -47,8 +50,8 @@
@cancel="showlasj = false"
/>
</van-popup>
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)"
input-align="right" label-width="auto"/>
<van-field
label="事项内容"
input-align="right"
@@ -58,46 +61,71 @@
<van-field
v-model="form.eventContent"
type="textarea"
placeholder="事项内容"
rows="8"
placeholder="请输入事项内容"
rows="4"
required
:rules="[{ required: true , message:'事项内容' }]"
/>
<!-- <editor v-model="form.eventContent" :min-height="192"/>-->
<!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />-->
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
label="备注"
v-model="form.remark"
type="textarea"
placeholder="备注"
input-align="right"
rows="3"
label-width="auto"
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div>

<!-- <p class="main_title">上传附件</p>-->
<!-- <div class="main_box" style="padding: 5px 0 0 8px;">-->
<!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>-->
<!-- </div>-->
<p style="margin-top:20px;padding: 0 10px">附件{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p>
<van-cell v-for="(item,index) in fileList" :key="index">
<a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a>
</van-cell>
</van-form>
<div class="main_box examine_box">
<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" :disabled="!isAudit">
<van-radio name="true">同意</van-radio>
<van-radio name="false">驳回</van-radio>
</van-radio-group>
<van-field :readonly="!isAudit" rows="2" autosize v-model="comment" type="textarea" placeholder="请输入审批意见"/>
</van-col>
</van-row>
</div>

<div style="margin: 16px 2%;" v-if="isAudit">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" @click="submitForm" class="submitButton">提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,approval,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import Dialog from "vant/lib/dialog";
import Editor from '@/components/Editor';
import {A_auditHistoryDetail} from "@/api/audit/aauditpipeline";
export default {
name: "approvalAdd3",
name: "approvalApproval13",
components: {
Editor,
},
data() {
return {
showtemplate:false,
majorType:'',
majorTypeOptions:[],
templateList:[],

title:false,
showcapital:false,
showpayee:false,
@@ -152,16 +180,30 @@
},
projectFundType:'',
uploadFiles:[],
// 审核意见默认值
pass: "true",
comment: "同意",
templateList:[],
};
},
created() {
this.reset();
this.getForm();
this.getFileList();
this.getDictionaries();
this.getTemplateList();
},
methods: {
// 表单重置
reset() {
this.form = {
majorType: null,
dzbty: null,
lwhsy: null,
dqyshsyhjy: null,
jcjggk: null,
ssqkgk: null,
approvalTemplateId: null,
id: null,
upId: null,
downId: null,
@@ -199,10 +241,17 @@
getForm(){
getMajorevent(this.$route.query.id).then(response => {
this.form = response.data;
if(!this.isAudit)
{
A_auditHistoryDetail(this.$route.query.taskId).then((resp) => {
this.pass = resp.data.auditStatus === '3' ? "true" : 'false';
this.comment = resp.data.auditRemark;
});
}
});
},
goFlow(){
window.location='approvalProcess13?id='+this.form.instanceId;
window.location='approvalProcess13?id='+this.$route.query.approvalTemplateId;
},
getChange(){
updateMajorevent(this.form).then(response => {
@@ -212,6 +261,62 @@
},2000)
});
},
getDictionaries(){
this.getDicts("major_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
},
getTemplateList(){
let templateQueryParams = {
// 分页
pageNum: 1,
pageSize: 999,
type:'5'
};
listTemplate(templateQueryParams).then(response => {
this.templateList = response.rows;
});
},
tempalteFormat(id) {
let name = ""
this.templateList.map(res => {
if (res.id == id) {
console.log(res.name)
name = res.name
}
})
return name
},
majorTypeFormat(id) {
let name = ""
this.majorTypeOptions.map(res => {
if (res.value == id) {
console.log("majorTypeFormat"+res.text)
name = res.text
}
})
return name
},
onConfirmTemplate(data){
selectApprovalByTemplateId(data.id).then(res => {
this.showtemplate = false;
if(res.approvalDetails.length>0){
this.form.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
}else{
this.form.approvalTemplateName = null
this.form.approvalTemplateId = null
this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' });
}
})
},
onConfirmCapital(data){
this.majorType = data.text;
this.form.majorType = data.value;
this.showcapital = false;
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
@@ -233,16 +338,15 @@
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_majorevent",
tableName: 't_yinnong_majorevent',
bizPath: "yinnong",
fileType: "",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
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,{})})
// this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName})
console.log(r)
})
})
@@ -254,7 +358,38 @@
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
/** 提交按钮 */
submitForm() {
const data = {
taskId: this.$route.query.taskId,
auditbatchNo: this.$route.query.auditbatchNo,
remark: this.comment,
pass: this.pass === "true",
deptId: this.form.deptId
};
approval(data).then((response) => {
if(response.code==200){
this.$toast.success("操作成功");
setTimeout(function(){
history.go(-1)
},2000)
} else{
this.$toast.success("操作失败");
}
});
},
},
watch: {
pass: function (val) {
if(this.isAudit)
this.comment = val === "true" ? "同意" : "驳回";
},
},
computed: {
isAudit() {
return this.$route.query.type != 'done';
}
}
}
</script>

@@ -277,9 +412,8 @@
background-color: #FFF;
}
.submitButton{
width: 80%;
width: 96%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
@@ -295,4 +429,29 @@
z-index: 9;
border-radius: 50%;
}
.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;
}
</style>

+ 227
- 205
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalList13.vue ファイルの表示

@@ -1,228 +1,250 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">重大事项</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<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.eventName" :value="item.auditStatus" center :to="{name:'sunVillageApprovalDetail13', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn3.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.eventTime}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'sunVillageApprovalModify13', query: {id: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=='草稿'||item.auditStatus=='驳回'" square text="附件" style="background-color: rgb(98,173,102,0.2);color: #62AD66;" @click="openLoader(item.id,index)" class="delete-button" />
</van-col>
</van-row>
<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.eventName" :value="item.auditStatus" center :to="{name:'approvalDetail13', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn3.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.eventTime}}</p>
</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="deleteFile1" multiple />
</div>
</van-popup>
</div>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify13', query: {id: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=='待审'" square text="撤回" type="danger" @click="cancelApply(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=='草稿'||item.auditStatus=='驳回'" square text="附件" style="background-color: rgb(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="deleteFile1" multiple />
</div>
</van-popup>
</div>
</template>

<script>
import { delMajorevent , customSubmitMajorevent , delTransfer , listMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { delMajorevent , customSubmitMajorevent , delTransfer , listMajorevent,updateTYinnongMajoreventFoStatus } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {attachmentList, commonAttach, systemAttachment} from "@/api/sunVillage_info/fixedAssets";
import request from "@/utils/request";
export default {
name: "approvalList3",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType:"3",
},
show: false,
fileList:[],
uploadFiles1:[],
projectId:'',
projectIndex:''
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd13';
},
getList(){
setTimeout(() => {
listMajorevent(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
name: "approvalList3",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType:"3",
},
openLoader(id,index){
this.show = true;
this.projectId = id;
this.projectIndex = index;
this.fileList = [];
let oData1= {
tableId: id,
tableName: "t_yinnong_majorevent",
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)
delMajorevent(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
show: false,
fileList:[],
uploadFiles1:[],
projectId:'',
projectIndex:''
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd13';
},
getList(){
setTimeout(() => {
listMajorevent(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
customSubmitMajorevent(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
}, 1000);
},
openLoader(id,index){
this.show = true;
this.projectId = id;
this.projectIndex = index;
this.fileList = [];
let oData1= {
tableId: id,
tableName: "t_yinnong_majorevent",
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})
})
.catch(() => {
// on cancel
})
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delMajorevent(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
this.uploadFiles1.push(file.file);
let params1 = new FormData();
params1.append("tableId", this.projectId);
params1.append("tableName", "t_yinnong_transfer");
params1.append("bizPath", "transfer");
params1.append("fileType", 'bookkeeping_type');
params1.append("file", file.file);
commonAttach(params1).then((r1) => {
this.$notify({ type: 'success', message: '上传成功' });
})
.catch(() => {
// on cancel
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
customSubmitMajorevent(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
},
deleteFile1(file){
console.log(file)
systemAttachment(file.id).then(res => {
this.$notify({ type: 'success', message: '删除成功' });
})
.catch(() => {
// on cancel
});
},
cancelApply(id) {
const form = {};
form.id = id;
debugger;
this.$dialog.confirm({
message: '您确认撤回申请?',
})
.then(() => {
return updateTYinnongMajoreventFoStatus(form).then(response => {
this.$toast.success('撤回成功');
setTimeout(function(){
history.go(0)
},2000)
})
},
})
.catch(() => {
// on cancel
});
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
this.uploadFiles1.push(file.file);
let params1 = new FormData();
params1.append("tableId", this.projectId);
params1.append("tableName", "t_yinnong_transfer");
params1.append("bizPath", "transfer");
params1.append("fileType", 'bookkeeping_type');
params1.append("file", file.file);
commonAttach(params1).then((r1) => {
this.$notify({ type: 'success', message: '上传成功' });
})
},
deleteFile1(file){
console.log(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;
.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 span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
/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%;
}
}
/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>

+ 108
- 18
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify13.vue ファイルの表示

@@ -22,6 +22,27 @@
required
:rules="[{ required: true , message:'请输入事项名称' }]"
/>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择事项类型' }]"
label="事项类型"
placeholder="请选择"
v-model="majorType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="majorTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
clickable
@@ -45,8 +66,27 @@
@cancel="showlasj = false"
/>
</van-popup>
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
readonly
clickable
label="审批流程"
placeholder="请选择"
v-model="form.approvalTemplateName"
@click="showtemplate = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择审批流程' }]"
/>
<van-popup v-model="showtemplate" position="bottom">
<van-picker
show-toolbar
value-key="name"
:columns="templateList"
@confirm="onConfirmTemplate"
@cancel="showtemplate = false"
/>
</van-popup>
<van-field
label="事项内容"
input-align="right"
@@ -61,21 +101,19 @@
required
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<!-- <editor v-model="form.eventContent" :min-height="192"/>-->
<!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />-->
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
label="备注"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
input-align="right"
rows="3"
label-width="auto"
/>
</div>

<!-- <p class="main_title">上传附件</p>-->
<!-- <div class="main_box" style="padding: 5px 0 0 8px;">-->
<!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>-->
@@ -99,7 +137,7 @@
</template>

<script>
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import Dialog from "vant/lib/dialog";
import Editor from '@/components/Editor';
@@ -111,6 +149,7 @@
data() {
return {
title:false,
showtemplate:false,
showcapital:false,
showpayee:false,
showlasj:false,
@@ -129,6 +168,7 @@
capitalExpenditureType:'',
payee:'',
bankType:'',
majorType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
@@ -138,6 +178,8 @@
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
majorTypeOptions:[],
templateList:[],
projectListShow:[],
payerOptions:[],

@@ -168,6 +210,7 @@
},
created() {
this.reset();
this.getTemplateList();
this.getForm();
},
methods: {
@@ -189,12 +232,19 @@
enterpriseCode: null,
expenditureAmount: null,
capitalExpenditureType: '1',
majorType: null,
dzbty: null,
lwhsy: null,
dqyshsyhjy: null,
jcjggk: null,
ssqkgk: null,
remark: null,
transferStatus: "0",
auditStatus: "0",
paymentState: "1",
bankPriority: "0",
clientPriority: "0"
clientPriority: "0",
approvalTemplateId: null
};
this.processList = {}
this.projectForm={
@@ -211,6 +261,17 @@
getForm(){
getMajorevent(this.$route.query.id).then(response => {
this.form = response.data;
this.getDicts("major_type").then((res) => {
this.majorType = this.selectDictLabel(res.data, response.data.majorType);
for (var i = 0; i < res.data.length; i++) {
this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
this.templateList.map(ra => {
if (ra.id == response.data.approvalTemplateId) {
this.form.approvalTemplateName = ra.name
}
})
});
},
goFlow(){
@@ -228,6 +289,35 @@
},2000)
});
},
getTemplateList(){
let templateQueryParams = {
// 分页
pageNum: 1,
pageSize: 999,
type:'5'
};
listTemplate(templateQueryParams).then(response => {
this.templateList = response.rows;
});
},
onConfirmTemplate(data){
selectApprovalByTemplateId(data.id).then(res => {
this.showtemplate = false;
if(res.approvalDetails.length>0){
this.form.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
}else{
this.form.approvalTemplateName = null
this.form.approvalTemplateId = null
this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' });
}
})
},
onConfirmCapital(data){
this.majorType = data.text;
this.form.majorType = data.value;
this.showcapital = false;
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });


+ 106
- 18
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd13.vue ファイルの表示

@@ -25,6 +25,27 @@
required
:rules="[{ required: true , message:'请输入事项名称' }]"
/>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择事项类型' }]"
label="事项类型"
placeholder="请选择"
v-model="majorType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="majorTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
clickable
@@ -48,8 +69,27 @@
@cancel="showlasj = false"
/>
</van-popup>
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
readonly
clickable
label="审批流程"
placeholder="请选择"
v-model="form.approvalTemplateName"
@click="showtemplate = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择审批流程' }]"
/>
<van-popup v-model="showtemplate" position="bottom">
<van-picker
show-toolbar
value-key="name"
:columns="templateList"
@confirm="onConfirmTemplate"
@cancel="showtemplate = false"
/>
</van-popup>
<van-field
label="事项内容"
input-align="right"
@@ -60,23 +100,22 @@
v-model="form.eventContent"
type="textarea"
placeholder="请输入事项内容"
rows="8"
rows="4"
required
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<!-- <editor v-model="form.eventContent" :min-height="192"/>-->
<!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />-->
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
label="备注"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
input-align="right"
rows="3"
label-width="auto"
/>
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div>

<!-- <p class="main_title">上传附件</p>-->
@@ -102,7 +141,7 @@
</template>

<script>
import {addMajorevent , customSubmitMajorevent , attachmentList } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {addMajorevent , customSubmitMajorevent , attachmentList,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import Dialog from "vant/lib/dialog";
import Editor from '@/components/Editor';
@@ -115,6 +154,7 @@
data() {
return {
title:false,
showtemplate:false,
showcapital:false,
showpayee:false,
showlasj:false,
@@ -133,6 +173,7 @@
capitalExpenditureType:'',
payee:'',
bankType:'',
majorType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
@@ -142,6 +183,8 @@
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
majorTypeOptions:[],
templateList:[],
projectListShow:[],
payerOptions:[],

@@ -172,6 +215,8 @@
},
created() {
this.reset();
this.getDictionaries();
this.getTemplateList();
},
methods: {
// 表单重置
@@ -192,12 +237,19 @@
enterpriseCode: null,
expenditureAmount: null,
capitalExpenditureType: '1',
majorType: null,
dzbty: null,
lwhsy: null,
dqyshsyhjy: null,
jcjggk: null,
ssqkgk: null,
remark: null,
transferStatus: "0",
auditStatus: "0",
paymentState: "1",
bankPriority: "0",
clientPriority: "0"
clientPriority: "0",
approvalTemplateId: null
};
this.processList = {}
this.projectForm={
@@ -226,6 +278,42 @@
},2000)
});
},
getDictionaries(){
this.getDicts("major_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
},
getTemplateList(){
let templateQueryParams = {
// 分页
pageNum: 1,
pageSize: 999,
type:'5'
};
listTemplate(templateQueryParams).then(response => {
this.templateList = response.rows;
});
},
onConfirmTemplate(data){
selectApprovalByTemplateId(data.id).then(res => {
this.showtemplate = false;
if(res.approvalDetails.length>0){
this.form.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
}else{
this.form.approvalTemplateName = null
this.form.approvalTemplateId = null
this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' });
}
})
},
onConfirmCapital(data){
this.majorType = data.text;
this.form.majorType = data.value;
this.showcapital = false;
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });


+ 96
- 29
src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval13.vue ファイルの表示

@@ -19,20 +19,23 @@
<van-field
label="事项名称"
v-model="form.eventName"
placeholder="事项名称"
placeholder="请输入事项名称"
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'事项名称' }]"
:rules="[{ required: true , message:'请输入事项名称' }]"
/>
<van-field readonly label="事项类型" :value="majorTypeFormat(form.majorType)"
input-align="right" label-width="auto"/>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'发生日期' }]"
:rules="[{ required: true , message:'请选择发生日期' }]"
v-model="form.eventTime"
label="发生日期"
placeholder="发生日期"
placeholder="请选择发生日期"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
@@ -47,8 +50,8 @@
@cancel="showlasj = false"
/>
</van-popup>
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)"
input-align="right" label-width="auto"/>
<van-field
label="事项内容"
input-align="right"
@@ -58,30 +61,24 @@
<van-field
v-model="form.eventContent"
type="textarea"
placeholder="事项内容"
rows="8"
placeholder="请输入事项内容"
rows="4"
required
:rules="[{ required: true , message:'事项内容' }]"
/>
<!-- <editor v-model="form.eventContent" :min-height="192"/>-->
<!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />-->
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
label="备注"
v-model="form.remark"
type="textarea"
placeholder="备注"
input-align="right"
rows="3"
label-width="auto"
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div>

<!-- <p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>
</div> -->
<p style="margin-top:20px;padding: 0 10px">附件{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p>
<van-cell v-for="(item,index) in fileList" :key="index">
<a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a>
@@ -112,7 +109,7 @@
</template>

<script>
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,approval } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,approval,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import Dialog from "vant/lib/dialog";
import Editor from '@/components/Editor';
@@ -124,6 +121,11 @@
},
data() {
return {
showtemplate:false,
majorType:'',
majorTypeOptions:[],
templateList:[],

title:false,
showcapital:false,
showpayee:false,
@@ -188,11 +190,20 @@
this.reset();
this.getForm();
this.getFileList();
this.getDictionaries();
this.getTemplateList();
},
methods: {
// 表单重置
reset() {
this.form = {
majorType: null,
dzbty: null,
lwhsy: null,
dqyshsyhjy: null,
jcjggk: null,
ssqkgk: null,
approvalTemplateId: null,
id: null,
upId: null,
downId: null,
@@ -240,7 +251,7 @@
});
},
goFlow(){
window.location='approvalProcess13?id='+this.$route.query.auditbatchNo;
window.location='approvalProcess13?id='+this.$route.query.approvalTemplateId;
},
getChange(){
updateMajorevent(this.form).then(response => {
@@ -250,6 +261,62 @@
},2000)
});
},
getDictionaries(){
this.getDicts("major_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
},
getTemplateList(){
let templateQueryParams = {
// 分页
pageNum: 1,
pageSize: 999,
type:'5'
};
listTemplate(templateQueryParams).then(response => {
this.templateList = response.rows;
});
},
tempalteFormat(id) {
let name = ""
this.templateList.map(res => {
if (res.id == id) {
console.log(res.name)
name = res.name
}
})
return name
},
majorTypeFormat(id) {
let name = ""
this.majorTypeOptions.map(res => {
if (res.value == id) {
console.log("majorTypeFormat"+res.text)
name = res.text
}
})
return name
},
onConfirmTemplate(data){
selectApprovalByTemplateId(data.id).then(res => {
this.showtemplate = false;
if(res.approvalDetails.length>0){
this.form.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
}else{
this.form.approvalTemplateName = null
this.form.approvalTemplateId = null
this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' });
}
})
},
onConfirmCapital(data){
this.majorType = data.text;
this.form.majorType = data.value;
this.showcapital = false;
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });


+ 96
- 29
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail13.vue ファイルの表示

@@ -19,20 +19,23 @@
<van-field
label="事项名称"
v-model="form.eventName"
placeholder="事项名称"
placeholder="请输入事项名称"
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'事项名称' }]"
:rules="[{ required: true , message:'请输入事项名称' }]"
/>
<van-field readonly label="事项类型" :value="majorTypeFormat(form.majorType)"
input-align="right" label-width="auto"/>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'发生日期' }]"
:rules="[{ required: true , message:'请选择发生日期' }]"
v-model="form.eventTime"
label="发生日期"
placeholder="发生日期"
placeholder="请选择发生日期"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
@@ -47,8 +50,8 @@
@cancel="showlasj = false"
/>
</van-popup>
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)"
input-align="right" label-width="auto"/>
<van-field
label="事项内容"
input-align="right"
@@ -58,36 +61,30 @@
<van-field
v-model="form.eventContent"
type="textarea"
placeholder="事项内容"
rows="8"
placeholder="请输入事项内容"
rows="4"
required
:rules="[{ required: true , message:'事项内容' }]"
/>
<!-- <editor v-model="form.eventContent" :min-height="192"/>-->
<!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />-->
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
label="备注"
v-model="form.remark"
type="textarea"
placeholder="备注"
input-align="right"
rows="3"
label-width="auto"
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div>

<!-- <p class="main_title">上传附件</p>-->
<!-- <div class="main_box" style="padding: 5px 0 0 8px;">-->
<!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>-->
<!-- </div>-->
</van-form>
</div>
</template>

<script>
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import Dialog from "vant/lib/dialog";
import Editor from '@/components/Editor';
@@ -98,6 +95,11 @@
},
data() {
return {
showtemplate:false,
majorType:'',
majorTypeOptions:[],
templateList:[],

title:false,
showcapital:false,
showpayee:false,
@@ -156,12 +158,21 @@
},
created() {
this.reset();
this.getDictionaries();
this.getTemplateList();
this.getForm();
},
methods: {
// 表单重置
reset() {
this.form = {
majorType: null,
dzbty: null,
lwhsy: null,
dqyshsyhjy: null,
jcjggk: null,
ssqkgk: null,
approvalTemplateId: null,
id: null,
upId: null,
downId: null,
@@ -202,7 +213,7 @@
});
},
goFlow(){
window.location='approvalProcess13?id='+this.form.instanceId;
window.location='approvalProcess13?id='+this.form.approvalTemplateId;
},
getChange(){
updateMajorevent(this.form).then(response => {
@@ -212,6 +223,62 @@
},2000)
});
},
getDictionaries(){
this.getDicts("major_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
},
getTemplateList(){
let templateQueryParams = {
// 分页
pageNum: 1,
pageSize: 999,
type:'5'
};
listTemplate(templateQueryParams).then(response => {
this.templateList = response.rows;
});
},
tempalteFormat(id) {
let name = ""
this.templateList.map(res => {
if (res.id == id) {
console.log(res.name)
name = res.name
}
})
return name
},
majorTypeFormat(id) {
let name = ""
this.majorTypeOptions.map(res => {
if (res.value == id) {
console.log("majorTypeFormat"+res.text)
name = res.text
}
})
return name
},
onConfirmTemplate(data){
selectApprovalByTemplateId(data.id).then(res => {
this.showtemplate = false;
if(res.approvalDetails.length>0){
this.form.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
}else{
this.form.approvalTemplateName = null
this.form.approvalTemplateId = null
this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' });
}
})
},
onConfirmCapital(data){
this.majorType = data.text;
this.form.majorType = data.value;
this.showcapital = false;
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });


+ 23
- 1
src/views/yinnong/bankAgriculture/paymentApproval/approvalList13.vue ファイルの表示

@@ -38,6 +38,9 @@
<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=='待审'" square text="撤回" type="danger" @click="cancelApply(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>
@@ -58,7 +61,7 @@
</template>

<script>
import { delMajorevent , customSubmitMajorevent , delTransfer , listMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { delMajorevent , customSubmitMajorevent , delTransfer , listMajorevent,updateTYinnongMajoreventFoStatus } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {attachmentList, commonAttach, systemAttachment} from "@/api/sunVillage_info/fixedAssets";
import request from "@/utils/request";
export default {
@@ -159,6 +162,25 @@ export default {
// on cancel
});
},
cancelApply(id) {
const form = {};
form.id = id;
debugger;
this.$dialog.confirm({
message: '您确认撤回申请?',
})
.then(() => {
return updateTYinnongMajoreventFoStatus(form).then(response => {
this.$toast.success('撤回成功');
setTimeout(function(){
history.go(0)
},2000)
})
})
.catch(() => {
// on cancel
});
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
this.uploadFiles1.push(file.file);


+ 108
- 18
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify13.vue ファイルの表示

@@ -22,6 +22,27 @@
required
:rules="[{ required: true , message:'请输入事项名称' }]"
/>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择事项类型' }]"
label="事项类型"
placeholder="请选择"
v-model="majorType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="majorTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
clickable
@@ -45,8 +66,27 @@
@cancel="showlasj = false"
/>
</van-popup>
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
readonly
clickable
label="审批流程"
placeholder="请选择"
v-model="form.approvalTemplateName"
@click="showtemplate = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择审批流程' }]"
/>
<van-popup v-model="showtemplate" position="bottom">
<van-picker
show-toolbar
value-key="name"
:columns="templateList"
@confirm="onConfirmTemplate"
@cancel="showtemplate = false"
/>
</van-popup>
<van-field
label="事项内容"
input-align="right"
@@ -61,21 +101,19 @@
required
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<!-- <editor v-model="form.eventContent" :min-height="192"/>-->
<!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />-->
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div>
<div class="main_box" style="margin-top: 10px;">
<van-field
label="备注"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
input-align="right"
rows="3"
label-width="auto"
/>
</div>

<!-- <p class="main_title">上传附件</p>-->
<!-- <div class="main_box" style="padding: 5px 0 0 8px;">-->
<!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>-->
@@ -99,7 +137,7 @@
</template>

<script>
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import Dialog from "vant/lib/dialog";
import Editor from '@/components/Editor';
@@ -111,6 +149,7 @@
data() {
return {
title:false,
showtemplate:false,
showcapital:false,
showpayee:false,
showlasj:false,
@@ -129,6 +168,7 @@
capitalExpenditureType:'',
payee:'',
bankType:'',
majorType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
@@ -138,6 +178,8 @@
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
majorTypeOptions:[],
templateList:[],
projectListShow:[],
payerOptions:[],

@@ -168,6 +210,7 @@
},
created() {
this.reset();
this.getTemplateList();
this.getForm();
},
methods: {
@@ -189,12 +232,19 @@
enterpriseCode: null,
expenditureAmount: null,
capitalExpenditureType: '1',
majorType: null,
dzbty: null,
lwhsy: null,
dqyshsyhjy: null,
jcjggk: null,
ssqkgk: null,
remark: null,
transferStatus: "0",
auditStatus: "0",
paymentState: "1",
bankPriority: "0",
clientPriority: "0"
clientPriority: "0",
approvalTemplateId: null
};
this.processList = {}
this.projectForm={
@@ -211,6 +261,17 @@
getForm(){
getMajorevent(this.$route.query.id).then(response => {
this.form = response.data;
this.getDicts("major_type").then((res) => {
this.majorType = this.selectDictLabel(res.data, response.data.majorType);
for (var i = 0; i < res.data.length; i++) {
this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
this.templateList.map(ra => {
if (ra.id == response.data.approvalTemplateId) {
this.form.approvalTemplateName = ra.name
}
})
});
},
goFlow(){
@@ -228,6 +289,35 @@
},2000)
});
},
getTemplateList(){
let templateQueryParams = {
// 分页
pageNum: 1,
pageSize: 999,
type:'5'
};
listTemplate(templateQueryParams).then(response => {
this.templateList = response.rows;
});
},
onConfirmTemplate(data){
selectApprovalByTemplateId(data.id).then(res => {
this.showtemplate = false;
if(res.approvalDetails.length>0){
this.form.approvalTemplateName = data.name
this.form.approvalTemplateId = data.id
}else{
this.form.approvalTemplateName = null
this.form.approvalTemplateId = null
this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' });
}
})
},
onConfirmCapital(data){
this.majorType = data.text;
this.form.majorType = data.value;
this.showcapital = false;
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });


+ 101
- 158
src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess13.vue ファイルの表示

@@ -1,173 +1,116 @@
<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">
<van-row v-if="approvalTemplateDetailList.length>0" v-for="(item1,index) in approvalTemplateDetailList" :key="index">
<van-col span="4" align="right">
<p :class="{'icon_jian': true, 'red': item1.auditStatus=='2', 'blue': item1.auditStatus=='3', }" ><van-icon :name="getIconClass(item1)" size="14" /></p>
</van-col>
<van-col span="20">
<van-row>
<van-col span="9" style="padding: 0;" :class="{ 'textRed': item1.auditStatus=='2', 'textBlue': item1.auditStatus=='3' }">
<p>{{item1.actorName}}</p>
</van-col>
<van-col span="15" style="padding: 0;">
<p style="text-align: right;" :class="{ 'textRed': item1.auditStatus=='2', 'textBlue': item1.auditStatus=='3' }">{{item1.startTime}}</p>
</van-col>
</van-row>
<van-row style="font-size: .36rem">
<van-col span="9" style="padding: 0;">
<p :class="{ 'textRed': item1.auditStatus=='2', 'textBlue': item1.auditStatus=='3' }">{{item1.auditBy}}</p>
</van-col>
<van-col span="15" style="padding: 0;">
<p style="text-align: right;" :class="{ 'textRed': item1.auditStatus=='2', 'textBlue': item1.auditStatus=='3' }">{{item1.auditRemark}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
</div>
<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">
<!-- <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">
<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>{{item1.name}}</p>
</van-col>
<van-col span="12" style="padding: 0;">
<p v-show="item1.approvalLevel == 1">组级审批</p>
<p v-show="item1.approvalLevel == 2">村级审批</p>
<p v-show="item1.approvalLevel == 3">镇级审批</p>
<p v-show="item1.approvalLevel == 4">区县审批</p>
</van-col>
</van-row>
<van-row>
<van-col span="24" style="padding: 0;">
<p>{{item1.nickName}}<span v-if="item1.feeLimit != 0 && item1.nickName != null">({{item1.feeLimit}}元)</span></p>
</van-col>
</van-row>
</van-col>
</van-row>
</div>
</div>
</template>

<script>
import {A_auditHistoryList} from "@/api/audit/aauditpipeline";
import {selectApprovalByTemplateId} from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalProcess13",
data() {
return {
approvalTemplateDetailList:[]
};
},
created() {
this.getHistoryList(this.$route.query.id);
},
methods: {
getHistoryList(instanceId) {
this.loading = true;
A_auditHistoryList(instanceId).then((response) => {
this.approvalTemplateDetailList = response.rows;
this.approvalTemplateDetailList.forEach((row) => {
row.startTime = this.format(row.startTime, "yyyy-MM-dd HH:mm:ss");
row.auditTime = this.format(row.auditTime, "yyyy-MM-dd HH:mm:ss");
row.duration = this.formatTotalDateSub(
row.duration / 1000
);
});
this.total = response.total;
this.loading = false;
})
.then(() => {});
},
formatTotalDateSub (secondSub) {
var days = Math.floor(secondSub / (24 * 3600)); // 计算出小时数
var leave1 = secondSub % (24*3600) ; // 计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / 3600); // 计算相差分钟数
var leave2 = leave1 % (3600); // 计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / 60); // 计算相差秒数
var leave3 = leave2 % 60; // 计算分钟数后剩余的毫秒数
var seconds = Math.round(leave3);
return days + "天" + hours + "时" + minutes + "分" + seconds + '秒';
},
format(time, format) {
var t = new Date(time);
var tf = function (i) { return (i < 10 ? '0' : '') + i };
return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
switch (a) {
case 'yyyy':
return tf(t.getFullYear());
break;
case 'MM':
return tf(t.getMonth() + 1);
break;
case 'mm':
return tf(t.getMinutes());
break;
case 'dd':
return tf(t.getDate());
break;
case 'HH':
return tf(t.getHours());
break;
case 'ss':
return tf(t.getSeconds());
break;
}
})
},
getIconClass(item) {
switch(item.auditStatus)
{
case '2':
default:
return 'close';
case '3':
return 'success';
case '1':
return 'minus';
}
},
name: "approvalProcess13",
data() {
return {
approvalTemplateDetailList:[]
};
},
created() {
this.getApprovalByTemplateId(this.$route.query.id);
},
methods: {
getApprovalByTemplateId(approvalTemplateId) {
this.loading = true;
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;
}
.blue{
background-color: #07c160;
}
.red{
background-color: rgb(245, 108, 108);
}
.textBlue{
color: #1D6FE9!important;
}
.textRed{
color: rgb(245, 108, 108)!important;
}
.van-col{
padding: 10Px 10Px;
}
.van-col:nth-child(2){
font-size: 16Px;
color: #878787;
line-height: 22Px;
}
.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;
}
.blue{
background-color: #07c160;
}
.red{
background-color: rgb(245, 108, 108);
}
.textBlue{
color: #1D6FE9!important;
}
.textRed{
color: rgb(245, 108, 108)!important;
}
.van-col{
padding: 10Px 10Px;
}
.van-col:nth-child(2){
font-size: 16Px;
color: #878787;
line-height: 22Px;
}
.van-row{
.van-row{
.van-row{
.van-col{
padding: 0 0 5Px 0!important;
color: #878787;
}
.van-col{
padding: 0 0 5Px 0!important;
color: #878787;
}
}
}
</style>

読み込み中…
キャンセル
保存