| @@ -0,0 +1,53 @@ | |||||
| import request from '@/utils/request'; | |||||
| // 获取承包方列表 | |||||
| export function listCbf(params) { | |||||
| return request({ | |||||
| url: '/service/cbf/list', | |||||
| method: 'get', | |||||
| params: params | |||||
| }); | |||||
| } | |||||
| // 获取承包方详情 | |||||
| export function getCbf(cbfbm) { | |||||
| return request({ | |||||
| url: '/service/cbf/obtain/' + cbfbm, | |||||
| method: 'get', | |||||
| }); | |||||
| } | |||||
| // 新增承包方信息 | |||||
| export function addCbf(data) { | |||||
| return request({ | |||||
| url: '/service/cbf/add', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| } | |||||
| // 更新承包方信息 | |||||
| export function updateCbf(data) { | |||||
| return request({ | |||||
| url: '/service/cbf/edit', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| // 删除承包方信息 | |||||
| export function deleteCbf(id) { | |||||
| return request({ | |||||
| url: '/service/cbf/mobile/remove/' + id, | |||||
| method: 'get' | |||||
| }); | |||||
| } | |||||
| // 生成承包方编码 | |||||
| export function generateContractorCode(params) { | |||||
| return request({ | |||||
| url: '/service/cbf/generateCode', | |||||
| method: 'get', | |||||
| params: params | |||||
| }); | |||||
| } | |||||
| @@ -1,18 +1,17 @@ | |||||
| import request from '@/utils/request'; | import request from '@/utils/request'; | ||||
| // 获取确权调查任务列表 | |||||
| export function listSurveyTask(params) { | |||||
| // 根据deptId获取部门信息 | |||||
| export function getDept(deptId) { | |||||
| return request({ | return request({ | ||||
| url: '/service/landsurvey/mobile/list', | |||||
| method: 'get', | |||||
| params: params | |||||
| url: '/system/dept/get/' + deptId, | |||||
| method: 'get' | |||||
| }); | }); | ||||
| } | } | ||||
| // 获取承包方列表 | |||||
| export function listCbf(params) { | |||||
| // 获取确权调查任务列表 | |||||
| export function listSurveyTask(params) { | |||||
| return request({ | return request({ | ||||
| url: '/service/cbf/list', | |||||
| url: '/service/landsurvey/mobile/list', | |||||
| method: 'get', | method: 'get', | ||||
| params: params | params: params | ||||
| }); | }); | ||||
| @@ -5558,6 +5558,15 @@ export const constantRoutes = [ | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/contracted/village/contractor/contractorDetail'], resolve) | component: (resolve) => require(['@/views/contracted/village/contractor/contractorDetail'], resolve) | ||||
| }, | }, | ||||
| { | |||||
| path: '/contracted/village/contractorDetailAdd', | |||||
| name: 'contractedVillageContractorDetailAdd', | |||||
| meta: { | |||||
| title: '新增承包方信息', | |||||
| hidden: true, | |||||
| }, | |||||
| component: (resolve) => require(['@/views/contracted/village/contractor/contractorDetailAdd'], resolve) | |||||
| }, | |||||
| { | { | ||||
| path: '/contracted/village/contractorFamily', | path: '/contracted/village/contractorFamily', | ||||
| name: 'contractedVillageContractorFamily', | name: 'contractedVillageContractorFamily', | ||||
| @@ -1,13 +1,14 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container"> | <div class="app-container"> | ||||
| <van-nav-bar left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/village/contractor'})" > | |||||
| <!-- <van-nav-bar left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/village/contractor'})" > | |||||
| <template #title> | <template #title> | ||||
| <div class="tb_main"> | <div class="tb_main"> | ||||
| B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| </van-nav-bar> | |||||
| </van-nav-bar> --> | |||||
| <contractor-header></contractor-header> | |||||
| <div class="tap_block"> | <div class="tap_block"> | ||||
| <p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | <p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | ||||
| @@ -127,8 +128,13 @@ | |||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
| import contractorHeader from "./contractorHeader"; | |||||
| export default { | export default { | ||||
| name: "contractedVillageContractor", | name: "contractedVillageContractor", | ||||
| components: { | |||||
| contractorHeader | |||||
| }, | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| loading:false, | loading:false, | ||||
| @@ -213,7 +219,7 @@ | |||||
| overflow: initial; | overflow: initial; | ||||
| } | } | ||||
| .tb_main{ | |||||
| /* .tb_main{ | |||||
| position: relative; | position: relative; | ||||
| p{ | p{ | ||||
| position: absolute; | position: absolute; | ||||
| @@ -230,7 +236,7 @@ | |||||
| padding: 2PX 8PX; | padding: 2PX 8PX; | ||||
| border-radius: 50PX; | border-radius: 50PX; | ||||
| margin-right: 5PX; | margin-right: 5PX; | ||||
| } | |||||
| } */ | |||||
| .tap_block{ | .tap_block{ | ||||
| width: 100%; | width: 100%; | ||||
| @@ -54,7 +54,7 @@ | |||||
| <van-col span="5" style="color: #f78200">{{ item.cbfcysl }}</van-col> | <van-col span="5" style="color: #f78200">{{ item.cbfcysl }}</van-col> | ||||
| </van-row> | </van-row> | ||||
| <template #right> | <template #right> | ||||
| <van-button square type="danger" text="删除" /> | |||||
| <van-button square type="danger" text="删除" native-type="button" @click="deleteContractor(item.id, index)" /> | |||||
| </template> | </template> | ||||
| </van-swipe-cell> | </van-swipe-cell> | ||||
| </van-list> | </van-list> | ||||
| @@ -65,7 +65,7 @@ | |||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
| import { listCbf } from "@/api/contracted"; | |||||
| import { listCbf, deleteCbf } from "@/api/contracted/cbf"; | |||||
| export default { | export default { | ||||
| name: "contractedVillageContractor", | name: "contractedVillageContractor", | ||||
| @@ -141,10 +141,38 @@ | |||||
| this.getList(); | this.getList(); | ||||
| }, | }, | ||||
| goDetail(item){ | goDetail(item){ | ||||
| this.$router.push({path:'/contracted/village/contractorDetail'}); | |||||
| this.$router.push({ | |||||
| name: 'contractedVillageContractorDetail', | |||||
| params: { | |||||
| deptId: item.deptId, | |||||
| cbfbm: item.cbfbm, | |||||
| cbfmc: item.cbfmc, | |||||
| surveyStatus: item.surveyStatus | |||||
| } | |||||
| }); | |||||
| }, | }, | ||||
| addContractor() { | addContractor() { | ||||
| this.$router.push({path:'/contracted/village/contractorDetail'}); | |||||
| this.$router.push({ | |||||
| name: 'contractedVillageContractorDetailAdd', | |||||
| params: { | |||||
| deptId: this.$route.query.deptId | |||||
| } | |||||
| }); | |||||
| }, | |||||
| deleteContractor(id, index) { | |||||
| this.$dialog.confirm({ | |||||
| message: '是否确认删除此承包方信息?', | |||||
| }).then(() => { | |||||
| // on confirm | |||||
| deleteCbf(id).then(res => { | |||||
| if(res.code == 200){ | |||||
| this.$toast.success('删除成功'); | |||||
| this.cbfList.splice(index, 1); | |||||
| } | |||||
| }); | |||||
| }).catch(() => { | |||||
| // on cancel | |||||
| }); | |||||
| } | } | ||||
| }, | }, | ||||
| }; | }; | ||||
| @@ -1,78 +1,78 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container"> | <div class="app-container"> | ||||
| <van-nav-bar left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/village/contractor'})" > | |||||
| <!-- <van-nav-bar left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/village/contractor'})" > | |||||
| <template #title> | <template #title> | ||||
| <div class="tb_main"> | <div class="tb_main"> | ||||
| B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| </van-nav-bar> | |||||
| </van-nav-bar> --> | |||||
| <contractor-header :dept-id="$route.params.deptId" :contractor-code="$route.params.cbfbm" :contractor-name="$route.params.cbfmc" :survey-status="$route.params.surveyStatus"></contractor-header> | |||||
| <div class="tap_block"> | <div class="tap_block"> | ||||
| <p class="active">承包方</p> | <p class="active">承包方</p> | ||||
| <p @click="$router.push({path:'/contracted/village/contractorFamily'})">家庭成员</p> | |||||
| <p @click="$router.push({path:'/contracted/village/contractorWord'})">承包合同</p> | |||||
| <p @click="$router.push({path:'/contracted/village/contractorLand'})">承包地</p> | |||||
| <p @click="skip('contractedVillageContractorFamily')">家庭成员</p> | |||||
| <p @click="skip('contractedVillageContractorWord')">承包合同</p> | |||||
| <p @click="skip('contractedVillageContractorLand')">承包地</p> | |||||
| </div> | </div> | ||||
| <div class="list_main"> | <div class="list_main"> | ||||
| <van-field | |||||
| v-model="value" | |||||
| label="类型:" | |||||
| placeholder="请选择类型" | |||||
| required | |||||
| :border="false" | |||||
| input-align="right" | |||||
| right-icon="arrow-down" | |||||
| label-width="auto" | |||||
| readonly | |||||
| clickable | |||||
| @click="showType = true" | |||||
| /> | |||||
| <van-popup v-model="showType" position="bottom"> | |||||
| <van-picker | |||||
| show-toolbar | |||||
| :columns="typeOptions" | |||||
| value-key="dictLabel" | |||||
| @confirm="onConfirmTypeOptions" | |||||
| @cancel="showType = false" | |||||
| <van-form ref="formData"> | |||||
| <van-field | |||||
| v-model="form.cbflxText" | |||||
| label="类型:" | |||||
| placeholder="请选择类型" | |||||
| required | |||||
| :rules="[{ required: true }]" | |||||
| :border="false" | |||||
| input-align="left" | |||||
| right-icon="arrow-down" | |||||
| readonly | |||||
| clickable | |||||
| @click="showType = true" | |||||
| /> | /> | ||||
| </van-popup> | |||||
| <van-field v-model="value" label="名称:" placeholder="请输入名称" required :border="false" input-align="right" /> | |||||
| <van-field v-model="value" label="代码:" placeholder="请输入代码" required :border="false" input-align="right" /> | |||||
| <van-field | |||||
| v-model="value" | |||||
| label="证件类型:" | |||||
| placeholder="请选择证件类型" | |||||
| required | |||||
| :border="false" | |||||
| input-align="right" | |||||
| right-icon="arrow-down" | |||||
| label-width="auto" | |||||
| readonly | |||||
| clickable | |||||
| @click="showZjType = true" | |||||
| /> | |||||
| <van-popup v-model="showZjType" position="bottom"> | |||||
| <van-picker | |||||
| show-toolbar | |||||
| :columns="zjTypeOptions" | |||||
| value-key="dictLabel" | |||||
| @confirm="onConfirmZjTypeOptions" | |||||
| @cancel="showZjType = false" | |||||
| <van-popup v-model="showType" position="bottom"> | |||||
| <van-picker | |||||
| show-toolbar | |||||
| :columns="contractorTypeOptions" | |||||
| value-key="dictLabel" | |||||
| @confirm="onConfirmTypeOptions" | |||||
| @cancel="showType = false" | |||||
| /> | |||||
| </van-popup> | |||||
| <van-field v-model="form.cbfbm" label="代码:" placeholder="请输入代码" required :rules="[{ required: true }]" :border="false" input-align="left" readonly /> | |||||
| <van-field v-model="form.cbfmc" label="名称:" placeholder="请输入名称" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field | |||||
| v-model="form.cbfzjlxText" | |||||
| label="证件类型:" | |||||
| placeholder="请选择证件类型" | |||||
| required | |||||
| :rules="[{ required: true }]" | |||||
| :border="false" | |||||
| input-align="left" | |||||
| right-icon="arrow-down" | |||||
| readonly | |||||
| clickable | |||||
| @click="showZjType = true" | |||||
| /> | /> | ||||
| </van-popup> | |||||
| <van-popup v-model="showZjType" position="bottom"> | |||||
| <van-picker | |||||
| show-toolbar | |||||
| :columns="credentialTypeOptions" | |||||
| value-key="dictLabel" | |||||
| @confirm="onConfirmZjTypeOptions" | |||||
| @cancel="showZjType = false" | |||||
| /> | |||||
| </van-popup> | |||||
| <van-field v-model="value" label="证件号码:" placeholder="请输入证件号码" required :border="false" input-align="right" /> | |||||
| <van-field v-model="value" label="地址:" placeholder="请输入地址" required :border="false" input-align="right" /> | |||||
| <van-field v-model="value" label="邮编:" placeholder="请输入邮编" required :border="false" input-align="right" /> | |||||
| <van-field v-model="value" label="电话:" placeholder="请输入电话" required :border="false" input-align="right" /> | |||||
| <van-field v-model="value" label="调查记事:" type="textarea" rows="3" placeholder="请输入调查记事" required :border="false" input-align="right" /> | |||||
| <p class="btn">保存</p> | |||||
| <van-field v-model="form.cbfzjhm" label="证件号码:" placeholder="请输入证件号码" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field v-model="form.cbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field v-model="form.yzbm" label="邮编:" placeholder="请输入邮编" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field v-model="form.lxdh" label="电话:" placeholder="请输入电话" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field v-model="form.cbfdcjs" label="调查记事:" type="textarea" rows="3" placeholder="请输入调查记事" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| </van-form> | |||||
| <p class="btn" @click="submitForm">保存</p> | |||||
| </div> | </div> | ||||
| @@ -80,42 +80,86 @@ | |||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
| import contractorHeader from "./contractorHeader"; | |||||
| import { getCbf, updateCbf } from "@/api/contracted/cbf"; | |||||
| export default { | export default { | ||||
| name: "contractedVillageContractor", | name: "contractedVillageContractor", | ||||
| components: { | |||||
| contractorHeader | |||||
| }, | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| loading:false, | |||||
| finished:true, | |||||
| value:'', | |||||
| showType:false, | showType:false, | ||||
| showZjType:false, | showZjType:false, | ||||
| typeOptions:[{ | |||||
| dictLabel:'类型1', | |||||
| dictValue:'1', | |||||
| }], | |||||
| zjTypeOptions:[{ | |||||
| dictLabel:'类型2', | |||||
| dictValue:'1', | |||||
| }], | |||||
| // 承包方信息表单 | |||||
| form: {}, | |||||
| // 承包方类型字典 | |||||
| contractorTypeOptions: [], | |||||
| // 承包方证件类型字典 | |||||
| credentialTypeOptions: [], | |||||
| }; | }; | ||||
| }, | }, | ||||
| watch: { | |||||
| '$route': function() { | |||||
| window.location.reload(); | |||||
| } | |||||
| }, | |||||
| created() { | created() { | ||||
| this.getDicts("cbf_type").then(response => { | |||||
| this.contractorTypeOptions = response.data; | |||||
| }); | |||||
| this.getDicts("cert_type").then(response => { | |||||
| this.credentialTypeOptions = response.data; | |||||
| }); | |||||
| this.getDetail(); | |||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| getList(){ | |||||
| getDetail(){ | |||||
| getCbf(this.$route.params.cbfbm).then(response => { | |||||
| this.form = response.data; | |||||
| this.$set(this.form, 'cbflxText', this.selectDictLabel(this.contractorTypeOptions, response.data.cbflx)); | |||||
| this.$set(this.form, 'cbfzjlxText', this.selectDictLabel(this.credentialTypeOptions, response.data.cbfzjlx)); | |||||
| }); | |||||
| }, | }, | ||||
| onSearch(){ | |||||
| onConfirmTypeOptions(value){ | |||||
| this.form.cbflx = value.dictValue; | |||||
| this.form.cbflxText = value.dictLabel; | |||||
| this.showType = false; | |||||
| }, | }, | ||||
| onConfirmTypeOptions(){ | |||||
| onConfirmZjTypeOptions(value){ | |||||
| this.form.cbfzjlx = value.dictValue; | |||||
| this.form.cbfzjlxText = value.dictLabel; | |||||
| this.showZjType = false; | |||||
| }, | }, | ||||
| onConfirmZjTypeOptions(){ | |||||
| submitForm() { | |||||
| this.$refs.formData.validate().then(() => { | |||||
| updateCbf(this.form).then(response => { | |||||
| if (response.code == 200) { | |||||
| this.$toast({ | |||||
| icon: 'success', | |||||
| message: '保存成功', | |||||
| duration:"1000" | |||||
| }) | |||||
| } | |||||
| }).catch(() => { | |||||
| this.getDetail(); | |||||
| }); | |||||
| }).catch(() => { | |||||
| this.$notify({ type: 'danger', message: '请填写完整的表单项' }); | |||||
| }); | |||||
| }, | }, | ||||
| skip(name) { | |||||
| this.$router.push({ | |||||
| name: name, | |||||
| params: { | |||||
| deptId: this.$route.params.deptId, | |||||
| cbfbm: this.$route.params.cbfbm, | |||||
| cbfmc: this.$route.params.cbfmc, | |||||
| surveyStatus: this.$route.params.surveyStatus | |||||
| } | |||||
| }); | |||||
| } | |||||
| }, | }, | ||||
| }; | }; | ||||
| </script> | </script> | ||||
| @@ -153,7 +197,7 @@ | |||||
| overflow: initial; | overflow: initial; | ||||
| } | } | ||||
| .tb_main{ | |||||
| /* .tb_main{ | |||||
| position: relative; | position: relative; | ||||
| p{ | p{ | ||||
| position: absolute; | position: absolute; | ||||
| @@ -170,7 +214,7 @@ | |||||
| padding: 2PX 8PX; | padding: 2PX 8PX; | ||||
| border-radius: 50PX; | border-radius: 50PX; | ||||
| margin-right: 5PX; | margin-right: 5PX; | ||||
| } | |||||
| } */ | |||||
| .tap_block{ | .tap_block{ | ||||
| width: 100%; | width: 100%; | ||||
| @@ -0,0 +1,292 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | |||||
| <template #title> | |||||
| <div class="tb_main"> | |||||
| 新增承包方信息 | |||||
| </div> | |||||
| </template> | |||||
| </van-nav-bar> | |||||
| <div class="list_main"> | |||||
| <van-form ref="formData"> | |||||
| <van-field | |||||
| v-model="cbflxText" | |||||
| label="类型:" | |||||
| placeholder="请选择类型" | |||||
| required | |||||
| :rules="[{ required: true }]" | |||||
| :border="false" | |||||
| input-align="left" | |||||
| right-icon="arrow-down" | |||||
| readonly | |||||
| clickable | |||||
| @click="showType = true" | |||||
| /> | |||||
| <van-popup v-model="showType" position="bottom"> | |||||
| <van-picker | |||||
| show-toolbar | |||||
| :columns="contractorTypeOptions" | |||||
| value-key="dictLabel" | |||||
| @confirm="onConfirmTypeOptions" | |||||
| @cancel="showType = false" | |||||
| /> | |||||
| </van-popup> | |||||
| <van-field v-model="form.cbfbm" label="代码:" placeholder="请输入代码" required :rules="[{ required: true }]" :border="false" input-align="left"> | |||||
| <template #button> | |||||
| <van-button size="mini" type="primary" native-type="button" @click="generateCode">生成代码</van-button> | |||||
| </template> | |||||
| </van-field> | |||||
| <van-field v-model="form.cbfmc" label="名称:" placeholder="请输入名称" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field | |||||
| v-model="cbfzjlxText" | |||||
| label="证件类型:" | |||||
| placeholder="请选择证件类型" | |||||
| required | |||||
| :rules="[{ required: true }]" | |||||
| :border="false" | |||||
| input-align="left" | |||||
| right-icon="arrow-down" | |||||
| readonly | |||||
| clickable | |||||
| @click="showZjType = true" | |||||
| /> | |||||
| <van-popup v-model="showZjType" position="bottom"> | |||||
| <van-picker | |||||
| show-toolbar | |||||
| :columns="credentialTypeOptions" | |||||
| value-key="dictLabel" | |||||
| @confirm="onConfirmZjTypeOptions" | |||||
| @cancel="showZjType = false" | |||||
| /> | |||||
| </van-popup> | |||||
| <van-field v-model="form.cbfzjhm" label="证件号码:" placeholder="请输入证件号码" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field v-model="form.cbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field v-model="form.yzbm" label="邮编:" placeholder="请输入邮编" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field v-model="form.lxdh" label="电话:" placeholder="请输入电话" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| <van-field v-model="form.cbfdcjs" label="调查记事:" type="textarea" rows="3" placeholder="请输入调查记事" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||||
| </van-form> | |||||
| <p class="btn" @click="submitForm">保存</p> | |||||
| </div> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import Cookies from "js-cookie"; | |||||
| import { addCbf, generateContractorCode } from "@/api/contracted/cbf"; | |||||
| export default { | |||||
| name: "contractedVillageContractorAdd", | |||||
| data() { | |||||
| return { | |||||
| showType:false, | |||||
| showZjType:false, | |||||
| // 承包方信息表单 | |||||
| form: { | |||||
| deptId: null, | |||||
| cbfbm: null, | |||||
| cbflx: null, | |||||
| cbfmc: null, | |||||
| cbfzjlx: null, | |||||
| cbfzjhm: null, | |||||
| cbfdz: null, | |||||
| yzbm: null, | |||||
| lxdh: null, | |||||
| cbfcysl: null, | |||||
| cbfdcjs: null, | |||||
| }, | |||||
| // 承包方类型(标签名) | |||||
| cbflxText: null, | |||||
| // 承包方证件类型(标签名) | |||||
| cbfzjlxText: null, | |||||
| // 承包方类型字典 | |||||
| contractorTypeOptions: [], | |||||
| // 承包方证件类型字典 | |||||
| credentialTypeOptions: [], | |||||
| }; | |||||
| }, | |||||
| created() { | |||||
| this.getDicts("cbf_type").then(response => { | |||||
| this.contractorTypeOptions = response.data; | |||||
| }); | |||||
| this.getDicts("cert_type").then(response => { | |||||
| this.credentialTypeOptions = response.data; | |||||
| }); | |||||
| }, | |||||
| methods: { | |||||
| onConfirmTypeOptions(value){ | |||||
| this.form.cbflx = value.dictValue; | |||||
| this.cbflxText = value.dictLabel; | |||||
| this.showType = false; | |||||
| }, | |||||
| onConfirmZjTypeOptions(value){ | |||||
| this.form.cbfzjlx = value.dictValue; | |||||
| this.cbfzjlxText = value.dictLabel; | |||||
| this.showZjType = false; | |||||
| }, | |||||
| submitForm() { | |||||
| this.$refs.formData.validate().then(() => { | |||||
| this.form.deptId = this.$route.params.deptId; | |||||
| this.form.cbfcysl = 1; | |||||
| addCbf(this.form).then(response => { | |||||
| if (response.code == 200) { | |||||
| this.$toast({ | |||||
| icon: 'success', | |||||
| message: '保存成功', | |||||
| duration:"1000", | |||||
| onClose: function() { | |||||
| history.back(-1); | |||||
| } | |||||
| }) | |||||
| } | |||||
| }); | |||||
| }).catch(() => { | |||||
| this.$notify({ type: 'danger', message: '请填写完整的表单项' }); | |||||
| }); | |||||
| }, | |||||
| generateCode() { | |||||
| generateContractorCode({deptId: this.$route.params.deptId}).then(response => { | |||||
| this.$set(this.form, 'cbfbm', response.data); | |||||
| }); | |||||
| }, | |||||
| }, | |||||
| }; | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| .app-container{ | |||||
| background: #fff url("../../../../../static/images/contracted/contracted_index_bg.png") no-repeat center; | |||||
| background-size: 100% 100%; | |||||
| height: 100vh; | |||||
| padding: 0 4vw; | |||||
| overflow: hidden; | |||||
| } | |||||
| /deep/ .van-nav-bar{ | |||||
| background: transparent; | |||||
| } | |||||
| /deep/ .van-nav-bar .van-icon{ | |||||
| color: #000000; | |||||
| } | |||||
| /deep/ .van-hairline--bottom::after{ | |||||
| border: none; | |||||
| } | |||||
| /deep/ .van-search__content{ | |||||
| background: rgba(255,255,255,.5); | |||||
| } | |||||
| /deep/ .van-search{ | |||||
| padding: 0; | |||||
| flex: 1; | |||||
| } | |||||
| /deep/ .van-ellipsis{ | |||||
| overflow: initial; | |||||
| } | |||||
| .tb_main{ | |||||
| position: relative; | |||||
| p{ | |||||
| position: absolute; | |||||
| display: inline-block; | |||||
| margin-left: 10PX; | |||||
| } | |||||
| } | |||||
| /* .tb{ | |||||
| font-size: 12px; | |||||
| color: #ff8900; | |||||
| background: #daf6e7; | |||||
| border: 1px solid #d7be6e; | |||||
| padding: 2PX 8PX; | |||||
| border-radius: 50PX; | |||||
| margin-right: 5PX; | |||||
| } */ | |||||
| .tap_block{ | |||||
| width: 100%; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| background: #ebfaf2; | |||||
| padding: 2PX 4PX; | |||||
| border-radius: 10PX; | |||||
| margin-top: 1vh; | |||||
| .active{ | |||||
| background-image: linear-gradient(to right,#c6fe8b,#48e5a2); | |||||
| box-shadow: 0 0 10PX #cccccc; | |||||
| color: #333333; | |||||
| } | |||||
| p{ | |||||
| width: 25%; | |||||
| text-align: center; | |||||
| padding: 5PX 0; | |||||
| border-radius: 10PX; | |||||
| color: #666666; | |||||
| } | |||||
| } | |||||
| .search_main{ | |||||
| display: flex; | |||||
| margin-top: 2vh; | |||||
| .search_btn{ | |||||
| background: rgba(255,255,255,.5); | |||||
| width: 25%; | |||||
| border-radius: 50PX; | |||||
| margin-left: 10PX; | |||||
| padding: 2PX; | |||||
| .active{ | |||||
| background-image: linear-gradient(to right,#c6fe8b,#48e5a2); | |||||
| color: #333333; | |||||
| border-radius: 50PX; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| height: 100%; | |||||
| } | |||||
| } | |||||
| } | |||||
| .second_tap{ | |||||
| display: flex; | |||||
| align-items: center; | |||||
| margin-top: 1vh; | |||||
| p{ | |||||
| background: #dbf1ea; | |||||
| border: 1px solid #cdcdcd; | |||||
| color: #5f5f5f; | |||||
| padding: 5PX 15PX; | |||||
| margin-right: 3vw; | |||||
| border-radius: 50PX; | |||||
| } | |||||
| .active{ | |||||
| background: #99eecb; | |||||
| border-color: #48e5a2; | |||||
| color: #333333; | |||||
| } | |||||
| } | |||||
| .list_main{ | |||||
| margin-top: 2vh; | |||||
| overflow-y: scroll; | |||||
| text-align: center; | |||||
| background: #ffffff; | |||||
| border-top-left-radius: 10PX; | |||||
| border-top-right-radius: 10PX; | |||||
| height: 88vh; | |||||
| .btn{ | |||||
| background-image: linear-gradient(to right,#c6fe8b,#48e5a2); | |||||
| box-shadow: 0 0 10PX #cccccc; | |||||
| padding: 10PX 0PX; | |||||
| border-radius: 50PX; | |||||
| display: inline-block; | |||||
| width: 40%; | |||||
| margin-top: 2vh; | |||||
| } | |||||
| } | |||||
| </style> | |||||
| @@ -1,13 +1,14 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container"> | <div class="app-container"> | ||||
| <van-nav-bar left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/village/contractor'})" > | |||||
| <!-- <van-nav-bar left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/village/contractor'})" > | |||||
| <template #title> | <template #title> | ||||
| <div class="tb_main"> | <div class="tb_main"> | ||||
| B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| </van-nav-bar> | |||||
| </van-nav-bar> --> | |||||
| <contractor-header :dept-id="$route.params.deptId" :contractor-code="$route.params.cbfbm" :contractor-name="$route.params.cbfmc" :survey-status="$route.params.surveyStatus"></contractor-header> | |||||
| <div class="tap_block"> | <div class="tap_block"> | ||||
| <p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | <p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | ||||
| @@ -69,8 +70,13 @@ | |||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
| import contractorHeader from "./contractorHeader"; | |||||
| export default { | export default { | ||||
| name: "contractedVillageContractor", | name: "contractedVillageContractor", | ||||
| components: { | |||||
| contractorHeader | |||||
| }, | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| loading:false, | loading:false, | ||||
| @@ -89,7 +95,7 @@ | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| console.log(this.$route.params); | |||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| getList(){ | getList(){ | ||||
| @@ -147,7 +153,7 @@ | |||||
| .tb_main{ | |||||
| /* .tb_main{ | |||||
| position: relative; | position: relative; | ||||
| p{ | p{ | ||||
| position: absolute; | position: absolute; | ||||
| @@ -164,7 +170,7 @@ | |||||
| padding: 2PX 8PX; | padding: 2PX 8PX; | ||||
| border-radius: 50PX; | border-radius: 50PX; | ||||
| margin-right: 5PX; | margin-right: 5PX; | ||||
| } | |||||
| } */ | |||||
| .tap_block{ | .tap_block{ | ||||
| width: 100%; | width: 100%; | ||||
| @@ -4,7 +4,8 @@ | |||||
| <van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | <van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | ||||
| <template #title> | <template #title> | ||||
| <div class="tb_main"> | <div class="tb_main"> | ||||
| B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | |||||
| <!-- B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p>--> | |||||
| 1111111 | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| </van-nav-bar> | </van-nav-bar> | ||||
| @@ -0,0 +1,46 @@ | |||||
| <template> | |||||
| <div> | |||||
| <van-nav-bar left-arrow fixed placeholder @click-left="goBack"> | |||||
| <template #title> | |||||
| <div class="tb_main"> | |||||
| {{ contractorName }}<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | |||||
| </div> | |||||
| </template> | |||||
| </van-nav-bar> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import { getDept } from "@/api/contracted"; | |||||
| export default { | |||||
| name: 'contractedVillageHeader', | |||||
| props: ['deptId', 'contractorCode', 'contractorName', 'surveyStatus'], | |||||
| methods: { | |||||
| goBack() { | |||||
| getDept(this.deptId).then(response => { | |||||
| this.$router.push({path:'/contracted/village/contractor', query: { deptId: this.deptId, deptName: response.data.deptName }}); | |||||
| }); | |||||
| } | |||||
| } | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| .tb_main{ | |||||
| position: relative; | |||||
| p{ | |||||
| position: absolute; | |||||
| display: inline-block; | |||||
| margin-left: 10PX; | |||||
| } | |||||
| } | |||||
| .tb{ | |||||
| font-size: 12px; | |||||
| color: #ff8900; | |||||
| background: #daf6e7; | |||||
| border: 1px solid #d7be6e; | |||||
| padding: 2PX 8PX; | |||||
| border-radius: 50PX; | |||||
| margin-right: 5PX; | |||||
| } | |||||
| </style> | |||||
| @@ -1,13 +1,14 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container"> | <div class="app-container"> | ||||
| <van-nav-bar left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/village/contractor'})" > | |||||
| <!-- <van-nav-bar left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/village/contractor'})" > | |||||
| <template #title> | <template #title> | ||||
| <div class="tb_main"> | <div class="tb_main"> | ||||
| B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| </van-nav-bar> | |||||
| </van-nav-bar> --> | |||||
| <contractor-header></contractor-header> | |||||
| <div class="tap_block"> | <div class="tap_block"> | ||||
| <p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | <p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | ||||
| @@ -73,8 +74,13 @@ | |||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
| import contractorHeader from "./contractorHeader"; | |||||
| export default { | export default { | ||||
| name: "contractedVillageContractor", | name: "contractedVillageContractor", | ||||
| components: { | |||||
| contractorHeader | |||||
| }, | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| loading:false, | loading:false, | ||||
| @@ -198,7 +204,7 @@ | |||||
| } | } | ||||
| } | } | ||||
| .tb_main{ | |||||
| /* .tb_main{ | |||||
| position: relative; | position: relative; | ||||
| p{ | p{ | ||||
| position: absolute; | position: absolute; | ||||
| @@ -215,7 +221,7 @@ | |||||
| padding: 2PX 8PX; | padding: 2PX 8PX; | ||||
| border-radius: 50PX; | border-radius: 50PX; | ||||
| margin-right: 5PX; | margin-right: 5PX; | ||||
| } | |||||
| } */ | |||||
| .tap_block{ | .tap_block{ | ||||
| width: 100%; | width: 100%; | ||||
| @@ -4,7 +4,8 @@ | |||||
| <van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | <van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | ||||
| <template #title> | <template #title> | ||||
| <div class="tb_main"> | <div class="tb_main"> | ||||
| B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | |||||
| <!-- B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p>--> | |||||
| 2222 | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| </van-nav-bar> | </van-nav-bar> | ||||
| @@ -4,7 +4,8 @@ | |||||
| <van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | <van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | ||||
| <template #title> | <template #title> | ||||
| <div class="tb_main"> | <div class="tb_main"> | ||||
| B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | |||||
| <!-- B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p>--> | |||||
| 地图 | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| </van-nav-bar> | </van-nav-bar> | ||||