| @@ -448,10 +448,18 @@ export function addMajorevent(data) { | |||
| // 提交审批 | |||
| export function customSubmitMajorevent(id) { | |||
| return request({ | |||
| url: '/yinnong/majorevent/customSubmit/' + id, | |||
| url: '/yinnong/majorevent/customSubmitNew/' + id, | |||
| method: 'post' | |||
| }) | |||
| } | |||
| // 撤回 | |||
| export function updateTYinnongMajoreventFoStatus(data) { | |||
| return request({ | |||
| url: '/yinnong/majorevent/updateTYinnongMajoreventFoStatus', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 查询重大事项申请详细 | |||
| export function getMajorevent(id) { | |||
| return request({ | |||
| @@ -25,6 +25,27 @@ | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项名称' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择事项类型' }]" | |||
| label="事项类型" | |||
| placeholder="请选择" | |||
| v-model="majorType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="majorTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -48,8 +69,27 @@ | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="审批流程" | |||
| placeholder="请选择" | |||
| v-model="form.approvalTemplateName" | |||
| @click="showtemplate = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择审批流程' }]" | |||
| /> | |||
| <van-popup v-model="showtemplate" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| value-key="name" | |||
| :columns="templateList" | |||
| @confirm="onConfirmTemplate" | |||
| @cancel="showtemplate = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| @@ -60,23 +100,22 @@ | |||
| v-model="form.eventContent" | |||
| type="textarea" | |||
| placeholder="请输入事项内容" | |||
| rows="8" | |||
| rows="4" | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="备注" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入备注" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| /> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| <!-- <p class="main_title">上传附件</p>--> | |||
| @@ -102,7 +141,7 @@ | |||
| </template> | |||
| <script> | |||
| import {addMajorevent , customSubmitMajorevent , attachmentList } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import {addMajorevent , customSubmitMajorevent , attachmentList,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import Dialog from "vant/lib/dialog"; | |||
| import Editor from '@/components/Editor'; | |||
| @@ -115,6 +154,7 @@ | |||
| data() { | |||
| return { | |||
| title:false, | |||
| showtemplate:false, | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| @@ -133,6 +173,7 @@ | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| majorType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| @@ -142,6 +183,8 @@ | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| majorTypeOptions:[], | |||
| templateList:[], | |||
| projectListShow:[], | |||
| payerOptions:[], | |||
| @@ -172,6 +215,8 @@ | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| this.getDictionaries(); | |||
| this.getTemplateList(); | |||
| }, | |||
| methods: { | |||
| // 表单重置 | |||
| @@ -192,12 +237,19 @@ | |||
| enterpriseCode: null, | |||
| expenditureAmount: null, | |||
| capitalExpenditureType: '1', | |||
| majorType: null, | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| remark: null, | |||
| transferStatus: "0", | |||
| auditStatus: "0", | |||
| paymentState: "1", | |||
| bankPriority: "0", | |||
| clientPriority: "0" | |||
| clientPriority: "0", | |||
| approvalTemplateId: null | |||
| }; | |||
| this.processList = {} | |||
| this.projectForm={ | |||
| @@ -226,6 +278,42 @@ | |||
| },2000) | |||
| }); | |||
| }, | |||
| getDictionaries(){ | |||
| this.getDicts("major_type").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| getTemplateList(){ | |||
| let templateQueryParams = { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 999, | |||
| type:'5' | |||
| }; | |||
| listTemplate(templateQueryParams).then(response => { | |||
| this.templateList = response.rows; | |||
| }); | |||
| }, | |||
| onConfirmTemplate(data){ | |||
| selectApprovalByTemplateId(data.id).then(res => { | |||
| this.showtemplate = false; | |||
| if(res.approvalDetails.length>0){ | |||
| this.form.approvalTemplateName = data.name | |||
| this.form.approvalTemplateId = data.id | |||
| }else{ | |||
| this.form.approvalTemplateName = null | |||
| this.form.approvalTemplateId = null | |||
| this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' }); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCapital(data){ | |||
| this.majorType = data.text; | |||
| this.form.majorType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| @@ -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 | |||
| label="事项名称" | |||
| v-model="form.eventName" | |||
| placeholder="事项名称" | |||
| placeholder="请输入事项名称" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'事项名称' }]" | |||
| :rules="[{ required: true , message:'请输入事项名称' }]" | |||
| /> | |||
| <van-field readonly label="事项类型" :value="majorTypeFormat(form.majorType)" | |||
| input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'发生日期' }]" | |||
| :rules="[{ required: true , message:'请选择发生日期' }]" | |||
| v-model="form.eventTime" | |||
| label="发生日期" | |||
| placeholder="发生日期" | |||
| placeholder="请选择发生日期" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| @@ -47,8 +50,8 @@ | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)" | |||
| input-align="right" label-width="auto"/> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| @@ -58,46 +61,71 @@ | |||
| <van-field | |||
| v-model="form.eventContent" | |||
| type="textarea" | |||
| placeholder="事项内容" | |||
| rows="8" | |||
| placeholder="请输入事项内容" | |||
| rows="4" | |||
| required | |||
| :rules="[{ required: true , message:'事项内容' }]" | |||
| /> | |||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="备注" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="备注" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| <!-- <p class="main_title">上传附件</p>--> | |||
| <!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | |||
| <!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | |||
| <!-- </div>--> | |||
| <p style="margin-top:20px;padding: 0 10px">附件{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p> | |||
| <van-cell v-for="(item,index) in fileList" :key="index"> | |||
| <a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a> | |||
| </van-cell> | |||
| </van-form> | |||
| <div class="main_box examine_box"> | |||
| <van-row type="flex" justify="space-between" align="center"> | |||
| <van-col span="5">审批<br/>意见</van-col> | |||
| <van-col span="19"> | |||
| <van-radio-group v-model="pass" direction="horizontal" :disabled="!isAudit"> | |||
| <van-radio name="true">同意</van-radio> | |||
| <van-radio name="false">驳回</van-radio> | |||
| </van-radio-group> | |||
| <van-field :readonly="!isAudit" rows="2" autosize v-model="comment" type="textarea" placeholder="请输入审批意见"/> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div style="margin: 16px 2%;" v-if="isAudit"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" @click="submitForm" class="submitButton">提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,approval,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import Dialog from "vant/lib/dialog"; | |||
| import Editor from '@/components/Editor'; | |||
| import {A_auditHistoryDetail} from "@/api/audit/aauditpipeline"; | |||
| export default { | |||
| name: "approvalAdd3", | |||
| name: "approvalApproval13", | |||
| components: { | |||
| Editor, | |||
| }, | |||
| data() { | |||
| return { | |||
| showtemplate:false, | |||
| majorType:'', | |||
| majorTypeOptions:[], | |||
| templateList:[], | |||
| title:false, | |||
| showcapital:false, | |||
| showpayee:false, | |||
| @@ -152,16 +180,30 @@ | |||
| }, | |||
| projectFundType:'', | |||
| uploadFiles:[], | |||
| // 审核意见默认值 | |||
| pass: "true", | |||
| comment: "同意", | |||
| templateList:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| this.getForm(); | |||
| this.getFileList(); | |||
| this.getDictionaries(); | |||
| this.getTemplateList(); | |||
| }, | |||
| methods: { | |||
| // 表单重置 | |||
| reset() { | |||
| this.form = { | |||
| majorType: null, | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| approvalTemplateId: null, | |||
| id: null, | |||
| upId: null, | |||
| downId: null, | |||
| @@ -199,10 +241,17 @@ | |||
| getForm(){ | |||
| getMajorevent(this.$route.query.id).then(response => { | |||
| this.form = response.data; | |||
| if(!this.isAudit) | |||
| { | |||
| A_auditHistoryDetail(this.$route.query.taskId).then((resp) => { | |||
| this.pass = resp.data.auditStatus === '3' ? "true" : 'false'; | |||
| this.comment = resp.data.auditRemark; | |||
| }); | |||
| } | |||
| }); | |||
| }, | |||
| goFlow(){ | |||
| window.location='approvalProcess13?id='+this.form.instanceId; | |||
| window.location='approvalProcess13?id='+this.$route.query.approvalTemplateId; | |||
| }, | |||
| getChange(){ | |||
| updateMajorevent(this.form).then(response => { | |||
| @@ -212,6 +261,62 @@ | |||
| },2000) | |||
| }); | |||
| }, | |||
| getDictionaries(){ | |||
| this.getDicts("major_type").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| getTemplateList(){ | |||
| let templateQueryParams = { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 999, | |||
| type:'5' | |||
| }; | |||
| listTemplate(templateQueryParams).then(response => { | |||
| this.templateList = response.rows; | |||
| }); | |||
| }, | |||
| tempalteFormat(id) { | |||
| let name = "" | |||
| this.templateList.map(res => { | |||
| if (res.id == id) { | |||
| console.log(res.name) | |||
| name = res.name | |||
| } | |||
| }) | |||
| return name | |||
| }, | |||
| majorTypeFormat(id) { | |||
| let name = "" | |||
| this.majorTypeOptions.map(res => { | |||
| if (res.value == id) { | |||
| console.log("majorTypeFormat"+res.text) | |||
| name = res.text | |||
| } | |||
| }) | |||
| return name | |||
| }, | |||
| onConfirmTemplate(data){ | |||
| selectApprovalByTemplateId(data.id).then(res => { | |||
| this.showtemplate = false; | |||
| if(res.approvalDetails.length>0){ | |||
| this.form.approvalTemplateName = data.name | |||
| this.form.approvalTemplateId = data.id | |||
| }else{ | |||
| this.form.approvalTemplateName = null | |||
| this.form.approvalTemplateId = null | |||
| this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' }); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCapital(data){ | |||
| this.majorType = data.text; | |||
| this.form.majorType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| @@ -233,16 +338,15 @@ | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_majorevent", | |||
| tableName: 't_yinnong_majorevent', | |||
| bizPath: "yinnong", | |||
| fileType: "", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| // this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| @@ -254,7 +358,38 @@ | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| /** 提交按钮 */ | |||
| submitForm() { | |||
| const data = { | |||
| taskId: this.$route.query.taskId, | |||
| auditbatchNo: this.$route.query.auditbatchNo, | |||
| remark: this.comment, | |||
| pass: this.pass === "true", | |||
| deptId: this.form.deptId | |||
| }; | |||
| approval(data).then((response) => { | |||
| if(response.code==200){ | |||
| this.$toast.success("操作成功"); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } else{ | |||
| this.$toast.success("操作失败"); | |||
| } | |||
| }); | |||
| }, | |||
| }, | |||
| watch: { | |||
| pass: function (val) { | |||
| if(this.isAudit) | |||
| this.comment = val === "true" ? "同意" : "驳回"; | |||
| }, | |||
| }, | |||
| computed: { | |||
| isAudit() { | |||
| return this.$route.query.type != 'done'; | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| @@ -277,9 +412,8 @@ | |||
| background-color: #FFF; | |||
| } | |||
| .submitButton{ | |||
| width: 80%; | |||
| width: 96%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| @@ -295,4 +429,29 @@ | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| .examine_box{ | |||
| background-color: #1D6FE9!important; | |||
| padding: 0.18rem!important; | |||
| padding-left: 0!important; | |||
| border-radius: 0.15rem!important; | |||
| margin-top: 0.3rem!important; | |||
| } | |||
| .examine_box .van-col:first-child{ | |||
| color: #FFF!important; | |||
| font-size: 0.45rem!important; | |||
| text-align: center!important; | |||
| } | |||
| .examine_box .van-col:last-child{ | |||
| background-color: #FFF!important; | |||
| border-radius: 0.15rem!important; | |||
| overflow: hidden!important; | |||
| .van-radio-group--horizontal{ | |||
| padding: 0.2rem 0; | |||
| border-bottom: 1px solid #eee; | |||
| } | |||
| } | |||
| /deep/.van-radio--horizontal{ | |||
| margin-left: 20px; | |||
| margin-right: 0; | |||
| } | |||
| </style> | |||
| @@ -1,228 +1,250 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">重大事项</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">重大事项</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.eventName" :value="item.auditStatus" center :to="{name:'sunVillageApprovalDetail13', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn3.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>{{item.eventTime}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'sunVillageApprovalModify13', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="附件" style="background-color: rgb(98,173,102,0.2);color: #62AD66;" @click="openLoader(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.eventName" :value="item.auditStatus" center :to="{name:'approvalDetail13', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn3.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>{{item.eventTime}}</p> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| <van-popup v-model="show" lock-scroll closeable position="top" :style="{ height: '30%' }" > | |||
| <div style="padding: 0 13% 0 5%;"> | |||
| <van-divider>附件</van-divider> | |||
| <van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile1" multiple /> | |||
| </div> | |||
| </van-popup> | |||
| </div> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify13', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='待审'" square text="撤回" type="danger" @click="cancelApply(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="附件" style="background-color: rgb(98,173,102,0.2);color: #62AD66;" @click="openLoader(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| <van-popup v-model="show" lock-scroll closeable position="top" :style="{ height: '30%' }" > | |||
| <div style="padding: 0 13% 0 5%;"> | |||
| <van-divider>附件</van-divider> | |||
| <van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile1" multiple /> | |||
| </div> | |||
| </van-popup> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { delMajorevent , customSubmitMajorevent , delTransfer , listMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { delMajorevent , customSubmitMajorevent , delTransfer , listMajorevent,updateTYinnongMajoreventFoStatus } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import {attachmentList, commonAttach, systemAttachment} from "@/api/sunVillage_info/fixedAssets"; | |||
| import request from "@/utils/request"; | |||
| export default { | |||
| name: "approvalList3", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| transferType:"3", | |||
| }, | |||
| show: false, | |||
| fileList:[], | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| projectIndex:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd13'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listMajorevent(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| name: "approvalList3", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| transferType:"3", | |||
| }, | |||
| openLoader(id,index){ | |||
| this.show = true; | |||
| this.projectId = id; | |||
| this.projectIndex = index; | |||
| this.fileList = []; | |||
| let oData1= { | |||
| tableId: id, | |||
| tableName: "t_yinnong_majorevent", | |||
| bizPath: "yinnong", | |||
| fileType: '', | |||
| } | |||
| attachmentList(oData1).then(res => { | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| }) | |||
| }) | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delMajorevent(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| show: false, | |||
| fileList:[], | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| projectIndex:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd13'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listMajorevent(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| customSubmitMajorevent(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }, 1000); | |||
| }, | |||
| openLoader(id,index){ | |||
| this.show = true; | |||
| this.projectId = id; | |||
| this.projectIndex = index; | |||
| this.fileList = []; | |||
| let oData1= { | |||
| tableId: id, | |||
| tableName: "t_yinnong_majorevent", | |||
| bizPath: "yinnong", | |||
| fileType: '', | |||
| } | |||
| attachmentList(oData1).then(res => { | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }) | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delMajorevent(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }, | |||
| afterRead(file) { | |||
| // 此时可以自行将文件上传至服务器 | |||
| this.uploadFiles1.push(file.file); | |||
| let params1 = new FormData(); | |||
| params1.append("tableId", this.projectId); | |||
| params1.append("tableName", "t_yinnong_transfer"); | |||
| params1.append("bizPath", "transfer"); | |||
| params1.append("fileType", 'bookkeeping_type'); | |||
| params1.append("file", file.file); | |||
| commonAttach(params1).then((r1) => { | |||
| this.$notify({ type: 'success', message: '上传成功' }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| customSubmitMajorevent(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }, | |||
| deleteFile1(file){ | |||
| console.log(file) | |||
| systemAttachment(file.id).then(res => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| cancelApply(id) { | |||
| const form = {}; | |||
| form.id = id; | |||
| debugger; | |||
| this.$dialog.confirm({ | |||
| message: '您确认撤回申请?', | |||
| }) | |||
| .then(() => { | |||
| return updateTYinnongMajoreventFoStatus(form).then(response => { | |||
| this.$toast.success('撤回成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }, | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| afterRead(file) { | |||
| // 此时可以自行将文件上传至服务器 | |||
| this.uploadFiles1.push(file.file); | |||
| let params1 = new FormData(); | |||
| params1.append("tableId", this.projectId); | |||
| params1.append("tableName", "t_yinnong_transfer"); | |||
| params1.append("bizPath", "transfer"); | |||
| params1.append("fileType", 'bookkeeping_type'); | |||
| params1.append("file", file.file); | |||
| commonAttach(params1).then((r1) => { | |||
| this.$notify({ type: 'success', message: '上传成功' }); | |||
| }) | |||
| }, | |||
| deleteFile1(file){ | |||
| console.log(file) | |||
| systemAttachment(file.id).then(res => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| }) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -22,6 +22,27 @@ | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项名称' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择事项类型' }]" | |||
| label="事项类型" | |||
| placeholder="请选择" | |||
| v-model="majorType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="majorTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -45,8 +66,27 @@ | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="审批流程" | |||
| placeholder="请选择" | |||
| v-model="form.approvalTemplateName" | |||
| @click="showtemplate = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择审批流程' }]" | |||
| /> | |||
| <van-popup v-model="showtemplate" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| value-key="name" | |||
| :columns="templateList" | |||
| @confirm="onConfirmTemplate" | |||
| @cancel="showtemplate = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| @@ -61,21 +101,19 @@ | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="备注" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入备注" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| /> | |||
| </div> | |||
| <!-- <p class="main_title">上传附件</p>--> | |||
| <!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | |||
| <!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | |||
| @@ -99,7 +137,7 @@ | |||
| </template> | |||
| <script> | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import Dialog from "vant/lib/dialog"; | |||
| import Editor from '@/components/Editor'; | |||
| @@ -111,6 +149,7 @@ | |||
| data() { | |||
| return { | |||
| title:false, | |||
| showtemplate:false, | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| @@ -129,6 +168,7 @@ | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| majorType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| @@ -138,6 +178,8 @@ | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| majorTypeOptions:[], | |||
| templateList:[], | |||
| projectListShow:[], | |||
| payerOptions:[], | |||
| @@ -168,6 +210,7 @@ | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| this.getTemplateList(); | |||
| this.getForm(); | |||
| }, | |||
| methods: { | |||
| @@ -189,12 +232,19 @@ | |||
| enterpriseCode: null, | |||
| expenditureAmount: null, | |||
| capitalExpenditureType: '1', | |||
| majorType: null, | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| remark: null, | |||
| transferStatus: "0", | |||
| auditStatus: "0", | |||
| paymentState: "1", | |||
| bankPriority: "0", | |||
| clientPriority: "0" | |||
| clientPriority: "0", | |||
| approvalTemplateId: null | |||
| }; | |||
| this.processList = {} | |||
| this.projectForm={ | |||
| @@ -211,6 +261,17 @@ | |||
| getForm(){ | |||
| getMajorevent(this.$route.query.id).then(response => { | |||
| this.form = response.data; | |||
| this.getDicts("major_type").then((res) => { | |||
| this.majorType = this.selectDictLabel(res.data, response.data.majorType); | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.templateList.map(ra => { | |||
| if (ra.id == response.data.approvalTemplateId) { | |||
| this.form.approvalTemplateName = ra.name | |||
| } | |||
| }) | |||
| }); | |||
| }, | |||
| goFlow(){ | |||
| @@ -228,6 +289,35 @@ | |||
| },2000) | |||
| }); | |||
| }, | |||
| getTemplateList(){ | |||
| let templateQueryParams = { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 999, | |||
| type:'5' | |||
| }; | |||
| listTemplate(templateQueryParams).then(response => { | |||
| this.templateList = response.rows; | |||
| }); | |||
| }, | |||
| onConfirmTemplate(data){ | |||
| selectApprovalByTemplateId(data.id).then(res => { | |||
| this.showtemplate = false; | |||
| if(res.approvalDetails.length>0){ | |||
| this.form.approvalTemplateName = data.name | |||
| this.form.approvalTemplateId = data.id | |||
| }else{ | |||
| this.form.approvalTemplateName = null | |||
| this.form.approvalTemplateId = null | |||
| this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' }); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCapital(data){ | |||
| this.majorType = data.text; | |||
| this.form.majorType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| @@ -25,6 +25,27 @@ | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项名称' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择事项类型' }]" | |||
| label="事项类型" | |||
| placeholder="请选择" | |||
| v-model="majorType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="majorTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -48,8 +69,27 @@ | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="审批流程" | |||
| placeholder="请选择" | |||
| v-model="form.approvalTemplateName" | |||
| @click="showtemplate = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择审批流程' }]" | |||
| /> | |||
| <van-popup v-model="showtemplate" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| value-key="name" | |||
| :columns="templateList" | |||
| @confirm="onConfirmTemplate" | |||
| @cancel="showtemplate = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| @@ -60,23 +100,22 @@ | |||
| v-model="form.eventContent" | |||
| type="textarea" | |||
| placeholder="请输入事项内容" | |||
| rows="8" | |||
| rows="4" | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="备注" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入备注" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| /> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| <!-- <p class="main_title">上传附件</p>--> | |||
| @@ -102,7 +141,7 @@ | |||
| </template> | |||
| <script> | |||
| import {addMajorevent , customSubmitMajorevent , attachmentList } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import {addMajorevent , customSubmitMajorevent , attachmentList,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import Dialog from "vant/lib/dialog"; | |||
| import Editor from '@/components/Editor'; | |||
| @@ -115,6 +154,7 @@ | |||
| data() { | |||
| return { | |||
| title:false, | |||
| showtemplate:false, | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| @@ -133,6 +173,7 @@ | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| majorType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| @@ -142,6 +183,8 @@ | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| majorTypeOptions:[], | |||
| templateList:[], | |||
| projectListShow:[], | |||
| payerOptions:[], | |||
| @@ -172,6 +215,8 @@ | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| this.getDictionaries(); | |||
| this.getTemplateList(); | |||
| }, | |||
| methods: { | |||
| // 表单重置 | |||
| @@ -192,12 +237,19 @@ | |||
| enterpriseCode: null, | |||
| expenditureAmount: null, | |||
| capitalExpenditureType: '1', | |||
| majorType: null, | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| remark: null, | |||
| transferStatus: "0", | |||
| auditStatus: "0", | |||
| paymentState: "1", | |||
| bankPriority: "0", | |||
| clientPriority: "0" | |||
| clientPriority: "0", | |||
| approvalTemplateId: null | |||
| }; | |||
| this.processList = {} | |||
| this.projectForm={ | |||
| @@ -226,6 +278,42 @@ | |||
| },2000) | |||
| }); | |||
| }, | |||
| getDictionaries(){ | |||
| this.getDicts("major_type").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| getTemplateList(){ | |||
| let templateQueryParams = { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 999, | |||
| type:'5' | |||
| }; | |||
| listTemplate(templateQueryParams).then(response => { | |||
| this.templateList = response.rows; | |||
| }); | |||
| }, | |||
| onConfirmTemplate(data){ | |||
| selectApprovalByTemplateId(data.id).then(res => { | |||
| this.showtemplate = false; | |||
| if(res.approvalDetails.length>0){ | |||
| this.form.approvalTemplateName = data.name | |||
| this.form.approvalTemplateId = data.id | |||
| }else{ | |||
| this.form.approvalTemplateName = null | |||
| this.form.approvalTemplateId = null | |||
| this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' }); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCapital(data){ | |||
| this.majorType = data.text; | |||
| this.form.majorType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| @@ -19,20 +19,23 @@ | |||
| <van-field | |||
| label="事项名称" | |||
| v-model="form.eventName" | |||
| placeholder="事项名称" | |||
| placeholder="请输入事项名称" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'事项名称' }]" | |||
| :rules="[{ required: true , message:'请输入事项名称' }]" | |||
| /> | |||
| <van-field readonly label="事项类型" :value="majorTypeFormat(form.majorType)" | |||
| input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'发生日期' }]" | |||
| :rules="[{ required: true , message:'请选择发生日期' }]" | |||
| v-model="form.eventTime" | |||
| label="发生日期" | |||
| placeholder="发生日期" | |||
| placeholder="请选择发生日期" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| @@ -47,8 +50,8 @@ | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)" | |||
| input-align="right" label-width="auto"/> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| @@ -58,30 +61,24 @@ | |||
| <van-field | |||
| v-model="form.eventContent" | |||
| type="textarea" | |||
| placeholder="事项内容" | |||
| rows="8" | |||
| placeholder="请输入事项内容" | |||
| rows="4" | |||
| required | |||
| :rules="[{ required: true , message:'事项内容' }]" | |||
| /> | |||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="备注" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="备注" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| <!-- <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader> | |||
| </div> --> | |||
| <p style="margin-top:20px;padding: 0 10px">附件{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p> | |||
| <van-cell v-for="(item,index) in fileList" :key="index"> | |||
| <a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a> | |||
| @@ -112,7 +109,7 @@ | |||
| </template> | |||
| <script> | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,approval } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,approval,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import Dialog from "vant/lib/dialog"; | |||
| import Editor from '@/components/Editor'; | |||
| @@ -124,6 +121,11 @@ | |||
| }, | |||
| data() { | |||
| return { | |||
| showtemplate:false, | |||
| majorType:'', | |||
| majorTypeOptions:[], | |||
| templateList:[], | |||
| title:false, | |||
| showcapital:false, | |||
| showpayee:false, | |||
| @@ -188,11 +190,20 @@ | |||
| this.reset(); | |||
| this.getForm(); | |||
| this.getFileList(); | |||
| this.getDictionaries(); | |||
| this.getTemplateList(); | |||
| }, | |||
| methods: { | |||
| // 表单重置 | |||
| reset() { | |||
| this.form = { | |||
| majorType: null, | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| approvalTemplateId: null, | |||
| id: null, | |||
| upId: null, | |||
| downId: null, | |||
| @@ -240,7 +251,7 @@ | |||
| }); | |||
| }, | |||
| goFlow(){ | |||
| window.location='approvalProcess13?id='+this.$route.query.auditbatchNo; | |||
| window.location='approvalProcess13?id='+this.$route.query.approvalTemplateId; | |||
| }, | |||
| getChange(){ | |||
| updateMajorevent(this.form).then(response => { | |||
| @@ -250,6 +261,62 @@ | |||
| },2000) | |||
| }); | |||
| }, | |||
| getDictionaries(){ | |||
| this.getDicts("major_type").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| getTemplateList(){ | |||
| let templateQueryParams = { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 999, | |||
| type:'5' | |||
| }; | |||
| listTemplate(templateQueryParams).then(response => { | |||
| this.templateList = response.rows; | |||
| }); | |||
| }, | |||
| tempalteFormat(id) { | |||
| let name = "" | |||
| this.templateList.map(res => { | |||
| if (res.id == id) { | |||
| console.log(res.name) | |||
| name = res.name | |||
| } | |||
| }) | |||
| return name | |||
| }, | |||
| majorTypeFormat(id) { | |||
| let name = "" | |||
| this.majorTypeOptions.map(res => { | |||
| if (res.value == id) { | |||
| console.log("majorTypeFormat"+res.text) | |||
| name = res.text | |||
| } | |||
| }) | |||
| return name | |||
| }, | |||
| onConfirmTemplate(data){ | |||
| selectApprovalByTemplateId(data.id).then(res => { | |||
| this.showtemplate = false; | |||
| if(res.approvalDetails.length>0){ | |||
| this.form.approvalTemplateName = data.name | |||
| this.form.approvalTemplateId = data.id | |||
| }else{ | |||
| this.form.approvalTemplateName = null | |||
| this.form.approvalTemplateId = null | |||
| this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' }); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCapital(data){ | |||
| this.majorType = data.text; | |||
| this.form.majorType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| @@ -19,20 +19,23 @@ | |||
| <van-field | |||
| label="事项名称" | |||
| v-model="form.eventName" | |||
| placeholder="事项名称" | |||
| placeholder="请输入事项名称" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'事项名称' }]" | |||
| :rules="[{ required: true , message:'请输入事项名称' }]" | |||
| /> | |||
| <van-field readonly label="事项类型" :value="majorTypeFormat(form.majorType)" | |||
| input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'发生日期' }]" | |||
| :rules="[{ required: true , message:'请选择发生日期' }]" | |||
| v-model="form.eventTime" | |||
| label="发生日期" | |||
| placeholder="发生日期" | |||
| placeholder="请选择发生日期" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| @@ -47,8 +50,8 @@ | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)" | |||
| input-align="right" label-width="auto"/> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| @@ -58,36 +61,30 @@ | |||
| <van-field | |||
| v-model="form.eventContent" | |||
| type="textarea" | |||
| placeholder="事项内容" | |||
| rows="8" | |||
| placeholder="请输入事项内容" | |||
| rows="4" | |||
| required | |||
| :rules="[{ required: true , message:'事项内容' }]" | |||
| /> | |||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="备注" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="备注" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| <!-- <p class="main_title">上传附件</p>--> | |||
| <!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | |||
| <!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | |||
| <!-- </div>--> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import Dialog from "vant/lib/dialog"; | |||
| import Editor from '@/components/Editor'; | |||
| @@ -98,6 +95,11 @@ | |||
| }, | |||
| data() { | |||
| return { | |||
| showtemplate:false, | |||
| majorType:'', | |||
| majorTypeOptions:[], | |||
| templateList:[], | |||
| title:false, | |||
| showcapital:false, | |||
| showpayee:false, | |||
| @@ -156,12 +158,21 @@ | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| this.getDictionaries(); | |||
| this.getTemplateList(); | |||
| this.getForm(); | |||
| }, | |||
| methods: { | |||
| // 表单重置 | |||
| reset() { | |||
| this.form = { | |||
| majorType: null, | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| approvalTemplateId: null, | |||
| id: null, | |||
| upId: null, | |||
| downId: null, | |||
| @@ -202,7 +213,7 @@ | |||
| }); | |||
| }, | |||
| goFlow(){ | |||
| window.location='approvalProcess13?id='+this.form.instanceId; | |||
| window.location='approvalProcess13?id='+this.form.approvalTemplateId; | |||
| }, | |||
| getChange(){ | |||
| updateMajorevent(this.form).then(response => { | |||
| @@ -212,6 +223,62 @@ | |||
| },2000) | |||
| }); | |||
| }, | |||
| getDictionaries(){ | |||
| this.getDicts("major_type").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| getTemplateList(){ | |||
| let templateQueryParams = { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 999, | |||
| type:'5' | |||
| }; | |||
| listTemplate(templateQueryParams).then(response => { | |||
| this.templateList = response.rows; | |||
| }); | |||
| }, | |||
| tempalteFormat(id) { | |||
| let name = "" | |||
| this.templateList.map(res => { | |||
| if (res.id == id) { | |||
| console.log(res.name) | |||
| name = res.name | |||
| } | |||
| }) | |||
| return name | |||
| }, | |||
| majorTypeFormat(id) { | |||
| let name = "" | |||
| this.majorTypeOptions.map(res => { | |||
| if (res.value == id) { | |||
| console.log("majorTypeFormat"+res.text) | |||
| name = res.text | |||
| } | |||
| }) | |||
| return name | |||
| }, | |||
| onConfirmTemplate(data){ | |||
| selectApprovalByTemplateId(data.id).then(res => { | |||
| this.showtemplate = false; | |||
| if(res.approvalDetails.length>0){ | |||
| this.form.approvalTemplateName = data.name | |||
| this.form.approvalTemplateId = data.id | |||
| }else{ | |||
| this.form.approvalTemplateName = null | |||
| this.form.approvalTemplateId = null | |||
| this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' }); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCapital(data){ | |||
| this.majorType = data.text; | |||
| this.form.majorType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| @@ -38,6 +38,9 @@ | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='待审'" square text="撤回" type="danger" @click="cancelApply(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| @@ -58,7 +61,7 @@ | |||
| </template> | |||
| <script> | |||
| import { delMajorevent , customSubmitMajorevent , delTransfer , listMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { delMajorevent , customSubmitMajorevent , delTransfer , listMajorevent,updateTYinnongMajoreventFoStatus } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import {attachmentList, commonAttach, systemAttachment} from "@/api/sunVillage_info/fixedAssets"; | |||
| import request from "@/utils/request"; | |||
| export default { | |||
| @@ -159,6 +162,25 @@ export default { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| cancelApply(id) { | |||
| const form = {}; | |||
| form.id = id; | |||
| debugger; | |||
| this.$dialog.confirm({ | |||
| message: '您确认撤回申请?', | |||
| }) | |||
| .then(() => { | |||
| return updateTYinnongMajoreventFoStatus(form).then(response => { | |||
| this.$toast.success('撤回成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| afterRead(file) { | |||
| // 此时可以自行将文件上传至服务器 | |||
| this.uploadFiles1.push(file.file); | |||
| @@ -22,6 +22,27 @@ | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项名称' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择事项类型' }]" | |||
| label="事项类型" | |||
| placeholder="请选择" | |||
| v-model="majorType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="majorTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -45,8 +66,27 @@ | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="审批流程" | |||
| placeholder="请选择" | |||
| v-model="form.approvalTemplateName" | |||
| @click="showtemplate = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择审批流程' }]" | |||
| /> | |||
| <van-popup v-model="showtemplate" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| value-key="name" | |||
| :columns="templateList" | |||
| @confirm="onConfirmTemplate" | |||
| @cancel="showtemplate = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| @@ -61,21 +101,19 @@ | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <!-- <editor v-model="form.eventContent" :min-height="192"/>--> | |||
| <!-- <quill-editors @ChangeText="(text)=>{form.eventContent=text}" :title="title" />--> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="备注" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入备注" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| /> | |||
| </div> | |||
| <!-- <p class="main_title">上传附件</p>--> | |||
| <!-- <div class="main_box" style="padding: 5px 0 0 8px;">--> | |||
| <!-- <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>--> | |||
| @@ -99,7 +137,7 @@ | |||
| </template> | |||
| <script> | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import Dialog from "vant/lib/dialog"; | |||
| import Editor from '@/components/Editor'; | |||
| @@ -111,6 +149,7 @@ | |||
| data() { | |||
| return { | |||
| title:false, | |||
| showtemplate:false, | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| @@ -129,6 +168,7 @@ | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| majorType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| @@ -138,6 +178,8 @@ | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| majorTypeOptions:[], | |||
| templateList:[], | |||
| projectListShow:[], | |||
| payerOptions:[], | |||
| @@ -168,6 +210,7 @@ | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| this.getTemplateList(); | |||
| this.getForm(); | |||
| }, | |||
| methods: { | |||
| @@ -189,12 +232,19 @@ | |||
| enterpriseCode: null, | |||
| expenditureAmount: null, | |||
| capitalExpenditureType: '1', | |||
| majorType: null, | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| remark: null, | |||
| transferStatus: "0", | |||
| auditStatus: "0", | |||
| paymentState: "1", | |||
| bankPriority: "0", | |||
| clientPriority: "0" | |||
| clientPriority: "0", | |||
| approvalTemplateId: null | |||
| }; | |||
| this.processList = {} | |||
| this.projectForm={ | |||
| @@ -211,6 +261,17 @@ | |||
| getForm(){ | |||
| getMajorevent(this.$route.query.id).then(response => { | |||
| this.form = response.data; | |||
| this.getDicts("major_type").then((res) => { | |||
| this.majorType = this.selectDictLabel(res.data, response.data.majorType); | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.majorTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.templateList.map(ra => { | |||
| if (ra.id == response.data.approvalTemplateId) { | |||
| this.form.approvalTemplateName = ra.name | |||
| } | |||
| }) | |||
| }); | |||
| }, | |||
| goFlow(){ | |||
| @@ -228,6 +289,35 @@ | |||
| },2000) | |||
| }); | |||
| }, | |||
| getTemplateList(){ | |||
| let templateQueryParams = { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 999, | |||
| type:'5' | |||
| }; | |||
| listTemplate(templateQueryParams).then(response => { | |||
| this.templateList = response.rows; | |||
| }); | |||
| }, | |||
| onConfirmTemplate(data){ | |||
| selectApprovalByTemplateId(data.id).then(res => { | |||
| this.showtemplate = false; | |||
| if(res.approvalDetails.length>0){ | |||
| this.form.approvalTemplateName = data.name | |||
| this.form.approvalTemplateId = data.id | |||
| }else{ | |||
| this.form.approvalTemplateName = null | |||
| this.form.approvalTemplateId = null | |||
| this.$notify({ type: 'danger', message: '此流程无节点,无法选择!' }); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCapital(data){ | |||
| this.majorType = data.text; | |||
| this.form.majorType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| @@ -1,173 +1,116 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">审批历史</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-row v-if="approvalTemplateDetailList.length>0" v-for="(item1,index) in approvalTemplateDetailList" :key="index"> | |||
| <van-col span="4" align="right"> | |||
| <p :class="{'icon_jian': true, 'red': item1.auditStatus=='2', 'blue': item1.auditStatus=='3', }" ><van-icon :name="getIconClass(item1)" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="20"> | |||
| <van-row> | |||
| <van-col span="9" style="padding: 0;" :class="{ 'textRed': item1.auditStatus=='2', 'textBlue': item1.auditStatus=='3' }"> | |||
| <p>{{item1.actorName}}</p> | |||
| </van-col> | |||
| <van-col span="15" style="padding: 0;"> | |||
| <p style="text-align: right;" :class="{ 'textRed': item1.auditStatus=='2', 'textBlue': item1.auditStatus=='3' }">{{item1.startTime}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row style="font-size: .36rem"> | |||
| <van-col span="9" style="padding: 0;"> | |||
| <p :class="{ 'textRed': item1.auditStatus=='2', 'textBlue': item1.auditStatus=='3' }">{{item1.auditBy}}</p> | |||
| </van-col> | |||
| <van-col span="15" style="padding: 0;"> | |||
| <p style="text-align: right;" :class="{ 'textRed': item1.auditStatus=='2', 'textBlue': item1.auditStatus=='3' }">{{item1.auditRemark}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">审批流程</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <!-- <van-divider content-position="center" v-if="approvalTemplateDetailList.length>0"><h4>审批流程</h4></van-divider> --> | |||
| <van-row v-if="approvalTemplateDetailList.length>0" v-for="(item1,index,i) in approvalTemplateDetailList" :key="i"> | |||
| <van-col span="4" align="right"> | |||
| <p class="icon_jian" ><van-icon name="minus" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="20"> | |||
| <van-row> | |||
| <van-col span="12" style="padding: 0;"> | |||
| <p>{{item1.name}}</p> | |||
| </van-col> | |||
| <van-col span="12" style="padding: 0;"> | |||
| <p v-show="item1.approvalLevel == 1">组级审批</p> | |||
| <p v-show="item1.approvalLevel == 2">村级审批</p> | |||
| <p v-show="item1.approvalLevel == 3">镇级审批</p> | |||
| <p v-show="item1.approvalLevel == 4">区县审批</p> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;"> | |||
| <p>{{item1.nickName}}<span v-if="item1.feeLimit != 0 && item1.nickName != null">({{item1.feeLimit}}元)</span></p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {A_auditHistoryList} from "@/api/audit/aauditpipeline"; | |||
| import {selectApprovalByTemplateId} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalProcess13", | |||
| data() { | |||
| return { | |||
| approvalTemplateDetailList:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getHistoryList(this.$route.query.id); | |||
| }, | |||
| methods: { | |||
| getHistoryList(instanceId) { | |||
| this.loading = true; | |||
| A_auditHistoryList(instanceId).then((response) => { | |||
| this.approvalTemplateDetailList = response.rows; | |||
| this.approvalTemplateDetailList.forEach((row) => { | |||
| row.startTime = this.format(row.startTime, "yyyy-MM-dd HH:mm:ss"); | |||
| row.auditTime = this.format(row.auditTime, "yyyy-MM-dd HH:mm:ss"); | |||
| row.duration = this.formatTotalDateSub( | |||
| row.duration / 1000 | |||
| ); | |||
| }); | |||
| this.total = response.total; | |||
| this.loading = false; | |||
| }) | |||
| .then(() => {}); | |||
| }, | |||
| formatTotalDateSub (secondSub) { | |||
| var days = Math.floor(secondSub / (24 * 3600)); // 计算出小时数 | |||
| var leave1 = secondSub % (24*3600) ; // 计算天数后剩余的毫秒数 | |||
| var hours = Math.floor(leave1 / 3600); // 计算相差分钟数 | |||
| var leave2 = leave1 % (3600); // 计算小时数后剩余的毫秒数 | |||
| var minutes = Math.floor(leave2 / 60); // 计算相差秒数 | |||
| var leave3 = leave2 % 60; // 计算分钟数后剩余的毫秒数 | |||
| var seconds = Math.round(leave3); | |||
| return days + "天" + hours + "时" + minutes + "分" + seconds + '秒'; | |||
| }, | |||
| format(time, format) { | |||
| var t = new Date(time); | |||
| var tf = function (i) { return (i < 10 ? '0' : '') + i }; | |||
| return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) { | |||
| switch (a) { | |||
| case 'yyyy': | |||
| return tf(t.getFullYear()); | |||
| break; | |||
| case 'MM': | |||
| return tf(t.getMonth() + 1); | |||
| break; | |||
| case 'mm': | |||
| return tf(t.getMinutes()); | |||
| break; | |||
| case 'dd': | |||
| return tf(t.getDate()); | |||
| break; | |||
| case 'HH': | |||
| return tf(t.getHours()); | |||
| break; | |||
| case 'ss': | |||
| return tf(t.getSeconds()); | |||
| break; | |||
| } | |||
| }) | |||
| }, | |||
| getIconClass(item) { | |||
| switch(item.auditStatus) | |||
| { | |||
| case '2': | |||
| default: | |||
| return 'close'; | |||
| case '3': | |||
| return 'success'; | |||
| case '1': | |||
| return 'minus'; | |||
| } | |||
| }, | |||
| name: "approvalProcess13", | |||
| data() { | |||
| return { | |||
| approvalTemplateDetailList:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getApprovalByTemplateId(this.$route.query.id); | |||
| }, | |||
| methods: { | |||
| getApprovalByTemplateId(approvalTemplateId) { | |||
| this.loading = true; | |||
| selectApprovalByTemplateId(approvalTemplateId).then(rs => { | |||
| this.approvalTemplateDetailList = rs.approvalDetails; | |||
| }) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 0; | |||
| } | |||
| .main_box{ | |||
| width: 96%; | |||
| margin: 0 auto; | |||
| border-radius: 6px; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| overflow: hidden; | |||
| background-color: #FFF; | |||
| padding: 20Px 0; | |||
| } | |||
| .icon_jian{ | |||
| background-color: #C9C9C9; | |||
| display: inline-block; | |||
| width: 20Px; | |||
| height: 20Px; | |||
| line-height: 24Px; | |||
| text-align: center; | |||
| border-radius: 50%; | |||
| color: #FFF; | |||
| } | |||
| .blue{ | |||
| background-color: #07c160; | |||
| } | |||
| .red{ | |||
| background-color: rgb(245, 108, 108); | |||
| } | |||
| .textBlue{ | |||
| color: #1D6FE9!important; | |||
| } | |||
| .textRed{ | |||
| color: rgb(245, 108, 108)!important; | |||
| } | |||
| .van-col{ | |||
| padding: 10Px 10Px; | |||
| } | |||
| .van-col:nth-child(2){ | |||
| font-size: 16Px; | |||
| color: #878787; | |||
| line-height: 22Px; | |||
| } | |||
| .app-container { | |||
| padding: 0.2rem 0; | |||
| } | |||
| .main_box{ | |||
| width: 96%; | |||
| margin: 0 auto; | |||
| border-radius: 6px; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| overflow: hidden; | |||
| background-color: #FFF; | |||
| padding: 20Px 0; | |||
| } | |||
| .icon_jian{ | |||
| background-color: #C9C9C9; | |||
| display: inline-block; | |||
| width: 20Px; | |||
| height: 20Px; | |||
| line-height: 24Px; | |||
| text-align: center; | |||
| border-radius: 50%; | |||
| color: #FFF; | |||
| } | |||
| .blue{ | |||
| background-color: #07c160; | |||
| } | |||
| .red{ | |||
| background-color: rgb(245, 108, 108); | |||
| } | |||
| .textBlue{ | |||
| color: #1D6FE9!important; | |||
| } | |||
| .textRed{ | |||
| color: rgb(245, 108, 108)!important; | |||
| } | |||
| .van-col{ | |||
| padding: 10Px 10Px; | |||
| } | |||
| .van-col:nth-child(2){ | |||
| font-size: 16Px; | |||
| color: #878787; | |||
| line-height: 22Px; | |||
| } | |||
| .van-row{ | |||
| .van-row{ | |||
| .van-row{ | |||
| .van-col{ | |||
| padding: 0 0 5Px 0!important; | |||
| color: #878787; | |||
| } | |||
| .van-col{ | |||
| padding: 0 0 5Px 0!important; | |||
| color: #878787; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||