@@ -448,10 +448,18 @@ export function addMajorevent(data) { | |||||
// 提交审批 | // 提交审批 | ||||
export function customSubmitMajorevent(id) { | export function customSubmitMajorevent(id) { | ||||
return request({ | return request({ | ||||
url: '/yinnong/majorevent/customSubmit/' + id, | |||||
url: '/yinnong/majorevent/customSubmitNew/' + id, | |||||
method: 'post' | method: 'post' | ||||
}) | }) | ||||
} | } | ||||
// 撤回 | |||||
export function updateTYinnongMajoreventFoStatus(data) { | |||||
return request({ | |||||
url: '/yinnong/majorevent/updateTYinnongMajoreventFoStatus', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 查询重大事项申请详细 | // 查询重大事项申请详细 | ||||
export function getMajorevent(id) { | export function getMajorevent(id) { | ||||
return request({ | return request({ | ||||
@@ -25,6 +25,27 @@ | |||||
required | required | ||||
:rules="[{ required: true , message:'请输入事项名称' }]" | :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 | <van-field | ||||
readonly | readonly | ||||
clickable | clickable | ||||
@@ -48,8 +69,27 @@ | |||||
@cancel="showlasj = false" | @cancel="showlasj = false" | ||||
/> | /> | ||||
</van-popup> | </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 | <van-field | ||||
label="事项内容" | label="事项内容" | ||||
input-align="right" | input-align="right" | ||||
@@ -60,23 +100,22 @@ | |||||
v-model="form.eventContent" | v-model="form.eventContent" | ||||
type="textarea" | type="textarea" | ||||
placeholder="请输入事项内容" | placeholder="请输入事项内容" | ||||
rows="8" | |||||
rows="4" | |||||
required | required | ||||
:rules="[{ required: true , message:'请输入事项内容' }]" | :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> | </div> | ||||
<!-- <p class="main_title">上传附件</p>--> | <!-- <p class="main_title">上传附件</p>--> | ||||
@@ -102,7 +141,7 @@ | |||||
</template> | </template> | ||||
<script> | <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 request from '@/utils/request'; | ||||
import Dialog from "vant/lib/dialog"; | import Dialog from "vant/lib/dialog"; | ||||
import Editor from '@/components/Editor'; | import Editor from '@/components/Editor'; | ||||
@@ -115,6 +154,7 @@ | |||||
data() { | data() { | ||||
return { | return { | ||||
title:false, | title:false, | ||||
showtemplate:false, | |||||
showcapital:false, | showcapital:false, | ||||
showpayee:false, | showpayee:false, | ||||
showlasj:false, | showlasj:false, | ||||
@@ -133,6 +173,7 @@ | |||||
capitalExpenditureType:'', | capitalExpenditureType:'', | ||||
payee:'', | payee:'', | ||||
bankType:'', | bankType:'', | ||||
majorType:'', | |||||
wfydlxDictionaries:[], | wfydlxDictionaries:[], | ||||
jglxDictionaries:[], | jglxDictionaries:[], | ||||
@@ -142,6 +183,8 @@ | |||||
projectList:[], | projectList:[], | ||||
projectFundTypeOptions:[], | projectFundTypeOptions:[], | ||||
projectFundTypeDictionaries:[], | projectFundTypeDictionaries:[], | ||||
majorTypeOptions:[], | |||||
templateList:[], | |||||
projectListShow:[], | projectListShow:[], | ||||
payerOptions:[], | payerOptions:[], | ||||
@@ -172,6 +215,8 @@ | |||||
}, | }, | ||||
created() { | created() { | ||||
this.reset(); | this.reset(); | ||||
this.getDictionaries(); | |||||
this.getTemplateList(); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
// 表单重置 | // 表单重置 | ||||
@@ -192,12 +237,19 @@ | |||||
enterpriseCode: null, | enterpriseCode: null, | ||||
expenditureAmount: null, | expenditureAmount: null, | ||||
capitalExpenditureType: '1', | capitalExpenditureType: '1', | ||||
majorType: null, | |||||
dzbty: null, | |||||
lwhsy: null, | |||||
dqyshsyhjy: null, | |||||
jcjggk: null, | |||||
ssqkgk: null, | |||||
remark: null, | remark: null, | ||||
transferStatus: "0", | transferStatus: "0", | ||||
auditStatus: "0", | auditStatus: "0", | ||||
paymentState: "1", | paymentState: "1", | ||||
bankPriority: "0", | bankPriority: "0", | ||||
clientPriority: "0" | |||||
clientPriority: "0", | |||||
approvalTemplateId: null | |||||
}; | }; | ||||
this.processList = {} | this.processList = {} | ||||
this.projectForm={ | this.projectForm={ | ||||
@@ -226,6 +278,42 @@ | |||||
},2000) | },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){ | getError(e){ | ||||
console.log(e) | console.log(e) | ||||
this.$notify({ type: 'danger', message: e.errors[0].message }); | this.$notify({ type: 'danger', message: e.errors[0].message }); | ||||
@@ -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> |
@@ -19,20 +19,23 @@ | |||||
<van-field | <van-field | ||||
label="事项名称" | label="事项名称" | ||||
v-model="form.eventName" | v-model="form.eventName" | ||||
placeholder="事项名称" | |||||
placeholder="请输入事项名称" | |||||
input-align="right" | input-align="right" | ||||
label-width="auto" | label-width="auto" | ||||
required | 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 | <van-field | ||||
readonly | readonly | ||||
clickable | clickable | ||||
required | required | ||||
:rules="[{ required: true , message:'发生日期' }]" | |||||
:rules="[{ required: true , message:'请选择发生日期' }]" | |||||
v-model="form.eventTime" | v-model="form.eventTime" | ||||
label="发生日期" | label="发生日期" | ||||
placeholder="发生日期" | |||||
placeholder="请选择发生日期" | |||||
@click="showlasj = true" | |||||
input-align="right" | input-align="right" | ||||
right-icon="arrow-down" | right-icon="arrow-down" | ||||
/> | /> | ||||
@@ -47,8 +50,8 @@ | |||||
@cancel="showlasj = false" | @cancel="showlasj = false" | ||||
/> | /> | ||||
</van-popup> | </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 | <van-field | ||||
label="事项内容" | label="事项内容" | ||||
input-align="right" | input-align="right" | ||||
@@ -58,46 +61,71 @@ | |||||
<van-field | <van-field | ||||
v-model="form.eventContent" | v-model="form.eventContent" | ||||
type="textarea" | type="textarea" | ||||
placeholder="事项内容" | |||||
rows="8" | |||||
placeholder="请输入事项内容" | |||||
rows="4" | |||||
required | 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> | </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> | </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> | </div> | ||||
</template> | </template> | ||||
<script> | <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 request from '@/utils/request'; | ||||
import Dialog from "vant/lib/dialog"; | import Dialog from "vant/lib/dialog"; | ||||
import Editor from '@/components/Editor'; | import Editor from '@/components/Editor'; | ||||
import {A_auditHistoryDetail} from "@/api/audit/aauditpipeline"; | |||||
export default { | export default { | ||||
name: "approvalAdd3", | |||||
name: "approvalApproval13", | |||||
components: { | components: { | ||||
Editor, | Editor, | ||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
showtemplate:false, | |||||
majorType:'', | |||||
majorTypeOptions:[], | |||||
templateList:[], | |||||
title:false, | title:false, | ||||
showcapital:false, | showcapital:false, | ||||
showpayee:false, | showpayee:false, | ||||
@@ -152,16 +180,30 @@ | |||||
}, | }, | ||||
projectFundType:'', | projectFundType:'', | ||||
uploadFiles:[], | uploadFiles:[], | ||||
// 审核意见默认值 | |||||
pass: "true", | |||||
comment: "同意", | |||||
templateList:[], | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
this.reset(); | this.reset(); | ||||
this.getForm(); | this.getForm(); | ||||
this.getFileList(); | |||||
this.getDictionaries(); | |||||
this.getTemplateList(); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
// 表单重置 | // 表单重置 | ||||
reset() { | reset() { | ||||
this.form = { | this.form = { | ||||
majorType: null, | |||||
dzbty: null, | |||||
lwhsy: null, | |||||
dqyshsyhjy: null, | |||||
jcjggk: null, | |||||
ssqkgk: null, | |||||
approvalTemplateId: null, | |||||
id: null, | id: null, | ||||
upId: null, | upId: null, | ||||
downId: null, | downId: null, | ||||
@@ -199,10 +241,17 @@ | |||||
getForm(){ | getForm(){ | ||||
getMajorevent(this.$route.query.id).then(response => { | getMajorevent(this.$route.query.id).then(response => { | ||||
this.form = response.data; | 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(){ | goFlow(){ | ||||
window.location='approvalProcess13?id='+this.form.instanceId; | |||||
window.location='approvalProcess13?id='+this.$route.query.approvalTemplateId; | |||||
}, | }, | ||||
getChange(){ | getChange(){ | ||||
updateMajorevent(this.form).then(response => { | updateMajorevent(this.form).then(response => { | ||||
@@ -212,6 +261,62 @@ | |||||
},2000) | },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){ | getError(e){ | ||||
console.log(e) | console.log(e) | ||||
this.$notify({ type: 'danger', message: e.errors[0].message }); | this.$notify({ type: 'danger', message: e.errors[0].message }); | ||||
@@ -233,16 +338,15 @@ | |||||
getFileList(){ | getFileList(){ | ||||
let oData= { | let oData= { | ||||
tableId: this.$route.query.id, | tableId: this.$route.query.id, | ||||
tableName: "t_yinnong_majorevent", | |||||
tableName: 't_yinnong_majorevent', | |||||
bizPath: "yinnong", | bizPath: "yinnong", | ||||
fileType: "", | fileType: "", | ||||
} | } | ||||
attachmentList(oData).then(res => { | attachmentList(oData).then(res => { | ||||
console.log(res) | |||||
console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||||
res.rows.map(r => { | res.rows.map(r => { | ||||
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | 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) | console.log(r) | ||||
}) | }) | ||||
}) | }) | ||||
@@ -254,7 +358,38 @@ | |||||
deleteChargeItme(index){ | deleteChargeItme(index){ | ||||
this.chargeItme.splice(index,1) | 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> | </script> | ||||
@@ -277,9 +412,8 @@ | |||||
background-color: #FFF; | background-color: #FFF; | ||||
} | } | ||||
.submitButton{ | .submitButton{ | ||||
width: 80%; | |||||
width: 96%; | |||||
margin: 0 auto; | margin: 0 auto; | ||||
background-color: #1D6FE9; | |||||
} | } | ||||
.addFamily{ | .addFamily{ | ||||
@@ -295,4 +429,29 @@ | |||||
z-index: 9; | z-index: 9; | ||||
border-radius: 50%; | 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> | </style> |
@@ -1,228 +1,250 @@ | |||||
<template> | <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> | </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> | </template> | ||||
<script> | <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 {attachmentList, commonAttach, systemAttachment} from "@/api/sunVillage_info/fixedAssets"; | ||||
import request from "@/utils/request"; | import request from "@/utils/request"; | ||||
export default { | 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> | </script> | ||||
<style scoped lang="scss"> | <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> | </style> |
@@ -22,6 +22,27 @@ | |||||
required | required | ||||
:rules="[{ required: true , message:'请输入事项名称' }]" | :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 | <van-field | ||||
readonly | readonly | ||||
clickable | clickable | ||||
@@ -45,8 +66,27 @@ | |||||
@cancel="showlasj = false" | @cancel="showlasj = false" | ||||
/> | /> | ||||
</van-popup> | </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 | <van-field | ||||
label="事项内容" | label="事项内容" | ||||
input-align="right" | input-align="right" | ||||
@@ -61,21 +101,19 @@ | |||||
required | required | ||||
:rules="[{ required: true , message:'请输入事项内容' }]" | :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> | ||||
<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>--> | <!-- <p class="main_title">上传附件</p>--> | ||||
<!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | <!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | ||||
<!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | <!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | ||||
@@ -99,7 +137,7 @@ | |||||
</template> | </template> | ||||
<script> | <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 request from '@/utils/request'; | ||||
import Dialog from "vant/lib/dialog"; | import Dialog from "vant/lib/dialog"; | ||||
import Editor from '@/components/Editor'; | import Editor from '@/components/Editor'; | ||||
@@ -111,6 +149,7 @@ | |||||
data() { | data() { | ||||
return { | return { | ||||
title:false, | title:false, | ||||
showtemplate:false, | |||||
showcapital:false, | showcapital:false, | ||||
showpayee:false, | showpayee:false, | ||||
showlasj:false, | showlasj:false, | ||||
@@ -129,6 +168,7 @@ | |||||
capitalExpenditureType:'', | capitalExpenditureType:'', | ||||
payee:'', | payee:'', | ||||
bankType:'', | bankType:'', | ||||
majorType:'', | |||||
wfydlxDictionaries:[], | wfydlxDictionaries:[], | ||||
jglxDictionaries:[], | jglxDictionaries:[], | ||||
@@ -138,6 +178,8 @@ | |||||
projectList:[], | projectList:[], | ||||
projectFundTypeOptions:[], | projectFundTypeOptions:[], | ||||
projectFundTypeDictionaries:[], | projectFundTypeDictionaries:[], | ||||
majorTypeOptions:[], | |||||
templateList:[], | |||||
projectListShow:[], | projectListShow:[], | ||||
payerOptions:[], | payerOptions:[], | ||||
@@ -168,6 +210,7 @@ | |||||
}, | }, | ||||
created() { | created() { | ||||
this.reset(); | this.reset(); | ||||
this.getTemplateList(); | |||||
this.getForm(); | this.getForm(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
@@ -189,12 +232,19 @@ | |||||
enterpriseCode: null, | enterpriseCode: null, | ||||
expenditureAmount: null, | expenditureAmount: null, | ||||
capitalExpenditureType: '1', | capitalExpenditureType: '1', | ||||
majorType: null, | |||||
dzbty: null, | |||||
lwhsy: null, | |||||
dqyshsyhjy: null, | |||||
jcjggk: null, | |||||
ssqkgk: null, | |||||
remark: null, | remark: null, | ||||
transferStatus: "0", | transferStatus: "0", | ||||
auditStatus: "0", | auditStatus: "0", | ||||
paymentState: "1", | paymentState: "1", | ||||
bankPriority: "0", | bankPriority: "0", | ||||
clientPriority: "0" | |||||
clientPriority: "0", | |||||
approvalTemplateId: null | |||||
}; | }; | ||||
this.processList = {} | this.processList = {} | ||||
this.projectForm={ | this.projectForm={ | ||||
@@ -211,6 +261,17 @@ | |||||
getForm(){ | getForm(){ | ||||
getMajorevent(this.$route.query.id).then(response => { | getMajorevent(this.$route.query.id).then(response => { | ||||
this.form = response.data; | 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(){ | goFlow(){ | ||||
@@ -228,6 +289,35 @@ | |||||
},2000) | },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){ | getError(e){ | ||||
console.log(e) | console.log(e) | ||||
this.$notify({ type: 'danger', message: e.errors[0].message }); | this.$notify({ type: 'danger', message: e.errors[0].message }); | ||||
@@ -25,6 +25,27 @@ | |||||
required | required | ||||
:rules="[{ required: true , message:'请输入事项名称' }]" | :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 | <van-field | ||||
readonly | readonly | ||||
clickable | clickable | ||||
@@ -48,8 +69,27 @@ | |||||
@cancel="showlasj = false" | @cancel="showlasj = false" | ||||
/> | /> | ||||
</van-popup> | </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 | <van-field | ||||
label="事项内容" | label="事项内容" | ||||
input-align="right" | input-align="right" | ||||
@@ -60,23 +100,22 @@ | |||||
v-model="form.eventContent" | v-model="form.eventContent" | ||||
type="textarea" | type="textarea" | ||||
placeholder="请输入事项内容" | placeholder="请输入事项内容" | ||||
rows="8" | |||||
rows="4" | |||||
required | required | ||||
:rules="[{ required: true , message:'请输入事项内容' }]" | :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> | </div> | ||||
<!-- <p class="main_title">上传附件</p>--> | <!-- <p class="main_title">上传附件</p>--> | ||||
@@ -102,7 +141,7 @@ | |||||
</template> | </template> | ||||
<script> | <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 request from '@/utils/request'; | ||||
import Dialog from "vant/lib/dialog"; | import Dialog from "vant/lib/dialog"; | ||||
import Editor from '@/components/Editor'; | import Editor from '@/components/Editor'; | ||||
@@ -115,6 +154,7 @@ | |||||
data() { | data() { | ||||
return { | return { | ||||
title:false, | title:false, | ||||
showtemplate:false, | |||||
showcapital:false, | showcapital:false, | ||||
showpayee:false, | showpayee:false, | ||||
showlasj:false, | showlasj:false, | ||||
@@ -133,6 +173,7 @@ | |||||
capitalExpenditureType:'', | capitalExpenditureType:'', | ||||
payee:'', | payee:'', | ||||
bankType:'', | bankType:'', | ||||
majorType:'', | |||||
wfydlxDictionaries:[], | wfydlxDictionaries:[], | ||||
jglxDictionaries:[], | jglxDictionaries:[], | ||||
@@ -142,6 +183,8 @@ | |||||
projectList:[], | projectList:[], | ||||
projectFundTypeOptions:[], | projectFundTypeOptions:[], | ||||
projectFundTypeDictionaries:[], | projectFundTypeDictionaries:[], | ||||
majorTypeOptions:[], | |||||
templateList:[], | |||||
projectListShow:[], | projectListShow:[], | ||||
payerOptions:[], | payerOptions:[], | ||||
@@ -172,6 +215,8 @@ | |||||
}, | }, | ||||
created() { | created() { | ||||
this.reset(); | this.reset(); | ||||
this.getDictionaries(); | |||||
this.getTemplateList(); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
// 表单重置 | // 表单重置 | ||||
@@ -192,12 +237,19 @@ | |||||
enterpriseCode: null, | enterpriseCode: null, | ||||
expenditureAmount: null, | expenditureAmount: null, | ||||
capitalExpenditureType: '1', | capitalExpenditureType: '1', | ||||
majorType: null, | |||||
dzbty: null, | |||||
lwhsy: null, | |||||
dqyshsyhjy: null, | |||||
jcjggk: null, | |||||
ssqkgk: null, | |||||
remark: null, | remark: null, | ||||
transferStatus: "0", | transferStatus: "0", | ||||
auditStatus: "0", | auditStatus: "0", | ||||
paymentState: "1", | paymentState: "1", | ||||
bankPriority: "0", | bankPriority: "0", | ||||
clientPriority: "0" | |||||
clientPriority: "0", | |||||
approvalTemplateId: null | |||||
}; | }; | ||||
this.processList = {} | this.processList = {} | ||||
this.projectForm={ | this.projectForm={ | ||||
@@ -226,6 +278,42 @@ | |||||
},2000) | },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){ | getError(e){ | ||||
console.log(e) | console.log(e) | ||||
this.$notify({ type: 'danger', message: e.errors[0].message }); | this.$notify({ type: 'danger', message: e.errors[0].message }); | ||||
@@ -19,20 +19,23 @@ | |||||
<van-field | <van-field | ||||
label="事项名称" | label="事项名称" | ||||
v-model="form.eventName" | v-model="form.eventName" | ||||
placeholder="事项名称" | |||||
placeholder="请输入事项名称" | |||||
input-align="right" | input-align="right" | ||||
label-width="auto" | label-width="auto" | ||||
required | 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 | <van-field | ||||
readonly | readonly | ||||
clickable | clickable | ||||
required | required | ||||
:rules="[{ required: true , message:'发生日期' }]" | |||||
:rules="[{ required: true , message:'请选择发生日期' }]" | |||||
v-model="form.eventTime" | v-model="form.eventTime" | ||||
label="发生日期" | label="发生日期" | ||||
placeholder="发生日期" | |||||
placeholder="请选择发生日期" | |||||
@click="showlasj = true" | |||||
input-align="right" | input-align="right" | ||||
right-icon="arrow-down" | right-icon="arrow-down" | ||||
/> | /> | ||||
@@ -47,8 +50,8 @@ | |||||
@cancel="showlasj = false" | @cancel="showlasj = false" | ||||
/> | /> | ||||
</van-popup> | </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 | <van-field | ||||
label="事项内容" | label="事项内容" | ||||
input-align="right" | input-align="right" | ||||
@@ -58,30 +61,24 @@ | |||||
<van-field | <van-field | ||||
v-model="form.eventContent" | v-model="form.eventContent" | ||||
type="textarea" | type="textarea" | ||||
placeholder="事项内容" | |||||
rows="8" | |||||
placeholder="请输入事项内容" | |||||
rows="4" | |||||
required | 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> | </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> | <p style="margin-top:20px;padding: 0 10px">附件{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p> | ||||
<van-cell v-for="(item,index) in fileList" :key="index"> | <van-cell v-for="(item,index) in fileList" :key="index"> | ||||
<a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a> | <a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a> | ||||
@@ -112,7 +109,7 @@ | |||||
</template> | </template> | ||||
<script> | <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 request from '@/utils/request'; | ||||
import Dialog from "vant/lib/dialog"; | import Dialog from "vant/lib/dialog"; | ||||
import Editor from '@/components/Editor'; | import Editor from '@/components/Editor'; | ||||
@@ -124,6 +121,11 @@ | |||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
showtemplate:false, | |||||
majorType:'', | |||||
majorTypeOptions:[], | |||||
templateList:[], | |||||
title:false, | title:false, | ||||
showcapital:false, | showcapital:false, | ||||
showpayee:false, | showpayee:false, | ||||
@@ -188,11 +190,20 @@ | |||||
this.reset(); | this.reset(); | ||||
this.getForm(); | this.getForm(); | ||||
this.getFileList(); | this.getFileList(); | ||||
this.getDictionaries(); | |||||
this.getTemplateList(); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
// 表单重置 | // 表单重置 | ||||
reset() { | reset() { | ||||
this.form = { | this.form = { | ||||
majorType: null, | |||||
dzbty: null, | |||||
lwhsy: null, | |||||
dqyshsyhjy: null, | |||||
jcjggk: null, | |||||
ssqkgk: null, | |||||
approvalTemplateId: null, | |||||
id: null, | id: null, | ||||
upId: null, | upId: null, | ||||
downId: null, | downId: null, | ||||
@@ -240,7 +251,7 @@ | |||||
}); | }); | ||||
}, | }, | ||||
goFlow(){ | goFlow(){ | ||||
window.location='approvalProcess13?id='+this.$route.query.auditbatchNo; | |||||
window.location='approvalProcess13?id='+this.$route.query.approvalTemplateId; | |||||
}, | }, | ||||
getChange(){ | getChange(){ | ||||
updateMajorevent(this.form).then(response => { | updateMajorevent(this.form).then(response => { | ||||
@@ -250,6 +261,62 @@ | |||||
},2000) | },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){ | getError(e){ | ||||
console.log(e) | console.log(e) | ||||
this.$notify({ type: 'danger', message: e.errors[0].message }); | this.$notify({ type: 'danger', message: e.errors[0].message }); | ||||
@@ -19,20 +19,23 @@ | |||||
<van-field | <van-field | ||||
label="事项名称" | label="事项名称" | ||||
v-model="form.eventName" | v-model="form.eventName" | ||||
placeholder="事项名称" | |||||
placeholder="请输入事项名称" | |||||
input-align="right" | input-align="right" | ||||
label-width="auto" | label-width="auto" | ||||
required | 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 | <van-field | ||||
readonly | readonly | ||||
clickable | clickable | ||||
required | required | ||||
:rules="[{ required: true , message:'发生日期' }]" | |||||
:rules="[{ required: true , message:'请选择发生日期' }]" | |||||
v-model="form.eventTime" | v-model="form.eventTime" | ||||
label="发生日期" | label="发生日期" | ||||
placeholder="发生日期" | |||||
placeholder="请选择发生日期" | |||||
@click="showlasj = true" | |||||
input-align="right" | input-align="right" | ||||
right-icon="arrow-down" | right-icon="arrow-down" | ||||
/> | /> | ||||
@@ -47,8 +50,8 @@ | |||||
@cancel="showlasj = false" | @cancel="showlasj = false" | ||||
/> | /> | ||||
</van-popup> | </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 | <van-field | ||||
label="事项内容" | label="事项内容" | ||||
input-align="right" | input-align="right" | ||||
@@ -58,36 +61,30 @@ | |||||
<van-field | <van-field | ||||
v-model="form.eventContent" | v-model="form.eventContent" | ||||
type="textarea" | type="textarea" | ||||
placeholder="事项内容" | |||||
rows="8" | |||||
placeholder="请输入事项内容" | |||||
rows="4" | |||||
required | 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> | </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> | </van-form> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <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 request from '@/utils/request'; | ||||
import Dialog from "vant/lib/dialog"; | import Dialog from "vant/lib/dialog"; | ||||
import Editor from '@/components/Editor'; | import Editor from '@/components/Editor'; | ||||
@@ -98,6 +95,11 @@ | |||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
showtemplate:false, | |||||
majorType:'', | |||||
majorTypeOptions:[], | |||||
templateList:[], | |||||
title:false, | title:false, | ||||
showcapital:false, | showcapital:false, | ||||
showpayee:false, | showpayee:false, | ||||
@@ -156,12 +158,21 @@ | |||||
}, | }, | ||||
created() { | created() { | ||||
this.reset(); | this.reset(); | ||||
this.getDictionaries(); | |||||
this.getTemplateList(); | |||||
this.getForm(); | this.getForm(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
// 表单重置 | // 表单重置 | ||||
reset() { | reset() { | ||||
this.form = { | this.form = { | ||||
majorType: null, | |||||
dzbty: null, | |||||
lwhsy: null, | |||||
dqyshsyhjy: null, | |||||
jcjggk: null, | |||||
ssqkgk: null, | |||||
approvalTemplateId: null, | |||||
id: null, | id: null, | ||||
upId: null, | upId: null, | ||||
downId: null, | downId: null, | ||||
@@ -202,7 +213,7 @@ | |||||
}); | }); | ||||
}, | }, | ||||
goFlow(){ | goFlow(){ | ||||
window.location='approvalProcess13?id='+this.form.instanceId; | |||||
window.location='approvalProcess13?id='+this.form.approvalTemplateId; | |||||
}, | }, | ||||
getChange(){ | getChange(){ | ||||
updateMajorevent(this.form).then(response => { | updateMajorevent(this.form).then(response => { | ||||
@@ -212,6 +223,62 @@ | |||||
},2000) | },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){ | getError(e){ | ||||
console.log(e) | console.log(e) | ||||
this.$notify({ type: 'danger', message: e.errors[0].message }); | this.$notify({ type: 'danger', message: e.errors[0].message }); | ||||
@@ -38,6 +38,9 @@ | |||||
<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-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-col> | |||||
<van-button v-if="item.auditStatus=='待审'" square text="撤回" type="danger" @click="cancelApply(item.id)" class="delete-button" /> | |||||
</van-col> | |||||
<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-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | ||||
</van-col> | </van-col> | ||||
@@ -58,7 +61,7 @@ | |||||
</template> | </template> | ||||
<script> | <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 {attachmentList, commonAttach, systemAttachment} from "@/api/sunVillage_info/fixedAssets"; | ||||
import request from "@/utils/request"; | import request from "@/utils/request"; | ||||
export default { | export default { | ||||
@@ -159,6 +162,25 @@ export default { | |||||
// on cancel | // 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) { | afterRead(file) { | ||||
// 此时可以自行将文件上传至服务器 | // 此时可以自行将文件上传至服务器 | ||||
this.uploadFiles1.push(file.file); | this.uploadFiles1.push(file.file); | ||||
@@ -22,6 +22,27 @@ | |||||
required | required | ||||
:rules="[{ required: true , message:'请输入事项名称' }]" | :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 | <van-field | ||||
readonly | readonly | ||||
clickable | clickable | ||||
@@ -45,8 +66,27 @@ | |||||
@cancel="showlasj = false" | @cancel="showlasj = false" | ||||
/> | /> | ||||
</van-popup> | </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 | <van-field | ||||
label="事项内容" | label="事项内容" | ||||
input-align="right" | input-align="right" | ||||
@@ -61,21 +101,19 @@ | |||||
required | required | ||||
:rules="[{ required: true , message:'请输入事项内容' }]" | :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> | ||||
<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>--> | <!-- <p class="main_title">上传附件</p>--> | ||||
<!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | <!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | ||||
<!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | <!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | ||||
@@ -99,7 +137,7 @@ | |||||
</template> | </template> | ||||
<script> | <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 request from '@/utils/request'; | ||||
import Dialog from "vant/lib/dialog"; | import Dialog from "vant/lib/dialog"; | ||||
import Editor from '@/components/Editor'; | import Editor from '@/components/Editor'; | ||||
@@ -111,6 +149,7 @@ | |||||
data() { | data() { | ||||
return { | return { | ||||
title:false, | title:false, | ||||
showtemplate:false, | |||||
showcapital:false, | showcapital:false, | ||||
showpayee:false, | showpayee:false, | ||||
showlasj:false, | showlasj:false, | ||||
@@ -129,6 +168,7 @@ | |||||
capitalExpenditureType:'', | capitalExpenditureType:'', | ||||
payee:'', | payee:'', | ||||
bankType:'', | bankType:'', | ||||
majorType:'', | |||||
wfydlxDictionaries:[], | wfydlxDictionaries:[], | ||||
jglxDictionaries:[], | jglxDictionaries:[], | ||||
@@ -138,6 +178,8 @@ | |||||
projectList:[], | projectList:[], | ||||
projectFundTypeOptions:[], | projectFundTypeOptions:[], | ||||
projectFundTypeDictionaries:[], | projectFundTypeDictionaries:[], | ||||
majorTypeOptions:[], | |||||
templateList:[], | |||||
projectListShow:[], | projectListShow:[], | ||||
payerOptions:[], | payerOptions:[], | ||||
@@ -168,6 +210,7 @@ | |||||
}, | }, | ||||
created() { | created() { | ||||
this.reset(); | this.reset(); | ||||
this.getTemplateList(); | |||||
this.getForm(); | this.getForm(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
@@ -189,12 +232,19 @@ | |||||
enterpriseCode: null, | enterpriseCode: null, | ||||
expenditureAmount: null, | expenditureAmount: null, | ||||
capitalExpenditureType: '1', | capitalExpenditureType: '1', | ||||
majorType: null, | |||||
dzbty: null, | |||||
lwhsy: null, | |||||
dqyshsyhjy: null, | |||||
jcjggk: null, | |||||
ssqkgk: null, | |||||
remark: null, | remark: null, | ||||
transferStatus: "0", | transferStatus: "0", | ||||
auditStatus: "0", | auditStatus: "0", | ||||
paymentState: "1", | paymentState: "1", | ||||
bankPriority: "0", | bankPriority: "0", | ||||
clientPriority: "0" | |||||
clientPriority: "0", | |||||
approvalTemplateId: null | |||||
}; | }; | ||||
this.processList = {} | this.processList = {} | ||||
this.projectForm={ | this.projectForm={ | ||||
@@ -211,6 +261,17 @@ | |||||
getForm(){ | getForm(){ | ||||
getMajorevent(this.$route.query.id).then(response => { | getMajorevent(this.$route.query.id).then(response => { | ||||
this.form = response.data; | 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(){ | goFlow(){ | ||||
@@ -228,6 +289,35 @@ | |||||
},2000) | },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){ | getError(e){ | ||||
console.log(e) | console.log(e) | ||||
this.$notify({ type: 'danger', message: e.errors[0].message }); | this.$notify({ type: 'danger', message: e.errors[0].message }); | ||||
@@ -1,173 +1,116 @@ | |||||
<template> | <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> | ||||
</div> | |||||
</template> | </template> | ||||
<script> | <script> | ||||
import {A_auditHistoryList} from "@/api/audit/aauditpipeline"; | |||||
import {selectApprovalByTemplateId} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||||
export default { | 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> | </script> | ||||
<style scoped lang="scss"> | <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-row{ | |||||
.van-col{ | |||||
padding: 0 0 5Px 0!important; | |||||
color: #878787; | |||||
} | |||||
.van-col{ | |||||
padding: 0 0 5Px 0!important; | |||||
color: #878787; | |||||
} | } | ||||
} | } | ||||
} | |||||
</style> | </style> |