diff --git a/src/api/consumer.ts b/src/api/consumer.ts index 0521084..42ad935 100644 --- a/src/api/consumer.ts +++ b/src/api/consumer.ts @@ -34,3 +34,7 @@ export function upContact(params: any) { export function creatContact(params: any) { return request.post({ url: "/user.user/Draftingcontracts", params }); } +//发送短息 +export function sendMsgApi(params: any) { + return request.get({ url: "/contract.contract/postsms", params }); +} diff --git a/src/api/withdraw.ts b/src/api/withdraw.ts new file mode 100644 index 0000000..0a587b1 --- /dev/null +++ b/src/api/withdraw.ts @@ -0,0 +1,26 @@ +import request from "@/utils/request"; + +// 提现申请列表 +export function apiWithdrawLists(params: any) { + return request.get({ url: "/withdraw/index", params }); +} + +// 添加提现申请 +export function apiWithdrawAdd(params: any) { + return request.post({ url: "/withdraw/add", params }); +} + +// 编辑提现申请 +export function apiWithdrawEdit(params: any) { + return request.post({ url: "/withdraw/edit", params }); +} + +// 删除提现申请 +export function apiWithdrawDelete(params: any) { + return request.post({ url: "/withdraw/delete", params }); +} + +// 提现申请详情 +export function apiWithdrawDetail(params: any) { + return request.get({ url: "/withdraw/detail", params }); +} diff --git a/src/router/routes.ts b/src/router/routes.ts index 0d4a265..386c3c1 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -47,21 +47,29 @@ export const constantRoutes: Array<RouteRecordRaw> = [ }, }, { - path: "b", - component: () => import("@/views/fileManagement/index.vue"), + path: "user_informationgdetil", + component: () => import("@/views/user_informationg/detil.vue"), name: Symbol(), meta: { - title: "个人设置", - }, - }, - { - path: "a", - component: () => import("@/views/fileManagement/detil.vue"), - name: Symbol(), - meta: { - title: "个人设置", + title: "档案详情", }, }, + // { + // path: "b", + // component: () => import("@/views/fileManagement/index.vue"), + // name: Symbol(), + // meta: { + // title: "个人设置", + // }, + // }, + // { + // path: "a", + // component: () => import("@/views/fileManagement/detil.vue"), + // name: Symbol(), + // meta: { + // title: "个人设置", + // }, + // }, ], }, // { diff --git a/src/views/category_business/edit.vue b/src/views/category_business/edit.vue index 8ec1589..efaf60e 100644 --- a/src/views/category_business/edit.vue +++ b/src/views/category_business/edit.vue @@ -7,8 +7,9 @@ width="550px" @confirm="handleSubmit" @close="handleClose" + > - <el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules"> + <el-form ref="formRef" :model="formData" label-width="90px" :disabled="mode=='check'" :rules="formRules"> <el-form-item label="名称" prop="name"> <el-input v-model="formData.name" clearable placeholder="请输入名称" /> </el-form-item> diff --git a/src/views/category_business/index.vue b/src/views/category_business/index.vue index 761c3de..41f63de 100644 --- a/src/views/category_business/index.vue +++ b/src/views/category_business/index.vue @@ -74,8 +74,25 @@ <dict-value :options="dictData.show_status" :value="row.status" /> </template> </el-table-column> - <el-table-column label="操作" width="120" fixed="right"> + <el-table-column + label="操作" + width="180" + align="center" + fixed="right" + > <template #default="{ row }"> + <el-button + v-perms="[ + 'category_business.category_business/edit', + 'category_business.category_business/delete', + 'category_business.category_business/edit', + ]" + type="primary" + link + @click="handleCheck(row)" + > + 详情 + </el-button> <el-button v-perms="['category_business.category_business/edit']" type="primary" @@ -155,7 +172,13 @@ const handleAdd = async () => { await nextTick(); editRef.value?.open("add"); }; - +// 查看 +const handleCheck = async (data: any) => { + showEdit.value = true; + await nextTick(); + editRef.value?.open("check"); + editRef.value?.setFormData(data); +}; // 编辑 const handleEdit = async (data: any) => { showEdit.value = true; diff --git a/src/views/company/edit.vue b/src/views/company/edit.vue index dadcef4..5721d27 100644 --- a/src/views/company/edit.vue +++ b/src/views/company/edit.vue @@ -810,15 +810,15 @@ const getDetails = async () => { } if (stringArr.includes(key)) formData[key] = formData[key].toString(); }); + await getCityList(); + await getAreaList(); + await getStreetList(); formData["party_a_name"] = data.contract?.party_a_name; formData["file_image"] = data.contract?.file; if (data.contract?.file) { fileList.value[0].url = data.contract?.file; fileList.value[0].name = "合同文件"; } - await getCityList(); - await getAreaList(); - await getStreetList(); }; getdictTypeLists(); diff --git a/src/views/company/index.vue b/src/views/company/index.vue index eedd2d9..3f6a53c 100644 --- a/src/views/company/index.vue +++ b/src/views/company/index.vue @@ -1,334 +1,398 @@ <template> - <div> - <el-card class="!border-none mb-4" shadow="never"> - <el-form class="mb-[-16px]" :model="queryParams" inline> - <el-form-item label="公司名称" prop="company_name"> - <el-input - class="w-[280px]" - v-model="queryParams.company_name" - clearable - placeholder="请输入公司名称" - /> - </el-form-item> - <el-form-item label="区" prop="area" v-show="company_type_show"> - <el-input - class="w-[280px]" - v-model="queryParams.area" - clearable - placeholder="请输入区" - /> - </el-form-item> - <el-form-item label="镇" prop="street" v-show="company_type_show"> - <el-input - class="w-[280px]" - v-model="queryParams.street" - clearable - placeholder="请输入镇" - /> - </el-form-item> - <el-form-item label="公司类型" prop="company_type" v-show="company_type_show"> - <el-select - v-model="queryParams.company_type" - placeholder="请选择公司类型" - clearable - :style="{ width: '100%' }" - > - <el-option - v-for="(item, index) in datas.dictTypeLists" - :key="index" - :label="item.name" - :value="item.id" - ></el-option> - </el-select> - </el-form-item> - <el-form-item label="片区经理" prop="area_manager"> - <el-input - class="w-[280px]" - v-model="queryParams.area_manager" - clearable - placeholder="请输入片区经理" - /> - </el-form-item> - <el-form-item label="是否签约" prop="is_contract"> - <el-select - v-model="queryParams.is_contract" - placeholder="是否签约" - clearable - :style="{ width: '100%' }" - > - <el-option label="已签约" value="1"></el-option> - <el-option label="未签约" value="0"></el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" @click="resetPage">查询</el-button> - <el-button @click="resetParams">重置</el-button> - </el-form-item> - </el-form> - </el-card> - <el-card class="!border-none" v-loading="pager.loading" shadow="never"> - <router-link - v-perms="['company/add:edit']" - :to="{ - path: getRoutePath('company/add:edit') - }" - > - <el-button type="primary" class="mb-4"> - <template #icon> - <icon name="el-icon-Plus" /> - </template> - 创建 + <div> + <el-card class="!border-none mb-4" shadow="never"> + <el-form class="mb-[-16px]" :model="queryParams" inline> + <el-form-item label="公司名称" prop="company_name"> + <el-input + class="w-[280px]" + v-model="queryParams.company_name" + clearable + placeholder="请输入公司名称" + /> + </el-form-item> + <el-form-item label="区" prop="area" v-show="company_type_show"> + <el-input + class="w-[280px]" + v-model="queryParams.area" + clearable + placeholder="请输入区" + /> + </el-form-item> + <el-form-item label="镇" prop="street" v-show="company_type_show"> + <el-input + class="w-[280px]" + v-model="queryParams.street" + clearable + placeholder="请输入镇" + /> + </el-form-item> + <el-form-item + label="公司类型" + prop="company_type" + v-show="company_type_show" + > + <el-select + v-model="queryParams.company_type" + placeholder="请选择公司类型" + clearable + class="w-[280px]" + > + <el-option + v-for="(item, index) in datas.dictTypeLists" + :key="index" + :label="item.name" + :value="item.id" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="片区经理" prop="area_manager"> + <el-input + class="w-[280px]" + v-model="queryParams.area_manager" + clearable + placeholder="请输入片区经理" + /> + </el-form-item> + <el-form-item label="是否签约" prop="is_contract"> + <el-select + v-model="queryParams.is_contract" + placeholder="是否签约" + clearable + class="w-[240px]" + > + <el-option label="已签约" value="1"></el-option> + <el-option label="未签约" value="0"></el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="resetPage">查询</el-button> + <el-button @click="resetParams">重置</el-button> + </el-form-item> + </el-form> + </el-card> + <el-card class="!border-none" v-loading="pager.loading" shadow="never"> + <router-link + v-perms="['company/add:edit']" + :to="{ + path: getRoutePath('company/add:edit'), + }" + > + <el-button type="primary" class="mb-4"> + <template #icon> + <icon name="el-icon-Plus" /> + </template> + 创建 + </el-button> + </router-link> + + <router-link + :to="{ + path: getRoutePath('company/add:edit'), + query: { + id: userStore.userInfo.company_id, + read: true, + }, + }" + > + <el-button type="primary" class="mb-4"> + 我的公司 + </el-button></router-link + > + + <div class="mt-4"> + <el-table :data="pager.lists" @selection-change="handleSelectionChange"> + <el-table-column + label="id" + prop="id" + show-overflow-tooltip + width="60" + /> + <el-table-column + label="公司名称" + prop="company_name" + show-overflow-tooltip + /> + <el-table-column + label="公司类型" + prop="company_type" + show-overflow-tooltip + /> + <el-table-column label="区县" prop="area" show-overflow-tooltip /> + <el-table-column label="乡镇" prop="street" show-overflow-tooltip /> + <el-table-column + label="主联系人" + prop="master_name" + show-overflow-tooltip + /> + <el-table-column + label="联系方式" + prop="master_phone" + show-overflow-tooltip + /> + <el-table-column + label="片区经理" + prop="area_manager" + show-overflow-tooltip + /> + <el-table-column + label="是否签约" + prop="is_contract" + show-overflow-tooltip + > + <template #default="{ row }"> + <span v-if="row.is_contract == 1" style="color: #67c23a" + >已签约</span + > + <span v-else style="color: #fe0000">未签约</span> + </template></el-table-column + > + <el-table-column + label="操作" + align="center" + width="500" + fixed="right" + > + <template #default="{ row }"> + <div style="display: flex"> + <el-button type="primary" link> + <router-link + :to="{ + path: getRoutePath('auth.admin/lists'), + query: { + company_id: row.id, + read: true, + }, + }" + >查看成员</router-link + > </el-button> - </router-link> - <div class="mt-4"> - <el-table :data="pager.lists" @selection-change="handleSelectionChange"> - <el-table-column label="id" prop="id" show-overflow-tooltip width="60" /> - <el-table-column label="公司名称" prop="company_name" show-overflow-tooltip /> - <el-table-column label="公司类型" prop="company_type" show-overflow-tooltip /> - <el-table-column label="区县" prop="area" show-overflow-tooltip /> - <el-table-column label="乡镇" prop="street" show-overflow-tooltip /> - <el-table-column label="主联系人" prop="master_name" show-overflow-tooltip /> - <el-table-column label="联系方式" prop="master_phone" show-overflow-tooltip /> - <el-table-column label="片区经理" prop="area_manager" show-overflow-tooltip /> - <el-table-column label="是否签约" prop="is_contract" show-overflow-tooltip> - <template #default="{ row }"> - <span v-if="row.is_contract == 1" style="color: #67c23a">已签约</span> - <span v-else style="color: #fe0000">未签约</span> - </template></el-table-column - > - <el-table-column label="操作" align="center" width="500" fixed="right"> - <template #default="{ row }"> - <div style="display: flex"> - <el-button type="primary" link> - <router-link - :to="{ - path: getRoutePath('auth.admin/lists'), - query: { - company_id: row.id, - read: true - } - }" - >查看成员</router-link - > - </el-button> - <el-button type="primary" link> - <router-link - :to="{ - path: getRoutePath('company/subordinate/lists'), - query: { - company_id: row.id, - read: true - } - }" - >下属公司</router-link - > - </el-button> - <el-button v-perms="['company/add:edit']" type="primary" link> - <router-link - :to="{ - path: getRoutePath('company/add:edit'), - query: { - id: row.id, - read: true - } - }" - >详情</router-link - > - </el-button> - <el-button v-perms="['company/add:edit']" type="primary" link> - <router-link - :to="{ - path: getRoutePath('company/add:edit'), - query: { - id: row.id, - edit: true - } - }" - >编辑</router-link - > - </el-button> - <el-button - v-perms="['company/delete']" - type="danger" - link - @click="handleDelete(row.id)" - >删除</el-button - > - <el-button - v-if="row.is_authentication == 0" - v-perms="['company/authentication']" - type="primary" - link - @click="handleAuthentication(row.id)" - >企业认证</el-button - > - <template v-if="row.is_contract == 0"> - <el-button - v-perms="['company/Draftingcontracts']" - type="primary" - link - @click="showCreateConctPop(row)" - >生成合同</el-button - > - <el-button - v-perms="['company/postsms']" - type="primary" - link - @click=";(showPop = true), (contractId = row.id)" - >发送短信</el-button - > - </template> - </div> - </template> - </el-table-column> - </el-table> - </div> - <div class="flex mt-4 justify-end"> - <pagination v-model="pager" @change="getLists" /> - </div> - </el-card> - <el-dialog v-model="showPop" @close="offPop"> - <h1>重要提醒</h1> - <div class="content" v-if="showConctactPop"> - 请确认信息是否有误,发送合同,请确认信息是否有误,发送电子合同后短时间内将不可再次发送. - </div> - <div class="content" v-else> - 确认签约短信将在60秒后发送,请注意查收,并点击短信链接进行线上合同签约 - </div> - <p class="btn_menu"> - <el-button type="primary" size="large" v-if="showConctactPop" @click="creContct" - >确认创建</el-button + <el-button type="primary" link> + <router-link + :to="{ + path: getRoutePath('company/subordinate/lists'), + query: { + company_id: row.id, + read: true, + }, + }" + >下属公司</router-link + > + </el-button> + <el-button v-perms="['company/add:edit']" type="primary" link> + <router-link + :to="{ + path: getRoutePath('company/add:edit'), + query: { + id: row.id, + read: true, + }, + }" + >详情</router-link + > + </el-button> + <el-button v-perms="['company/add:edit']" type="primary" link> + <router-link + :to="{ + path: getRoutePath('company/add:edit'), + query: { + id: row.id, + edit: true, + }, + }" + >编辑</router-link + > + </el-button> + <el-button + v-perms="['company/delete']" + type="danger" + link + @click="handleDelete(row.id)" + >删除</el-button > - <el-button type="primary" size="large" v-else @click="sendMsg">确认</el-button> - <el-button type="info" size="large" @click="offPop">返回</el-button> - </p> - </el-dialog> - </div> + <el-button + v-if="row.is_authentication == 0" + v-perms="['company/authentication']" + type="primary" + link + @click="handleAuthentication(row.id)" + >企业认证</el-button + > + <template v-if="row.is_contract == 0"> + <el-button + v-perms="['company/Draftingcontracts']" + type="primary" + link + @click="showCreateConctPop(row)" + >生成合同</el-button + > + <el-button + v-perms="['company/postsms']" + type="primary" + link + @click="(showPop = true), (contractId = row.id)" + >发送短信</el-button + > + </template> + </div> + </template> + </el-table-column> + </el-table> + </div> + <div class="flex mt-4 justify-end"> + <pagination v-model="pager" @change="getLists" /> + </div> + </el-card> + <el-dialog v-model="showPop" @close="offPop"> + <h1>重要提醒</h1> + <div class="content" v-if="showConctactPop"> + 请确认信息是否有误,发送合同,请确认信息是否有误,发送电子合同后短时间内将不可再次发送. + </div> + <div class="content" v-else> + 确认签约短信将在60秒后发送,请注意查收,并点击短信链接进行线上合同签约 + </div> + <p class="btn_menu"> + <el-button + type="primary" + size="large" + v-if="showConctactPop" + @click="creContct" + >确认创建</el-button + > + <el-button type="primary" size="large" v-else @click="sendMsg" + >确认</el-button + > + <el-button type="info" size="large" @click="offPop">返回</el-button> + </p> + </el-dialog> + </div> </template> <script lang="ts" setup name="companyLists"> -import { usePaging } from '@/hooks/usePaging' -import { useDictData } from '@/hooks/useDictOptions' -import useUserStore from '@/stores/modules/user' +import { usePaging } from "@/hooks/usePaging"; +import { useDictData } from "@/hooks/useDictOptions"; +import useUserStore from "@/stores/modules/user"; import { - apiCompanyLists, - apiCompanyDelete, - generateGontract, - sendMsgApi, - authentication -} from '@/api/company' -import { timeFormat } from '@/utils/util' -import feedback from '@/utils/feedback' -import { dictDataLists } from '@/api/setting/dict' -import { getRoutePath } from '@/router' + apiCompanyLists, + apiCompanyDelete, + generateGontract, + sendMsgApi, + authentication, +} from "@/api/company"; +import { timeFormat } from "@/utils/util"; +import feedback from "@/utils/feedback"; +import { dictDataLists } from "@/api/setting/dict"; +import { getRoutePath } from "@/router"; -const userStore = useUserStore() -const route = useRoute() -const company_type_show = ref(true) +const userStore = useUserStore(); +console.log(userStore.userInfo.company_id); +const route = useRoute(); +const company_type_show = ref(true); // 创建合同与发送短信 //弹窗 -const showPop = ref(false) -const showConctactPop = ref(false) +const showPop = ref(false); +const showConctactPop = ref(false); const offPop = () => { - showPop.value = false - showConctactPop.value = false -} + showPop.value = false; + showConctactPop.value = false; +}; // 创建合同的id -const contractId = ref('') +const contractId = ref(""); const showCreateConctPop = (row) => { - ;(showPop.value = true), (showConctactPop.value = true), (contractId.value = row.id) -} + (showPop.value = true), + (showConctactPop.value = true), + (contractId.value = row.id); +}; const creContct = () => { - generateGontract({ id: contractId.value }) - offPop() -} + generateGontract({ id: contractId.value }); + offPop(); +}; const sendMsg = () => { - sendMsgApi({ id: contractId.value }) - offPop() -} + sendMsgApi({ id: contractId.value }); + offPop(); +}; // 创建合同与发送短信结束 // 查询条件 const queryParams = reactive({ - company_name: '', - area: '', - street: '', - company_type: '', - area_manager: '', - // 是否签约 - is_contract: '' -}) + company_name: "", + area: "", + street: "", + company_type: "", + area_manager: "", + // 是否签约 + is_contract: "", +}); if (route.query.company_type) { - company_type_show.value = false - queryParams['company_type'] = route.query.company_type?.toString() || '' + company_type_show.value = false; + queryParams["company_type"] = route.query.company_type?.toString() || ""; } const datas = reactive({ - dictTypeLists: [] -}) + dictTypeLists: [], +}); const getdictTypeLists = async () => { - const data = await dictDataLists({ type_id: 6 }) - datas['dictTypeLists'] = data['lists'] -} -getdictTypeLists() + const data = await dictDataLists({ type_id: 6 }); + datas["dictTypeLists"] = data["lists"]; +}; +getdictTypeLists(); // 选中数据 -const selectData = ref<any[]>([]) +const selectData = ref<any[]>([]); // 表格选择后回调事件 const handleSelectionChange = (val: any[]) => { - selectData.value = val.map(({ id }) => id) -} + selectData.value = val.map(({ id }) => id); +}; // 获取字典数据 -const { dictData } = useDictData('') +const { dictData } = useDictData(""); // 分页相关 const { pager, getLists, resetParams, resetPage } = usePaging({ - fetchFun: apiCompanyLists, - params: queryParams -}) + fetchFun: apiCompanyLists, + params: queryParams, +}); // 删除 const handleDelete = async (id: number | any[]) => { - await feedback.confirm('确定要删除?') - await apiCompanyDelete({ id }) - getLists() -} + await feedback.confirm("确定要删除?"); + await apiCompanyDelete({ id }); + getLists(); +}; const handleAuthentication = async (id: number | any[]) => { - await feedback.confirm('确定要认证?') - await authentication({ id }) - getLists() -} + await feedback.confirm("确定要认证?"); + await authentication({ id }); + getLists(); +}; -getLists() +getLists(); </script> <style lang="scss"> .btn { - position: absolute; + position: absolute; } h1 { - text-align: center; - font-weight: bold; - font-size: 30px; - color: red; - margin-bottom: 10px; + text-align: center; + font-weight: bold; + font-size: 30px; + color: red; + margin-bottom: 10px; } .content { - font-size: 20px; + font-size: 20px; } .info { - color: red; - font-weight: bold; - font-size: 18px; - display: inline-block; - margin: 0 5px; + color: red; + font-weight: bold; + font-size: 18px; + display: inline-block; + margin: 0 5px; } .btn_menu { - margin-top: 10vh; - display: flex; - justify-content: space-around; + margin-top: 10vh; + display: flex; + justify-content: space-around; } </style> diff --git a/src/views/consumer/lists/detail copy.vue b/src/views/consumer/lists/detail copy.vue index 4625b20..f271692 100644 --- a/src/views/consumer/lists/detail copy.vue +++ b/src/views/consumer/lists/detail copy.vue @@ -1,194 +1,204 @@ <template> - <div> - <el-card class="!border-none" shadow="never"> - <el-page-header content="用户详情" @back="$router.back()" /> - </el-card> - <el-card class="mt-4 !border-none" header="基本资料" shadow="never"> - <el-form ref="formRef" class="ls-form" :model="formData" label-width="120px"> - <div class="bg-page flex py-5 mb-10 items-center"> - <div class="basis-40 flex flex-col justify-center items-center"> - <div class="mb-2 text-tx-regular">用户头像</div> - <el-avatar :src="formData.avatar" :size="58" /> - </div> - <div class="basis-40 flex flex-col justify-center items-center"> - <div class="text-tx-regular">账户余额</div> - <div class="mt-2 flex items-center"> - ¥{{ formData.user_money }} - <el-button - v-perms="['user.user/adjustMoney']" - type="primary" - link - @click="handleAdjust(formData.user_money)" - > - 调整 - </el-button> - </div> - </div> - </div> - <el-col :span="24" class="el-card pt-6"> - <el-row> - <el-col :span="12"> - <el-form-item label="用户编号:"> {{ formData.sn }} </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="用户昵称:"> - {{ formData.nickname }} - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="账号:"> - {{ formData.account }} - <popover-input - class="ml-[10px]" - @confirm="handleEdit($event, 'account')" - :limit="32" - v-perms="['user.user/edit']" - > - <el-button type="primary" link> - <icon name="el-icon-EditPen" /> - </el-button> - </popover-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="真实姓名:"> - {{ formData.real_name || '-' }} - <popover-input - class="ml-[10px]" - @confirm="handleEdit($event, 'real_name')" - :limit="32" - v-perms="['user.user/edit']" - > - <el-button type="primary" link> - <icon name="el-icon-EditPen" /> - </el-button> - </popover-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="性别:"> - {{ formData.sex }} - <popover-input - class="ml-[10px]" - type="select" - :options="[ - { - label: '未知', - value: 0 - }, - { - label: '男', - value: 1 - }, - { - label: '女', - value: 2 - } - ]" - @confirm="handleEdit($event, 'sex')" - v-perms="['user.user/edit']" - > - <el-button type="primary" link> - <icon name="el-icon-EditPen" /> - </el-button> - </popover-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="联系电话:"> - {{ formData.mobile || '-' }} - <popover-input - class="ml-[10px]" - type="number" - @confirm="handleEdit($event, 'mobile')" - v-perms="['user.user/edit']" - > - <el-button type="primary" link> - <icon name="el-icon-EditPen" /> - </el-button> - </popover-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="注册来源:"> {{ formData.channel }} </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="注册时间:"> - {{ formData.create_time }} - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="最近登录时间:"> - {{ formData.login_time }} - </el-form-item> - </el-col> - </el-row> - </el-col> - </el-form> - </el-card> + <div> + <el-card class="!border-none" shadow="never"> + <el-page-header content="用户详情" @back="$router.back()" /> + </el-card> + <el-card class="mt-4 !border-none" header="基本资料" shadow="never"> + <el-form + ref="formRef" + class="ls-form" + :model="formData" + label-width="120px" + > + <div class="bg-page flex py-5 mb-10 items-center"> + <div class="basis-40 flex flex-col justify-center items-center"> + <div class="mb-2 text-tx-regular">用户头像</div> + <el-avatar :src="formData.avatar" :size="58" /> + </div> + <div class="basis-40 flex flex-col justify-center items-center"> + <div class="text-tx-regular">账户余额</div> + <div class="mt-2 flex items-center"> + ¥{{ formData.user_money }} + <el-button + v-perms="['user.user/adjustMoney']" + type="primary" + link + @click="handleAdjust(formData.user_money)" + > + 调整 + </el-button> + </div> + </div> + </div> + <el-col :span="24" class="el-card pt-6"> + <el-row> + <el-col :span="12"> + <el-form-item label="用户编号:"> + {{ formData.sn }} + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="用户昵称:"> + {{ formData.nickname }} + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="账号:"> + {{ formData.account }} + <popover-input + class="ml-[10px]" + @confirm="handleEdit($event, 'account')" + :limit="32" + v-perms="['user.user/edit']" + > + <el-button type="primary" link> + <icon name="el-icon-EditPen" /> + </el-button> + </popover-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="真实姓名:"> + {{ formData.real_name || "-" }} + <popover-input + class="ml-[10px]" + @confirm="handleEdit($event, 'real_name')" + :limit="32" + v-perms="['user.user/edit']" + > + <el-button type="primary" link> + <icon name="el-icon-EditPen" /> + </el-button> + </popover-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="性别:"> + {{ formData.sex }} + <popover-input + class="ml-[10px]" + type="select" + :options="[ + { + label: '未知', + value: 0, + }, + { + label: '男', + value: 1, + }, + { + label: '女', + value: 2, + }, + ]" + @confirm="handleEdit($event, 'sex')" + v-perms="['user.user/edit']" + > + <el-button type="primary" link> + <icon name="el-icon-EditPen" /> + </el-button> + </popover-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="联系电话:"> + {{ formData.mobile || "-" }} + <popover-input + class="ml-[10px]" + type="number" + @confirm="handleEdit($event, 'mobile')" + v-perms="['user.user/edit']" + > + <el-button type="primary" link> + <icon name="el-icon-EditPen" /> + </el-button> + </popover-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="注册来源:"> + {{ formData.channel }} + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="注册时间:"> + {{ formData.create_time }} + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="最近登录时间:"> + {{ formData.login_time }} + </el-form-item> + </el-col> + </el-row> + </el-col> + </el-form> + </el-card> - <account-adjust - v-model:show="adjustState.show" - :value="adjustState.value" - @confirm="handleConfirmAdjust" - /> - </div> + <account-adjust + v-model:show="adjustState.show" + :value="adjustState.value" + @confirm="handleConfirmAdjust" + /> + </div> </template> <script lang="ts" setup name="consumerDetail"> -import type { FormInstance } from 'element-plus' -import { adjustMoney, getUserDetail, userEdit } from '@/api/consumer' -import { isEmpty } from '@/utils/util' -import AccountAdjust from '../components/account-adjust.vue' -const route = useRoute() +import type { FormInstance } from "element-plus"; +import { adjustMoney, getUserDetail, userEdit } from "@/api/consumer"; +import { isEmpty } from "@/utils/util"; +import AccountAdjust from "../components/account-adjust.vue"; +const route = useRoute(); const formData = reactive({ - avatar: '', - channel: '', - create_time: '', - login_time: '', - mobile: '', - nickname: '', - real_name: 0, - sex: 0, - sn: '', - account: '', - user_money: '' -}) + avatar: "", + channel: "", + create_time: "", + login_time: "", + mobile: "", + nickname: "", + real_name: 0, + sex: 0, + sn: "", + account: "", + user_money: "", +}); const adjustState = reactive({ - show: false, - value: '' -}) -const formRef = shallowRef<FormInstance>() + show: false, + value: "", +}); +const formRef = shallowRef<FormInstance>(); const getDetails = async () => { - const data = await getUserDetail({ - id: route.query.id - }) - Object.keys(formData).forEach((key) => { - //@ts-ignore - formData[key] = data[key] - }) -} + const data = await getUserDetail({ + id: route.query.id, + }); + Object.keys(formData).forEach((key) => { + //@ts-ignore + formData[key] = data[key]; + key == "sex" ? (formData[key] = Number(data[key])) : ""; + }); +}; const handleEdit = async (value: string, field: string) => { - if (isEmpty(value)) return - await userEdit({ - id: route.query.id, - field, - value - }) - getDetails() -} + if (isEmpty(value)) return; + await userEdit({ + id: route.query.id, + field, + value, + }); + getDetails(); +}; const handleAdjust = (value: string) => { - adjustState.show = true - adjustState.value = value -} + adjustState.show = true; + adjustState.value = value; +}; const handleConfirmAdjust = async (value: any) => { - await adjustMoney({ user_id: route.query.id, ...value }) - adjustState.show = false - getDetails() -} -getDetails() + await adjustMoney({ user_id: route.query.id, ...value }); + adjustState.show = false; + getDetails(); +}; +getDetails(); </script> diff --git a/src/views/consumer/lists/detail.vue b/src/views/consumer/lists/detail.vue index 232c442..0b79ff1 100644 --- a/src/views/consumer/lists/detail.vue +++ b/src/views/consumer/lists/detail.vue @@ -5,13 +5,12 @@ </el-card> <el-card class="mt-4 !border-none" shadow="never"> <el-form ref="formRef" :model="formData" label-width="84px"> - <div style="font-size: 1.2rem; margin: 10px 0"> - 基本信息创建{{ mode }} - </div> + <div style="font-size: 1.2rem; margin: 10px 0">基本信息创建</div> <div class="headimg"> <el-upload v-model="formData.avatar" class="avatar-uploader-head" + :disabled="flag" :data="{ cid: 1 }" action="https://worker-task.lihaink.cn/api/upload/image" :show-file-list="false" @@ -29,6 +28,7 @@ <el-form-item label="姓名" prop="nickname"> <el-input v-model="formData.nickname" + :disabled="flag" placeholder="请输入姓名" clearable :style="{ width: '100%' }" @@ -39,11 +39,12 @@ <el-form-item label="性别" prop="sex"> <el-select v-model="formData.sex" + :disabled="flag" placeholder="请选择性别" :style="{ width: '100%' }" > - <el-option label="男" value="1" /> - <el-option label="女" value="2" /> + <el-option label="男" :value="1" /> + <el-option label="女" :value="2" /> </el-select> </el-form-item> </el-col> @@ -53,6 +54,7 @@ <el-form-item label="身份证号" prop="id_card"> <el-input v-model="formData.id_card" + :disabled="flag" placeholder="请输入身份证号" clearable :style="{ width: '100%' }" @@ -64,6 +66,7 @@ <el-input v-model="formData.account" placeholder="请输入联系电话" + :disabled="flag" clearable :style="{ width: '100%' }" ></el-input> @@ -75,6 +78,7 @@ <el-select v-model="formData.province" placeholder="请选择省" + :disabled="flag" clearable @change="province_change" :style="{ width: '100%' }" @@ -92,6 +96,7 @@ v-model="formData.city" placeholder="请选择市" clearable + :disabled="flag" @change="city_change" :style="{ width: '100%' }" > @@ -107,6 +112,7 @@ <el-select v-model="formData.area" placeholder="请选择区" + :disabled="flag" clearable @change="area_change" :style="{ width: '100%' }" @@ -124,6 +130,7 @@ <el-select v-model="formData.street" placeholder="请选择镇" + :disabled="flag" clearable @change="street_change" :style="{ width: '100%' }" @@ -139,6 +146,7 @@ <el-form-item label="村社小队" prop="address" style="flex: 1.5"> <el-input v-model="formData.address" + :disabled="flag" placeholder="请输入村社小队" clearable :style="{ width: '100%' }" @@ -148,7 +156,7 @@ </el-col> <el-col :span="24" style="margin-top: 1vh"> - <el-row> + <!-- <el-row> <el-col :span="12" v-if="mode == 'initiate' || formData.party_b"> <el-form-item label="签约方" prop="field130"> <el-input @@ -161,7 +169,7 @@ ></el-input> </el-form-item> </el-col> - </el-row> + </el-row> --> </el-col> <div style="font-size: 1.2rem; margin: 10px 0">资质信息</div> <div style="display: flex; justify-content: space-between"> @@ -169,6 +177,7 @@ <el-form-item label="身份证" prop="id_card"> <el-upload v-model="formData.qualification.id_card" + :disabled="flag" class="avatar-uploader pl-3" :data="{ cid: 1 }" action="https://worker-task.lihaink.cn/api/upload/image" @@ -186,6 +195,7 @@ </el-upload> <el-upload v-model="formData.qualification.id_card_b" + :disabled="flag" class="avatar-uploader pl-3" :data="{ cid: 1 }" action="https://worker-task.lihaink.cn/api/upload/image" @@ -207,6 +217,7 @@ <el-form-item label="行驶证" prop="car_card"> <el-upload v-model="formData.qualification.car_card" + :disabled="flag" class="avatar-uploader pl-3" :data="{ cid: 1 }" action="https://worker-task.lihaink.cn/api/upload/image" @@ -224,6 +235,7 @@ </el-upload> <el-upload v-model="formData.qualification.car_card_b" + :disabled="flag" class="avatar-uploader pl-3" :data="{ cid: 1 }" action="https://worker-task.lihaink.cn/api/upload/image" @@ -246,6 +258,7 @@ <el-form-item label="银行卡号" prop="bank_account"> <el-upload v-model="formData.qualification.bank_account" + :disabled="flag" class="avatar-uploader pl-3" :data="{ cid: 1 }" action="https://worker-task.lihaink.cn/api/upload/image" @@ -264,6 +277,7 @@ </el-upload> <el-upload v-model="formData.qualification.bank_account_b" + :disabled="flag" class="avatar-uploader pl-3" :data="{ cid: 1 }" action="https://worker-task.lihaink.cn/api/upload/image" @@ -350,25 +364,6 @@ ></el-input> </el-form-item> </el-col> - <el-col :span="24"> - <el-form-item label="合同类型" prop="contract_type"> - <el-col :span="24"> - <el-select - v-model="formData.contract_type" - placeholder="请选择合同类型" - clearable - :style="{ width: '100%' }" - > - <el-option - v-for="(item, index) in datas.contract_type" - :key="index" - :label="item.name" - :value="item.id" - ></el-option> - </el-select> - </el-col> - </el-form-item> - </el-col> </el-row> </el-col> </template> @@ -387,33 +382,49 @@ </el-upload> </el-form-item> </el-col> - <!-- <el-col :span="24"> + <!-- <el-col :span="24" v-if="formData.contract"> <el-form-item label="合同地址"> <el-link type="success" - :href="formData.contract.url" + :href="formData.contract.file" target="_blank" >在线查看</el-link > </el-form-item> </el-col> --> - <el-col :span="24" class="pt-6"> - <el-form-item label prop="field139"> - <!-- <el-button - type="primary" - :disabled="isDisabled" - size="medium" - @click="create" - >创建</el-button - > --> - <el-button - type="primary" - v-if="mode == 'initiate'" - @click="initiateContactFn" - >发起合同</el-button - > - </el-form-item> + <el-col :span="24" v-if="mode == 'initiate'" class="pt-6"> + <el-row> + <el-col :span="8"> + <el-form-item label="合同类型" prop="contract_type"> + <el-col :span="24"> + <el-select + v-model="formData.contract_type" + placeholder="请选择合同类型" + clearable + :style="{ width: '100%' }" + > + <el-option + v-for="(item, index) in datas.contract_type" + :key="index" + :label="item.name" + :value="item.id" + ></el-option> + </el-select> + </el-col> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item prop="field139"> + <el-button + type="primary" + v-if="mode == 'initiate'" + @click="initiateContactFn" + >发起合同</el-button + > + </el-form-item> + </el-col> + </el-row> </el-col> </el-form> </el-card> @@ -423,9 +434,9 @@ :value="adjustState.value" @confirm="handleConfirmAdjust" /> - <el-dialog v-model="isCompany" title="选择签约方" width="60%"> + <!-- <el-dialog v-model="isCompany" title="选择签约方" width="60%"> <DialogIndex @customEvent="customEvent" /> - </el-dialog> + </el-dialog> --> </div> </template> @@ -459,8 +470,8 @@ import useUserStore from "@/stores/modules/user"; import feedback from "@/utils/feedback"; const { removeTab } = useMultipleTabs(); const router = useRouter(); - const route = useRoute(); +const flag = ref(true); const formData = reactive({ id: "", sex: "", @@ -650,12 +661,15 @@ const handleAvatarSuccess_four: UploadProps["onSuccess"] = ( return; } formData.file = response.data.uri; - fileList.value[0].url = response.data.uri; - fileList.value[0].name = "合同文件"; - console.log(formData.file.substring(8)); - upContact({ file: formData.file.substring(8), id: route.query.id }).then( - (res) => [console.log(res)] - ); + // fileList.value[0].url = response.data.uri; + // fileList.value[0].name = "合同文件"; + + // upContact({ file: formData.file.substring(8), id: route.query.id }).then( + // (res) => [console.log(res)] + // ); + upContact({ file: formData.file, id: route.query.mdoeid }).then((res) => [ + console.log(res), + ]); }; const beforeAvatarUpload_three: UploadProps["beforeUpload"] = (rawFile) => { return true; @@ -701,27 +715,17 @@ const handleConfirmAdjust = async (value: any) => { }; // 发起合同 const initiateContactFn = () => { - const { party_b, contract_type } = formData; + const { contract_type } = formData; // console.log(party_b, contract_type); - initiateContact({ party_b, contract_type, type: 2 }).then((res) => { - console.log(res); - feedback.msgSuccess("发起成功,等待平台风控部上传合同"); - }); -}; -const create = async () => { - await formRef.value?.validate(); - const data = { ...formData }; - // mode.value = route.query.mode; - // if (route.query.id) { - // await apiCompanyEdit(data) - // } else { - // await apiCompanyAdd(data) - // } - removeTab(); - router.back(); + initiateContact({ party_b: route.query.id, contract_type, type: 2 }).then( + (res) => { + feedback.msgSuccess("发起成功,等待平台风控部上传合同"); + } + ); }; getDetails(); getProvinceList(); +console.log(formData); </script> <style lang="scss"> diff --git a/src/views/consumer/lists/index.vue b/src/views/consumer/lists/index.vue index 498f538..cacaac2 100644 --- a/src/views/consumer/lists/index.vue +++ b/src/views/consumer/lists/index.vue @@ -87,11 +87,12 @@ 详情 </router-link> </el-button> - <template v-if="row.company_id != 0 && row.is_contract == 0"> + <template v-if="row.is_contract == 0"> <el-button - v-perms="['auth.admin/Draftingcontracts']" + v-perms="['user.user/launch']" type="primary" link + v-if="!row.contract" > <router-link :to="{ @@ -107,9 +108,10 @@ </el-button> <el-button - v-perms="['auth.admin/Draftingcontracts']" + v-perms="['user.user/uplode']" type="primary" link + v-if="row.contract?.check_status == 1" > <router-link :to="{ @@ -117,6 +119,7 @@ query: { id: row.id, mode: 'uplode', + mdoeid: row.contract.id, }, }" > @@ -124,8 +127,9 @@ </router-link> </el-button> <el-button - v-perms="['auth.admin/Draftingcontracts']" + v-perms="['user.user/launch']" type="primary" + v-if="row.contract?.check_status == 2" link @click=" (showPop = true), @@ -135,49 +139,14 @@ >生成个人合同</el-button > <el-button - v-perms="['auth.admin/postsms']" + v-if="row.contract?.check_status == 2" + v-perms="['user.user/launch']" type="primary" link @click="(showPop = true), (contractId = row.id)" >重新短信</el-button > </template> - <!-- <el-button - v-if="row.root != 1" - v-perms="['auth.admin/delete']" - type="danger" - link - @click="handleDelete(row.id)" - >删除</el-button - > - <el-button - v-if="row.is_contract == 1" - v-perms="['auth.admin/abolition']" - type="danger" - link - @click="handleAbolition(row.id)" - >废除合同</el-button - > - <template v-if="row.company_id != 0 && row.is_contract == 0"> - <el-button - v-perms="['auth.admin/Draftingcontracts']" - type="primary" - link - @click=" - ;(showPop = true), - (showConctactPop = true), - (contractId = row.id) - " - >生成个人合同</el-button - > - <el-button - v-perms="['auth.admin/postsms']" - type="primary" - link - @click=";(showPop = true), (contractId = row.id)" - >重新短信</el-button - > - </template> --> </template> </el-table-column> </el-table> @@ -213,12 +182,7 @@ <script lang="ts" setup name="consumerLists"> import { usePaging } from "@/hooks/usePaging"; import { getRoutePath } from "@/router"; -import { - getUserList, - creatContact, - initiateContact, - upContact, -} from "@/api/consumer"; +import { getUserList, creatContact, sendMsgApi } from "@/api/consumer"; import { ClientMap } from "@/enums/appEnums"; import feedback from "@/utils/feedback"; @@ -236,6 +200,7 @@ const offPop = () => { showConctactPop.value = false; }; const creContct = () => { + console.log(contractId.value); // feedback.msgSuccess("复制成功"); creatContact({ id: contractId.value }).then(() => { feedback.msgSuccess("发送成功"); @@ -243,9 +208,10 @@ const creContct = () => { offPop(); }; const sendMsg = () => { - // sendMsgApi({ id: contractId.value }).then((res) => { - // feedback.msgSuccess("发送成功"); - // }); + + sendMsgApi({ id: contractId.value }).then((res) => { + feedback.msgSuccess("发送成功"); + }); offPop(); }; // const handleDelete = async (id: number) => { @@ -268,7 +234,7 @@ onActivated(() => { getLists(); </script> -<style> +<style scoped> h1 { text-align: center; font-weight: bold; diff --git a/src/views/examined/examinedCate.vue b/src/views/examined/examined.vue similarity index 100% rename from src/views/examined/examinedCate.vue rename to src/views/examined/examined.vue diff --git a/src/views/finance/Withdrawal.vue b/src/views/finance/Withdrawal.vue new file mode 100644 index 0000000..a40018a --- /dev/null +++ b/src/views/finance/Withdrawal.vue @@ -0,0 +1,185 @@ +<template> + <div> + <el-card class="!border-none mb-4" shadow="never"> + <el-form class="mb-[-16px]" :model="queryParams" inline> + <el-form-item label="订单编号" prop="order_sn"> + <el-input + class="w-[280px]" + v-model="queryParams.order_sn" + clearable + placeholder="请输入订单编号" + /> + </el-form-item> + <el-form-item label="" prop="user_id"> + <el-input + class="w-[280px]" + v-model="queryParams.user_id" + clearable + placeholder="请输入" + /> + </el-form-item> + <el-form-item label="" prop="admin_id"> + <el-input + class="w-[280px]" + v-model="queryParams.admin_id" + clearable + placeholder="请输入" + /> + </el-form-item> + <el-form-item label="提现金额" prop="amount"> + <el-input + class="w-[280px]" + v-model="queryParams.amount" + clearable + placeholder="请输入提现金额" + /> + </el-form-item> + <el-form-item + label="状态:0待审核,1通过,2拒绝,3已转账" + prop="status" + > + <el-input + class="w-[280px]" + v-model="queryParams.status" + clearable + placeholder="请输入状态:0待审核,1通过,2拒绝,3已转账" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="resetPage">查询</el-button> + <el-button @click="resetParams">重置</el-button> + </el-form-item> + </el-form> + </el-card> + <el-card class="!border-none" v-loading="pager.loading" shadow="never"> + <el-button v-perms="['withdraw/add']" type="primary" @click="handleAdd"> + <template #icon> + <icon name="el-icon-Plus" /> + </template> + 新增 + </el-button> + <el-button + v-perms="['withdraw/delete']" + :disabled="!selectData.length" + @click="handleDelete(selectData)" + > + 删除 + </el-button> + <div class="mt-4"> + <el-table :data="pager.lists" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" /> + <el-table-column + label="订单编号" + prop="order_sn" + show-overflow-tooltip + /> + <el-table-column label="" prop="user_id" show-overflow-tooltip /> + <el-table-column label="" prop="admin_id" show-overflow-tooltip /> + <el-table-column + label="提现金额" + prop="amount" + show-overflow-tooltip + /> + <el-table-column + label="状态:0待审核,1通过,2拒绝,3已转账" + prop="status" + show-overflow-tooltip + /> + <el-table-column label="操作" width="120" fixed="right"> + <template #default="{ row }"> + <el-button + v-perms="['withdraw/edit']" + type="primary" + link + @click="handleEdit(row)" + > + 编辑 + </el-button> + <el-button + v-perms="['withdraw/delete']" + type="danger" + link + @click="handleDelete(row.id)" + > + 删除 + </el-button> + </template> + </el-table-column> + </el-table> + </div> + <div class="flex mt-4 justify-end"> + <pagination v-model="pager" @change="getLists" /> + </div> + </el-card> + <edit-popup + v-if="showEdit" + ref="editRef" + :dict-data="dictData" + @success="getLists" + @close="showEdit = false" + /> + </div> +</template> + +<script lang="ts" setup name="withdrawLists"> +import { usePaging } from "@/hooks/usePaging"; +import { useDictData } from "@/hooks/useDictOptions"; +import { apiWithdrawLists, apiWithdrawDelete } from "@/api/withdraw"; +import { timeFormat } from "@/utils/util"; +import feedback from "@/utils/feedback"; +import EditPopup from "./edit.vue"; + +const editRef = shallowRef<InstanceType<typeof EditPopup>>(); +// 是否显示编辑框 +const showEdit = ref(false); + +// 查询条件 +const queryParams = reactive({ + order_sn: "", + user_id: "", + admin_id: "", + amount: "", + status: "", +}); + +// 选中数据 +const selectData = ref<any[]>([]); + +// 表格选择后回调事件 +const handleSelectionChange = (val: any[]) => { + selectData.value = val.map(({ id }) => id); +}; + +// 获取字典数据 +const { dictData } = useDictData(""); + +// 分页相关 +const { pager, getLists, resetParams, resetPage } = usePaging({ + fetchFun: apiWithdrawLists, + params: queryParams, +}); + +// 添加 +const handleAdd = async () => { + showEdit.value = true; + await nextTick(); + editRef.value?.open("add"); +}; + +// 编辑 +const handleEdit = async (data: any) => { + showEdit.value = true; + await nextTick(); + editRef.value?.open("edit"); + editRef.value?.setFormData(data); +}; + +// 删除 +const handleDelete = async (id: number | any[]) => { + await feedback.confirm("确定要删除?"); + await apiWithdrawDelete({ id }); + getLists(); +}; + +getLists(); +</script> diff --git a/src/views/finance/edit.vue b/src/views/finance/edit.vue new file mode 100644 index 0000000..082607c --- /dev/null +++ b/src/views/finance/edit.vue @@ -0,0 +1,175 @@ +<template> + <div class="edit-popup"> + <popup + ref="popupRef" + :title="popupTitle" + :async="true" + width="550px" + @confirm="handleSubmit" + @close="handleClose" + > + <el-form + ref="formRef" + :model="formData" + label-width="90px" + :rules="formRules" + > + <el-form-item label="订单编号" prop="order_sn"> + <el-input + v-model="formData.order_sn" + clearable + placeholder="请输入订单编号" + /> + </el-form-item> + <el-form-item label="" prop="user_id"> + <el-input v-model="formData.user_id" clearable placeholder="请输入" /> + </el-form-item> + <el-form-item label="" prop="admin_id"> + <el-input + v-model="formData.admin_id" + clearable + placeholder="请输入" + /> + </el-form-item> + <el-form-item label="提现金额" prop="amount"> + <el-input + v-model="formData.amount" + clearable + placeholder="请输入提现金额" + /> + </el-form-item> + <el-form-item + label="状态:0待审核,1通过,2拒绝,3已转账" + prop="status" + > + <el-input + v-model="formData.status" + clearable + placeholder="请输入状态:0待审核,1通过,2拒绝,3已转账" + /> + </el-form-item> + </el-form> + </popup> + </div> +</template> + +<script lang="ts" setup name="withdrawEdit"> +import type { FormInstance } from "element-plus"; +import Popup from "@/components/popup/index.vue"; +import { + apiWithdrawAdd, + apiWithdrawEdit, + apiWithdrawDetail, +} from "@/api/withdraw"; +import { timeFormat } from "@/utils/util"; +import type { PropType } from "vue"; +defineProps({ + dictData: { + type: Object as PropType<Record<string, any[]>>, + default: () => ({}), + }, +}); +const emit = defineEmits(["success", "close"]); +const formRef = shallowRef<FormInstance>(); +const popupRef = shallowRef<InstanceType<typeof Popup>>(); +const mode = ref("add"); + +// 弹窗标题 +const popupTitle = computed(() => { + return mode.value == "edit" ? "编辑提现申请" : "新增提现申请"; +}); + +// 表单数据 +const formData = reactive({ + id: "", + order_sn: "", + user_id: "", + admin_id: "", + amount: "", + status: "", +}); + +// 表单验证 +const formRules = reactive<any>({ + order_sn: [ + { + required: true, + message: "请输入订单编号", + trigger: ["blur"], + }, + ], + user_id: [ + { + required: true, + message: "请输入", + trigger: ["blur"], + }, + ], + admin_id: [ + { + required: true, + message: "请输入", + trigger: ["blur"], + }, + ], + amount: [ + { + required: true, + message: "请输入提现金额", + trigger: ["blur"], + }, + ], + status: [ + { + required: true, + message: "请输入状态:0待审核,1通过,2拒绝,3已转账", + trigger: ["blur"], + }, + ], +}); + +// 获取详情 +const setFormData = async (data: Record<any, any>) => { + for (const key in formData) { + if (data[key] != null && data[key] != undefined) { + //@ts-ignore + formData[key] = data[key]; + } + } +}; + +const getDetail = async (row: Record<string, any>) => { + const data = await apiWithdrawDetail({ + id: row.id, + }); + setFormData(data); +}; + +// 提交按钮 +const handleSubmit = async () => { + await formRef.value?.validate(); + const data = { ...formData }; + mode.value == "edit" + ? await apiWithdrawEdit(data) + : await apiWithdrawAdd(data); + popupRef.value?.close(); + emit("success"); +}; + +//打开弹窗 +const open = (type = "add") => { + mode.value = type; + popupRef.value?.open(); +}; + +// 关闭回调 +const handleClose = () => { + emit("close"); +}; + +defineExpose({ + open, + setFormData, + getDetail, +}); +</script> diff --git a/src/views/organization/department/edit.vue b/src/views/organization/department/edit.vue index c7fa0f5..0557234 100644 --- a/src/views/organization/department/edit.vue +++ b/src/views/organization/department/edit.vue @@ -82,7 +82,7 @@ const checkMobile = (rule: any, value: any, callback: any) => { return callback() } else { const reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/ - console.log(reg.test(value)) + if (reg.test(value)) { callback() } else { diff --git a/src/views/permission/menu/index.vue b/src/views/permission/menu/index.vue index b67e80a..f40f367 100644 --- a/src/views/permission/menu/index.vue +++ b/src/views/permission/menu/index.vue @@ -159,5 +159,5 @@ const toggleExpand = (children: any[], unfold = true) => { getLists().then((res) => { console.log(res); }); -console.log(556666666666665); + </script> diff --git a/src/views/task/calendar.vue b/src/views/task/calendar.vue index c875fbc..5ee32e1 100644 --- a/src/views/task/calendar.vue +++ b/src/views/task/calendar.vue @@ -10,7 +10,7 @@ <div class="mt-4"> <el-calendar v-model="dateValue"> <template #dateCell="{ data }"> - <div style="width: 100%; height: 100%" @click="test(data)"> + <div style="width: 100%; height: 100%"> <p :class="data.isSelected ? 'is-selected' : ''"> {{ data.day.split("-").slice(1).join("-") }} <!-- {{ data.isSelected ? '✔️' : '' }} --> @@ -23,6 +23,7 @@ the: item.priority == 3, }" v-if="taskList[data.day]" + @click="handleEdit(item)" v-for="(item, index) in taskList[data.day]" :key="index" > @@ -140,11 +141,11 @@ const handleEdit = async (data: any) => { }; // 删除 -const handleDelete = async (id: number | any[]) => { - await feedback.confirm("确定要删除?"); - await apiFlowTypeDelete({ id }); - getLists(); -}; +// const handleDelete = async (id: number | any[]) => { +// await feedback.confirm("确定要删除?"); +// await apiFlowTypeDelete({ id }); +// getLists(); +// }; // getLists(); </script> diff --git a/src/views/task/edit.vue b/src/views/task/edit.vue index df00433..e860dc9 100644 --- a/src/views/task/edit.vue +++ b/src/views/task/edit.vue @@ -1,18 +1,37 @@ <template> <div class="edit-popup"> - <popup ref="popupRef" :title="popupTitle" :async="true" width="1000px" @confirm="handleSubmit" @close="handleClose"> + <popup + ref="popupRef" + :title="popupTitle" + :async="true" + width="1000px" + @confirm="handleSubmit" + @close="handleClose" + > <el-form ref="formRef" :model="formData" label-width="84px"> <el-col class="pt-6 !border-none"> <el-row> <el-col :span="16"> <el-form-item label="任务主题" prop="title"> - <el-input v-model="formData.title" placeholder="请输入任务主题" clearable></el-input> + <el-input + v-model="formData.title" + placeholder="请输入任务主题" + clearable + ></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="优先级" prop="name"> - <el-select v-model="formData.priority" placeholder="请输入优先级"> - <el-option v-for="item in priorityList" :key="item.value" :value="item.value" :label="item.label"/> + <el-select + v-model="formData.priority" + placeholder="请输入优先级" + > + <el-option + v-for="item in priorityList" + :key="item.value" + :value="item.value" + :label="item.label" + /> </el-select> </el-form-item> </el-col> @@ -20,13 +39,22 @@ <el-row> <el-col :span="8"> <el-form-item label="工作类型" prop="icon"> - <el-select v-model="formData.type" placeholder="请选择工作类型" > - <el-option v-for="item in taskTypeList" :key="item.label" :value="item.value" :label="item.label"/> + <el-select v-model="formData.type" placeholder="请选择工作类型"> + <el-option + v-for="item in taskTypeList" + :key="item.label" + :value="item.value" + :label="item.label" + /> </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="是否为修复BUG" label-width="auto" prop="icon"> + <el-form-item + label="是否为修复BUG" + label-width="auto" + prop="icon" + > <el-radio-group v-model="formData.is_bug"> <el-radio :label="1">是</el-radio> <el-radio :label="0">否</el-radio> @@ -37,43 +65,75 @@ <el-row> <el-col :span="8"> <el-form-item label="负责人" prop="icon"> - <el-input v-model="formData.director_name" placeholder="请选择负责人" clearable @click="isMan = true"></el-input> + <el-input + v-model="formData.director_name" + placeholder="请选择负责人" + clearable + @click="isMan = true" + ></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="协作人" prop="icon"> - <el-input v-model="formData.assist_admin_names" placeholder="请选择协作人" clearable - @click="isManTow = true"></el-input> + <el-input + v-model="formData.assist_admin_names" + placeholder="请选择协作人" + clearable + @click="isManTow = true" + ></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="审查人" prop="icon"> - <el-input v-model="formData.assist_check_names" placeholder="请选择审查人" clearable @click="isManThe = true"></el-input> + <el-input + v-model="formData.assist_check_names" + placeholder="请选择审查人" + clearable + @click="isManThe = true" + ></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="8"> <el-form-item label="开始时间" prop="icon"> - <el-date-picker type="date" placeholder="开始时间" value-format="YYYY-MM-DD" v-model="formData.start_time" /> + <el-date-picker + type="date" + placeholder="开始时间" + value-format="YYYY-MM-DD" + v-model="formData.start_time" + /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="结束时间" prop="icon"> - <el-date-picker type="date" placeholder="预计结束时间" value-format="YYYY-MM-DD" v-model="formData.end_time" /> + <el-date-picker + type="date" + placeholder="预计结束时间" + value-format="YYYY-MM-DD" + v-model="formData.end_time" + /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="验收时间" prop="icon"> - <el-date-picker type="date" placeholder="预计验收时间" value-format="YYYY-MM-DD" v-model="formData.check_time" /> + <el-date-picker + type="date" + placeholder="预计验收时间" + value-format="YYYY-MM-DD" + v-model="formData.check_time" + /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="详细描述" prop="icon"> - <editor v-model="formData.content" :height="500" /> - </el-form-item></el-col> + <editor + v-model="formData.content" + :height="500" + /> </el-form-item + ></el-col> </el-row> </el-col> </el-form> @@ -93,19 +153,19 @@ <script lang="ts" setup name="taskEidt"> import type { FormInstance } from "element-plus"; import Popup from "@/components/popup/index.vue"; -import { apiTaskCreat } from "@/api/task"; +import { apiTaskCreat, apiTaskView } from "@/api/task"; import { timeFormat } from "@/utils/util"; import { reactive, onMounted, type PropType } from "vue"; -import DialogIndexMan from './dialog_index_man.vue' +import DialogIndexMan from "./dialog_index_man.vue"; const props = defineProps({ dictData: { type: Object as PropType<Record<string, any[]>>, default: () => ({}), }, - dateValue:{ + dateValue: { type: Date, - default: () => (null), - } + default: () => null, + }, }); const emit = defineEmits(["success", "close"]); const formRef = shallowRef<FormInstance>(); @@ -117,64 +177,66 @@ const popupTitle = computed(() => { return mode.value == "edit" ? "编辑任务" : "新增任务"; }); -onMounted(()=>{ - props.dateValue?.toDateString()?formData.start_time = props.dateValue.toDateString():null; -}) +onMounted(() => { + props.dateValue?.toDateString() + ? (formData.start_time = props.dateValue.toDateString()) + : null; +}); const priorityList = reactive([ { value: 1, - label: "低" + label: "低", }, { value: 2, - label: "中" + label: "中", }, { value: 3, - label: "高" + label: "高", }, { value: 4, - label: "紧急" - } -]) + label: "紧急", + }, +]); const taskTypeList = reactive([ { value: 0, - label: "测试" + label: "测试", }, { value: 1, - label: "修复" + label: "修复", }, { value: 2, - label: "新增" - } -]) + label: "新增", + }, +]); // const timeList = reactive([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]) // 表单数据 const formData = reactive({ id: "", - title: "",//任务名称 - priority: "",//任务优先级 - type: "",//任务类型 - is_bug: "",//是否为修复bug - start_time: "",//预计开始时间 - end_time: "",//预计结束时间 - check_time: "",//预计验收时间 - director_name: "",//负责人 - director_uid: "",//负责人id - assist_admin_names: "",//协作人 - assist_admin_ids: "",//协作人id - assist_check_names: "",//审查人 - assist_check_ids: "",//审查人id - content: "",//任务描述 - project_id: ""//项目id + title: "", //任务名称 + priority: "", //任务优先级 + type: "", //任务类型 + is_bug: "", //是否为修复bug + start_time: "", //预计开始时间 + end_time: "", //预计结束时间 + check_time: "", //预计验收时间 + director_name: "", //负责人 + director_uid: "", //负责人id + assist_admin_names: "", //协作人 + assist_admin_ids: "", //协作人id + assist_check_names: "", //审查人 + assist_check_ids: "", //审查人id + content: "", //任务描述 + project_id: "", //项目id }); // 获取详情 @@ -187,11 +249,11 @@ const setFormData = async (data: Record<any, any>) => { } }; -const getDetail = async (row: Record<string, any>) => { - const data = await apiFlowTypeDetail({ - id: row.id, +const getDetail = async (id: number) => { + const data = await apiTaskView({ + id, }); - setFormData(data); + setFormData(data.detail); }; // 选择负责人 @@ -201,17 +263,17 @@ const isManTow = ref(false); // 选择审查人 const isManThe = ref(false); function customEvent(data: any) { - isMan.value = false + isMan.value = false; formData.director_name = data.name; formData.director_uid = data.id; } function customEventMan(data: any) { - isManTow.value = false + isManTow.value = false; formData.assist_admin_names = data.name; formData.assist_admin_ids = data.id; } function customEventManThe(data: any) { - isManThe.value = false + isManThe.value = false; formData.assist_check_names = data.name; formData.assist_check_ids = data.id; } diff --git a/src/views/user_informationg/detil.vue b/src/views/user_informationg/detil.vue index 3aa3fa6..5582d22 100644 --- a/src/views/user_informationg/detil.vue +++ b/src/views/user_informationg/detil.vue @@ -1,11 +1,19 @@ <template> <div class="content"> - <el-form ref="elForm" :model="formData" size="mini" label-width="100px"> - <div class="tit">个人信息</div> + <el-form + ref="elForm" + :disabled="true" + :model="formData" + size="mini" + label-width="100px" + > + <div style="font-size: 1.2rem; translate: 1vw 0; background-color: white"> + 个人信息 + </div> <el-col> <el-row> - <el-col :span="8"> + <el-col :span="6"> <el-form-item label="姓名" prop="name"> <el-input v-model="formData.name" @@ -16,7 +24,7 @@ </el-input> </el-form-item> </el-col> - <el-col :span="8"> + <el-col :span="6"> <el-form-item label="电话" prop="phone"> <el-input v-model="formData.phone" @@ -38,7 +46,7 @@ </el-input> </el-form-item> </el-col> --> - <el-col :span="8"> + <el-col :span="6"> <el-form-item label="所属成员" prop="field104"> <el-input v-model="formData.field104" @@ -49,8 +57,18 @@ </el-input> </el-form-item> </el-col> + <el-col :span="6"> + <el-form-item label="地址" prop="field104"> + <el-input + v-model="formData.address" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> </el-row> - <el-row> + <!-- <el-row> <el-form-item label="省" prop="province" style="flex: 1"> <el-select :disabled="isCheck" @@ -129,7 +147,7 @@ :style="{ width: '100%' }" ></el-input> </el-form-item> - </el-row> + </el-row> --> </el-col> <p class="tit">常住人口</p> @@ -152,7 +170,7 @@ <el-date-picker :disabled="true" v-model="item.birth_time" - style="width: 14vw" + style="width: 150%" placeholder="请输入出生日期" clearable ></el-date-picker> @@ -162,7 +180,7 @@ <el-form-item label="就业情况" prop="field111"> <el-select :disabled="true" - v-model="item.work" + v-model="item.situation" placeholder="请输入就业情况" clearable :style="{ width: '100%' }" @@ -177,20 +195,6 @@ </el-form-item> </el-col> <el-col :span="6"> - <el-form-item label="电话" prop="field140"> - <el-input - v-model="item.phone" - :disabled="true" - placeholder="请输入电话" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> <el-form-item label="技能特长" prop="field119"> <el-input v-model="item.skills" @@ -202,11 +206,24 @@ </el-form-item> </el-col> </el-row> + <!-- <el-row> + <el-col :span="6"> + <el-form-item label="技能特长" prop="field119"> + <el-input + v-model="item.skills" + placeholder="请输入技能特长" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> --> </div> - <el-form-item label-width="150px" label="是否有婴幼儿"> + <el-form-item> <el-radio-group v-model="formData.child" size="medium"> - <el-radio :label="1">是否有婴幼儿</el-radio> + <el-radio :label="1">婴幼儿</el-radio> </el-radio-group> </el-form-item> <!-- <p style="padding: 0 0 20px 10px"> @@ -225,31 +242,10 @@ </p> --> </el-col> <div v-for="(item, index) in formData.child_arr" v-if="formData.child"> - <el-col> + <el-col v-if="formData.child_arr[index].age < 3"> <el-row> <el-col :span="6"> - <el-form-item label="儿子姓名" prop="field125"> - <el-input - v-model="item.name" - placeholder="请输入儿子姓名" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="年龄" prop="field133" class="dates"> - <el-date-picker - v-model="item.birth" - :style="{ width: '100%' }" - placeholder="请选择出生日期" - clearable - ></el-date-picker> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="年领" prop="field134"> + <el-form-item label="年龄" prop="field134"> <el-input v-model="item.age" clearable @@ -260,7 +256,7 @@ </el-form-item> </el-col> - <el-col :span="4" v-if="formData.child_arr[index].age < 3"> + <el-col :span="6" v-if="formData.child_arr[index].age < 3"> <el-form-item label-width="4vw" label="" prop="field156"> <el-radio-group v-model="item.feeding" size="medium"> <el-radio @@ -272,51 +268,7 @@ </el-radio-group> </el-form-item> </el-col> - - <el-col :span="6" v-if="formData.child_arr[index].age >= 3"> - <el-form-item label="年纪" prop="field141"> - <el-input - v-model="item.grade" - placeholder="请输入年纪" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - - <el-row v-if="formData.child_arr[index].age >= 3"> <el-col :span="12"> - <el-form-item label="补课情况" prop="field135"> - <el-checkbox-group v-model="item.lessons" size="medium"> - <el-checkbox - v-for="(items, indexs) in datas.subjs" - :key="indexs" - :label="items.value" - >{{ items.label }}</el-checkbox - > - </el-checkbox-group> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="备注" prop="field138"> - <el-input - v-model="item.notes" - placeholder="请输入备注" - clearable - type="textarea" - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - </el-col> - - <el-col v-if="formData.child_arr[index].age < 3"> - <el-row> - <el-col :span="24"> <el-form-item label="备注" prop="field157"> <el-input v-model="item.notes" @@ -329,6 +281,59 @@ </el-col> </el-row> </el-col> + <el-col v-else> + <el-row> + <el-col :span="6"> + <el-form-item label="年龄" prop="field134"> + <el-input + v-model="item.age" + clearable + :disabled="true" + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6" v-if="formData.child_arr[index].age >= 3"> + <el-form-item label="年纪" prop="field141"> + <el-input + v-model="item.grade" + placeholder="请输入年纪" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="补课情况" prop="field135"> + <el-input + v-model="item.lessons" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="备注" prop="field138"> + <el-input + v-model="item.notes" + placeholder="请输入备注" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + </el-col> + + <!-- <el-col> + <el-row> + + </el-row> + </el-col> --> </div> <p class="tit">家庭情况</p> @@ -381,6 +386,9 @@ <p class="tit">土地具体信息</p> <div v-for="(item, index) in formData.datas"> + <p style="font-weight: bold; padding-left: 1vw"> + 土地信息{{ index + 1 }}: + </p> <el-col> <el-row> <el-col :span="6"> @@ -427,7 +435,7 @@ </el-col> </el-row> <el-row - ><el-col :span="6"> + ><el-col :span="4"> <el-form-item label="产量" prop="field175"> <el-input v-model="item.datas.yield" @@ -438,7 +446,7 @@ </el-input> </el-form-item> </el-col> - <el-col :span="6"> + <el-col :span="8"> <el-form-item label="农资农具使用情况" label-width="150px" @@ -496,7 +504,7 @@ v-model="item.datas.breeding_training" size="medium" > - <el-radio label="1">有无种植培训</el-radio> + <el-radio label="1">种植培训</el-radio> </el-radio-group> </el-form-item> </el-col> @@ -543,7 +551,7 @@ v-model="item.datas.ecological_farming" size="medium" > - <el-radio label="1">是否生态种植</el-radio> + <el-radio label="1">生态种植</el-radio> </el-radio-group> </el-form-item> </el-col> @@ -551,7 +559,7 @@ <el-col :span="4"> <el-form-item label-width="100px" prop="field182"> <el-radio-group v-model="item.datas.promote" size="medium"> - <el-radio label="1">有无宣传推广</el-radio> + <el-radio label="1">宣传推广</el-radio> > </el-radio-group> @@ -564,7 +572,7 @@ v-model="item.datas.processing_storage" size="medium" > - <el-radio label="1">有无加工仓储</el-radio> + <el-radio label="1">加工仓储</el-radio> </el-radio-group> </el-form-item> </el-col> @@ -574,7 +582,7 @@ v-model="item.datas.transportation" size="medium" > - <el-radio label="1">有无运输</el-radio> + <el-radio label="1">运输</el-radio> </el-radio-group> </el-form-item> </el-col> @@ -605,265 +613,264 @@ <el-col :span="8"> <el-form-item label-width="4vw" prop="field188"> <el-radio-group - v-model="formData.expand_business_needs" + v-model="item.datas.expand_business_needs" size="medium" > - <el-radio - v-for="(item, index) in field188Options" - :key="index" - :label="item.value" - >{{ item.label }}</el-radio + <el-radio label="1">是否想要扩大经营 </el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + </el-col> + <div style="box-sizing: border-box; padding: 0 2vw"> + <p + style=" + border: 1px solid #bfbfbf; + margin-bottom: 6px; + text-align: center; + " + ></p> + </div> + </div> + <div v-if="false"> + <p class="tit"> + 更新时间 <span style="font-size: 14px">2022年12月30日</span> + </p> + <div + v-for="(item, index) in formData.housingDecoration" + v-if="formData.housingDecoration[0]?.field101" + :key="index" + > + <el-col> + <el-row> + <el-col :span="2"> + <el-form-item label-width="100px" prop="field101"> + <el-radio-group v-model="item.field101" size="medium"> + <el-radio :label="1">修房</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label-width="100px" prop="field102"> + <el-radio-group v-model="item.field102" size="medium"> + <el-radio label="1">自建</el-radio> + <el-radio label="2">外包</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="建设面积" prop="field103"> + <el-input + v-model="item.field103" + placeholder="请输入建设面积" + clearable + :style="{ width: '100%' }" > - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-col> - <div style="box-sizing: border-box; padding: 0 2vw"> - <p - style=" - border: 1px solid #bfbfbf; - margin-bottom: 6px; - text-align: center; - " - ></p> - </div> - </div> - - <p class="tit"> - 更新时间 <span style="font-size: 14px">2022年12月30日</span> - </p> - <div - v-for="(item, index) in formData.housingDecoration" - v-if="formData.housingDecoration[0]?.field101" - :key="index" - > - <el-col> - <el-row> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field101"> - <el-radio-group v-model="item.field101" size="medium"> - <el-radio :label="1">修房</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field102"> - <el-radio-group v-model="item.field102" size="medium"> - <el-radio label="1">自建</el-radio> - <el-radio label="2">外包</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="建设面积" prop="field103"> - <el-input - v-model="item.field103" - placeholder="请输入建设面积" - clearable - :style="{ width: '100%' }" + </el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="房屋风格" prop="field104"> + <el-select + :disabled="isCheck" + v-model="formData.province" + clearable + :style="{ width: '100%' }" + > + <el-option + v-for="(item, index) in datas.houseStyle" + :key="index" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="修建地址" prop="field105"> + <el-input + v-model="item.field105" + placeholder="请输入修建地址" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="预算" prop="field106"> + <el-input + v-model="item.field106" + placeholder="请输入预算" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="2"> + <el-form-item prop="field108"> + <el-radio-group v-model="item.field102" size="medium"> + <el-radio label="1">绿化</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="2"> + <el-form-item prop="field109"> + <el-radio-group v-model="item.field102" size="medium"> + <el-radio label="1">装修</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item prop="field110"> + <el-radio-group + v-model="item.field102" + lable-width="0" + size="medium" + > + <el-radio :label="1">私人建设</el-radio> + <el-radio :label="2">公共建设</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + </el-col> + <el-col :span="24"> + <el-row> + <el-col :span="8"> + <el-form-item + label="建筑、在建土地" + label-width="150px" + prop="field113" > - </el-input> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="房屋风格" prop="field104"> - <el-select - :disabled="isCheck" - v-model="formData.province" - clearable - :style="{ width: '100%' }" + <img + src="https://img0.baidu.com/it/u=1617940732,1879989235&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" + alt="图片加载失败" + style="width: 200px" + /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-button + type="primary" + size="medium" + style="position: absolute; bottom: 2vh" > - <el-option - v-for="(item, index) in datas.houseStyle" - :key="index" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="8"> - <el-form-item label="修建地址" prop="field105"> - <el-input - v-model="item.field105" - placeholder="请输入修建地址" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="预算" prop="field106"> - <el-input - v-model="item.field106" - placeholder="请输入预算" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="2"> - <el-form-item label-width="50px" prop="field108"> - <el-radio-group v-model="item.field102" size="medium"> - <el-radio label="1">绿化</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="3"> - <el-form-item label-width="100px" prop="field109"> - <el-radio-group v-model="item.field102" size="medium"> - <el-radio label="1">装修</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="3"> - <el-form-item label-width="0" prop="field110"> - <el-radio-group v-model="item.field102" size="medium"> - <el-radio :label="1">私人建设</el-radio> - <el-radio :label="2">公共建设</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-col> - <el-col :span="24"> - <el-row> - <el-col :span="8"> - <el-form-item - label="建筑、在建土地" - label-width="150px" - prop="field113" + 分析该信息 + </el-button> + </el-col> + </el-row> + </el-col> + <el-col :span="24" v-if="analyse"> + <el-form-item label="分析结论" prop="field114"> + <el-input + v-model="item.field114" + placeholder="请输入分析结论" + clearable + :style="{ width: '100%' }" > - <img - src="https://img0.baidu.com/it/u=1617940732,1879989235&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" - alt="图片加载失败" - style="width: 200px" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-button - type="primary" - size="medium" - style="position: absolute; bottom: 2vh" - > - 分析该信息 - </el-button> - </el-col> - </el-row> - </el-col> - <el-col :span="24"> - <el-form-item label="分析结论" prop="field114"> - <el-input - v-model="item.field114" - placeholder="请输入分析结论" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <!-- 分割线 --> - <div style="box-sizing: border-box; padding: 0 2vw"> - <p - style=" - border: 1px solid #bfbfbf; - margin-bottom: 6px; - text-align: center; - " - ></p> + </el-input> + </el-form-item> + </el-col> + <!-- 分割线 --> + <div style="box-sizing: border-box; padding: 0 2vw"> + <p + style=" + border: 1px solid #bfbfbf; + margin-bottom: 6px; + text-align: center; + " + ></p> + </div> </div> - </div> - <div - v-for="(item, index) in formData.housingDecoration" - v-if="formData.housingDecoration[0]?.field101" - :key="index" - > - <el-col> - <el-row> - <el-col :span="8"> - <el-form-item label-width="100px" prop="field101"> - <el-radio-group v-model="item.field101" size="medium"> - <el-radio :label="1">装房</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="房屋面积" prop="field103"> - <el-input - v-model="item.field103" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="房屋风格" prop="field104"> - <el-select - :disabled="isCheck" - v-model="formData.province" - clearable - :style="{ width: '100%' }" - > - <el-option - v-for="(item, index) in datas.houseStyle" - :key="index" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="8"> - <el-form-item label="地点" prop="field105"> - <el-input - v-model="item.field105" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label-width="100px" prop="field110"> - <el-radio-group v-model="item.field102" size="medium"> - <el-radio :label="1">私人建设</el-radio> - <el-radio :label="2">公共建设</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="预算" prop="field103"> - <el-input - v-model="item.field103" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - </el-col> - <!-- 分割线 --> - <div style="box-sizing: border-box; padding: 0 2vw"> - <p - style=" - border: 1px solid #bfbfbf; - margin-bottom: 6px; - text-align: center; - " - ></p> + <div + v-for="(item, index) in formData.housingDecoration" + v-if="formData.housingDecoration[0]?.field101" + :key="index" + > + <el-col> + <el-row> + <el-col :span="8"> + <el-form-item label-width="100px" prop="field101"> + <el-radio-group v-model="item.field101" size="medium"> + <el-radio :label="1">装房</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="房屋面积" prop="field103"> + <el-input + v-model="item.field103" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="房屋风格" prop="field104"> + <el-select + :disabled="isCheck" + v-model="formData.province" + clearable + :style="{ width: '100%' }" + > + <el-option + v-for="(item, index) in datas.houseStyle" + :key="index" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="地点" prop="field105"> + <el-input + v-model="item.field105" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label-width="100px" prop="field110"> + <el-radio-group v-model="item.field102" size="medium"> + <el-radio :label="1">私人建设</el-radio> + <el-radio :label="2">公共建设</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="预算" prop="field103"> + <el-input + v-model="item.field103" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + </el-col> + <!-- 分割线 --> + <div style="box-sizing: border-box; padding: 0 2vw"> + <p + style=" + border: 1px solid #bfbfbf; + margin-bottom: 6px; + text-align: center; + " + ></p> + </div> </div> - </div> - <!-- <el-col :span="24"> + <!-- <el-col :span="24"> <el-form-item label-width="100px" prop="field115"> <el-button type="primary" size="medium" @click="addDecoration"> 添加分析 @@ -871,230 +878,131 @@ </el-form-item> </el-col> --> - <el-col v-if="formData.fanxin"> - <el-row> - <el-col :span="6"> - <el-form-item label-width="100px" prop="field101"> - <el-radio-group v-model="formData.fanxin" size="medium"> - <el-radio :label="1">翻新</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="维护内容" prop="field102"> - <el-select - v-model="formData.field102" - placeholder="请选择维护内容" - clearable - :style="{ width: '100%' }" - > - <el-option - v-for="(item, index) in datas.weihu" - :key="index" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label-width="100px" prop="field103"> - <el-radio-group v-model="formData.field103" size="medium"> - <el-radio label="1">换房</el-radio> - <el-radio label="2">修房</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <div style="box-sizing: border-box; padding: 0 2vw"> - <p - style=" - border: 1px solid #bfbfbf; - margin-bottom: 6px; - text-align: center; - " - ></p> - </div> - </el-col> - - <!-- 买卖房屋 --> - <el-col v-if="formData.sellhouse"> - <el-row> - <el-col :span="6"> - <el-form-item label-width="100px" prop="field104"> - <el-radio-group v-model="formData.sellhouse" size="medium"> - <el-radio :label="1">买房</el-radio> - <el-radio :label="2">卖房</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="9"> - <el-form-item label="位置" prop="field105"> - <el-input - v-model="formData.field105" - placeholder="请输入位置" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="9"> - <el-form-item label="房型" prop="field106"> - <el-select - v-model="formData.field106" - placeholder="请选择房型" - clearable - :style="{ width: '100%' }" - > - <el-option - v-for="(item, index) in datas.houseStyle" - :key="index" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="几房" prop="field107"> - <el-input - v-model="formData.field107" - placeholder="请输入几房" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="面积" prop="field108"> - <el-input - v-model="formData.field108" - placeholder="请输入面积" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="朝向" prop="field109"> - <el-input - v-model="formData.field109" - placeholder="请输入朝向" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="楼层" prop="field110"> - <el-input - v-model="formData.field110" - placeholder="请输入楼层" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label-width="100px" prop="field111"> - <el-radio-group v-model="formData.field111" size="medium"> - <el-radio label="1">精装</el-radio> - <el-radio label="2">清水</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="预算" prop="field112"> - <el-input - v-model="formData.field112" - placeholder="预算" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label-width="100px" prop="field113"> - <el-radio-group v-model="formData.field113" size="medium"> - <el-radio label="1">按揭</el-radio> - <el-radio label="2">全款</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <div style="box-sizing: border-box; padding: 0 2vw"> - <p - style=" - border: 1px solid #bfbfbf; - margin-bottom: 6px; - text-align: center; - " - ></p> - </div> - </el-col> - - <el-col :span="24"> - <el-form-item label="分析汇总" prop="field116"> - <el-input - v-model="formData.field116" - type="textarea" - placeholder="请输入分析汇总" - :autosize="{ minRows: 4, maxRows: 4 }" - :style="{ width: '100%' }" - ></el-input> - </el-form-item> - </el-col> - <p style="text-align: center"> - <el-button type="primary" size="medium" @click="addDecoration"> - 确认发送 - </el-button> - </p> - <p class="tit"> - 历史信息 <span style="font-size: 14px">2022年12月30日</span> - </p> - <div v-for="(item, index) in formData.historyDecoration" :key="index"> - <el-col> + <el-col v-if="formData.fanxin"> <el-row> - <el-col :span="4"> + <el-col :span="6"> <el-form-item label-width="100px" prop="field101"> - <el-radio-group v-model="item.field101" size="medium"> - <el-radio :label="1">修房</el-radio> + <el-radio-group v-model="formData.fanxin" size="medium"> + <el-radio :label="1">翻新</el-radio> </el-radio-group> </el-form-item> </el-col> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field102"> - <el-radio-group v-model="item.field102" size="medium"> - <el-radio :label="1">自建</el-radio> + <el-col :span="12"> + <el-form-item label="维护内容" prop="field102"> + <el-select + v-model="formData.field102" + placeholder="请选择维护内容" + clearable + :style="{ width: '100%' }" + > + <el-option + v-for="(item, index) in datas.weihu" + :key="index" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label-width="100px" prop="field103"> + <el-radio-group v-model="formData.field103" size="medium"> + <el-radio label="1">换房</el-radio> + <el-radio label="2">修房</el-radio> </el-radio-group> </el-form-item> </el-col> - <el-col :span="8"> - <el-form-item label="建设面积" prop="field103"> + </el-row> + <div style="box-sizing: border-box; padding: 0 2vw"> + <p + style=" + border: 1px solid #bfbfbf; + margin-bottom: 6px; + text-align: center; + " + ></p> + </div> + </el-col> + + <!-- 买卖房屋 --> + <el-col v-if="formData.sellhouse"> + <el-row> + <el-col :span="6"> + <el-form-item label-width="100px" prop="field104"> + <el-radio-group v-model="formData.sellhouse" size="medium"> + <el-radio :label="1">买房</el-radio> + <el-radio :label="2">卖房</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="9"> + <el-form-item label="位置" prop="field105"> <el-input - v-model="item.field103" - placeholder="请输入建设面积" + v-model="formData.field105" + placeholder="请输入位置" clearable :style="{ width: '100%' }" > </el-input> </el-form-item> </el-col> - <el-col :span="8"> - <el-form-item label="房屋风格" prop="field104"> + <el-col :span="9"> + <el-form-item label="房型" prop="field106"> + <el-select + v-model="formData.field106" + placeholder="请选择房型" + clearable + :style="{ width: '100%' }" + > + <el-option + v-for="(item, index) in datas.houseStyle" + :key="index" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="几房" prop="field107"> <el-input - v-model="item.field104" - placeholder="请输入房屋风格" + v-model="formData.field107" + placeholder="请输入几房" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="面积" prop="field108"> + <el-input + v-model="formData.field108" + placeholder="请输入面积" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="朝向" prop="field109"> + <el-input + v-model="formData.field109" + placeholder="请输入朝向" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="楼层" prop="field110"> + <el-input + v-model="formData.field110" + placeholder="请输入楼层" clearable :style="{ width: '100%' }" > @@ -1103,362 +1011,463 @@ </el-col> </el-row> <el-row> - <el-col :span="8"> - <el-form-item label="修建地址" prop="field105"> + <el-col :span="6"> + <el-form-item label-width="100px" prop="field111"> + <el-radio-group v-model="formData.field111" size="medium"> + <el-radio label="1">精装</el-radio> + <el-radio label="2">清水</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="预算" prop="field112"> <el-input - v-model="item.field105" - placeholder="请输入修建地址" + v-model="formData.field112" + placeholder="预算" clearable :style="{ width: '100%' }" > </el-input> </el-form-item> </el-col> - <el-col :span="8"> - <el-form-item label="预算" prop="field106"> - <el-input - v-model="item.field106" - placeholder="请输入预算" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="2"> - <el-form-item label-width="50px" prop="field108"> - <el-checkbox-group v-model="item.field108" size="medium"> - <el-checkbox :label="1">无绿化</el-checkbox> - </el-checkbox-group> - </el-form-item> - </el-col> - <el-col :span="3"> - <el-form-item label-width="100px" prop="field109"> - <el-checkbox-group v-model="item.field109" size="medium"> - <el-checkbox :label="1">有装修</el-checkbox> - </el-checkbox-group> - </el-form-item> - </el-col> - <el-col :span="3"> - <el-form-item label-width="0" prop="field110"> - <el-radio-group v-model="item.field102" size="medium"> - <el-radio :label="1">私人建设</el-radio> - <el-radio :label="2">公共建设</el-radio> + <el-col :span="6"> + <el-form-item label-width="100px" prop="field113"> + <el-radio-group v-model="formData.field113" size="medium"> + <el-radio label="1">按揭</el-radio> + <el-radio label="2">全款</el-radio> </el-radio-group> </el-form-item> </el-col> </el-row> + <div style="box-sizing: border-box; padding: 0 2vw"> + <p + style=" + border: 1px solid #bfbfbf; + margin-bottom: 6px; + text-align: center; + " + ></p> + </div> </el-col> + <el-col :span="24"> - <el-row> - <el-col :span="8"> - <el-form-item - label="建筑、在建土地" - label-width="150px" - prop="field113" - > - <img - src="https://img0.baidu.com/it/u=1617940732,1879989235&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" - alt="图片加载失败" - style="width: 200px" - /> - </el-form-item> - </el-col> - </el-row> - </el-col> - <el-col :span="24"> - <el-form-item label="分析结论" prop="field114"> + <el-form-item label="分析汇总" prop="field116"> <el-input - v-model="item.field114" - placeholder="请输入分析结论" - clearable + v-model="formData.field116" + type="textarea" + placeholder="请输入分析汇总" + :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }" - > - </el-input> + ></el-input> </el-form-item> </el-col> + <p style="text-align: center; margin-bottom: 2vh"> + <el-button type="primary" size="medium" @click="addDecoration"> + 确认发送 + </el-button> + </p> + <p class="tit"> + 历史信息 <span style="font-size: 14px">2022年12月30日</span> + </p> + <div v-for="(item, index) in formData.historyDecoration" :key="index"> + <el-col> + <el-row> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field101"> + <el-radio-group v-model="item.field101" size="medium"> + <el-radio :label="1">修房</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field102"> + <el-radio-group v-model="item.field102" size="medium"> + <el-radio :label="1">自建</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="建设面积" prop="field103"> + <el-input + v-model="item.field103" + placeholder="请输入建设面积" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="房屋风格" prop="field104"> + <el-input + v-model="item.field104" + placeholder="请输入房屋风格" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="修建地址" prop="field105"> + <el-input + v-model="item.field105" + placeholder="请输入修建地址" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label="预算" prop="field106"> + <el-input + v-model="item.field106" + placeholder="请输入预算" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="3"> + <el-form-item label-width="20px" prop="field108"> + <el-radio-group v-model="item.field108" size="medium"> + <el-radio :label="1">绿化</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="3"> + <el-form-item label-width="0px" prop="field109"> + <el-radio-group v-model="item.field109" size="medium"> + <el-radio :label="1">有装修</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label-width="0" prop="field110"> + <el-radio-group v-model="item.field102" size="medium"> + <el-radio :label="1">私人建设</el-radio> + <el-radio :label="2">公共建设</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + </el-col> + <el-col :span="24"> + <el-row> + <el-col :span="8"> + <el-form-item + label="建筑、在建土地" + label-width="150px" + prop="field113" + > + <img + src="https://img0.baidu.com/it/u=1617940732,1879989235&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" + alt="图片加载失败" + style="width: 200px" + /> + </el-form-item> + </el-col> + </el-row> + </el-col> + <el-col :span="24"> + <el-form-item label="分析结论" prop="field114"> + <el-input + v-model="item.field114" + placeholder="请输入分析结论" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </div> + + <el-col :span="24"> + <el-form-item label="分析汇总" prop="field116"> + <el-input + v-model="formData.field116" + type="textarea" + placeholder="请输入分析汇总" + :autosize="{ minRows: 4, maxRows: 4 }" + :style="{ width: '100%' }" + ></el-input> + </el-form-item> + </el-col> + <p style="text-align: center; margin-bottom: 2vh"> + 已于2012年12月12日12:12:12发送 + </p> + + <p class="tit">深/粗加工</p> + <el-col> + <el-row> + <el-col :span="12"> + <el-form-item label-width="100px" prop="field101"> + <el-radio-group v-model="formData.isWorkshop" size="medium"> + <el-radio :label="1">厂房</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="诉求" prop="field116"> + <el-input + v-model="formData.field116" + placeholder="请输入诉求" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + </el-col> + <el-col v-if="formData.isWorkshop"> + <el-row> + <el-col :span="6"> + <el-form-item label="经营类型" prop="field117"> + <el-select + v-model="formData.field117" + placeholder="请选择经营类型" + clearable + :style="{ width: '100%' }" + > + <el-option + v-for="(item, index) in field117Options" + :key="index" + :label="item.label" + :value="item.value" + :disabled="item.disabled" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="地点" prop="field118"> + <el-input + v-model="formData.field118" + placeholder="请输入地点" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="人数" prop="field121"> + <el-input + v-model="formData.field121" + placeholder="请输入人数" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label-width="100px" prop="field126"> + <el-radio-group v-model="formData.field126" size="medium"> + <el-radio :label="1">食堂</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="原材料来源" prop="field127"> + <el-checkbox-group v-model="formData.field127" size="medium"> + <el-checkbox label="1">本队</el-checkbox> + <el-checkbox label="2">外面配送</el-checkbox> + </el-checkbox-group> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item + label="请输入自动化办公程度" + label-width="160px" + prop="field128" + > + <el-input + v-model="formData.field128" + placeholder="请输入程度请输入自动化办公程度" + clearable + :style="{ width: '100%' }" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label-width="100px" prop="field129"> + <el-radio-group v-model="formData.isbrand" size="medium"> + <el-radio :label="1">品牌</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="6" v-if="formData.isbrand"> + <el-form-item label="品牌填写" prop="field130"> + <el-input + v-model="formData.field130" + placeholder="请输入品牌填写" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + + <el-row> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field131"> + <el-radio-group v-model="formData.field131" size="medium"> + <el-radio :label="1">宣传推广</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field132"> + <el-radio-group v-model="formData.field132" size="medium"> + <el-radio :label="1">运输</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field133"> + <el-radio-group v-model="formData.isRecruit" size="medium"> + <el-radio :label="1">用工需求</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="6" v-if="formData.isRecruit"> + <el-form-item label="需求量填写" prop="field135"> + <el-input + v-model="formData.field135" + placeholder="请输入需求量填写" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="formData.isRecruit ? 6 : 12"> + <el-form-item label="存储情况" prop="field136"> + <el-input + v-model="formData.field136" + placeholder="请输入存储情况" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + </el-col> + + <el-col v-else> + <el-row> + <el-col :span="formData.isBuildLand ? 6 : 12"> + <el-form-item label-width="100px" prop="field102"> + <el-radio-group v-model="formData.isBuildLand" size="medium"> + <el-radio :label="1">建设用地</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="6" v-if="formData.isBuildLand"> + <el-form-item label="面积" prop="field104"> + <el-input + v-model="formData.field104" + placeholder="请输入面积" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6" v-if="formData.isBuildLand"> + <el-form-item label="经营地点" prop="field107"> + <el-input + v-model="formData.field107" + placeholder="请输入经营地点" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="formData.isBuildLand ? 6 : 12"> + <el-form-item label="材料来源" prop="field109"> + <el-checkbox-group v-model="formData.field109" size="medium"> + <el-checkbox label="1">本队</el-checkbox> + <el-checkbox label="2">外面配送</el-checkbox> + </el-checkbox-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field110"> + <el-radio-group v-model="formData.field110" size="medium"> + <el-radio :label="1">销售渠道</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field111"> + <el-radio-group v-model="formData.field111" size="medium"> + <el-radio :label="1">技术指导</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field112"> + <el-radio-group v-model="formData.isbrand" size="medium"> + <el-radio :label="1">品牌</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4" v-if="formData.isbrand"> + <el-form-item label="品牌" prop="field113"> + <el-input + v-model="formData.field113" + placeholder="请输入品牌" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field114"> + <el-radio-group v-model="formData.field114" size="medium"> + <el-radio :label="1">宣传推广</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field115"> + <el-radio-group v-model="formData.field115" size="medium"> + <el-radio :label="1">运输</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + </el-col> </div> - - <el-col :span="24"> - <el-form-item label="分析汇总" prop="field116"> - <el-input - v-model="formData.field116" - type="textarea" - placeholder="请输入分析汇总" - :autosize="{ minRows: 4, maxRows: 4 }" - :style="{ width: '100%' }" - ></el-input> - </el-form-item> - </el-col> - <p style="text-align: center">已于2012年12月12日12:12:12发送</p> - - <p class="tit">深/粗加工</p> - <el-col> - <el-row> - <el-col :span="12"> - <el-form-item label-width="100px" prop="field101"> - <el-radio-group v-model="formData.isWorkshop" size="medium"> - <el-radio :label="1">厂房</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="诉求" prop="field116"> - <el-input - v-model="formData.field116" - placeholder="请输入诉求" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - </el-col> - <el-col v-if="formData.isWorkshop"> - <el-row> - <el-col :span="6"> - <el-form-item label="经营类型" prop="field117"> - <el-select - v-model="formData.field117" - placeholder="请选择经营类型" - clearable - :style="{ width: '100%' }" - > - <el-option - v-for="(item, index) in field117Options" - :key="index" - :label="item.label" - :value="item.value" - :disabled="item.disabled" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="地点" prop="field118"> - <el-input - v-model="formData.field118" - placeholder="请输入地点" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="人数" prop="field121"> - <el-input - v-model="formData.field121" - placeholder="请输入人数" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label-width="100px" prop="field126"> - <el-radio-group v-model="formData.field126" size="medium"> - <el-radio :label="1">有无食堂</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="原材料来源" prop="field127"> - <el-checkbox-group v-model="formData.field127" size="medium"> - <el-checkbox label="1">本队</el-checkbox> - <el-checkbox label="2">外面配送</el-checkbox> - </el-checkbox-group> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item - label="请输入自动化办公程度" - label-width="160px" - prop="field128" - > - <el-input - v-model="formData.field128" - placeholder="请输入程度请输入自动化办公程度" - clearable - :style="{ width: '100%' }" - ></el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label-width="100px" prop="field129"> - <el-radio-group v-model="formData.isbrand" size="medium"> - <el-radio :label="1">有无品牌</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="6" v-if="formData.isbrand"> - <el-form-item label="品牌填写" prop="field130"> - <el-input - v-model="formData.field130" - placeholder="请输入品牌填写" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - - <el-row> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field131"> - <el-radio-group v-model="formData.field131" size="medium"> - <el-radio :label="1">有无宣传推广</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field132"> - <el-radio-group v-model="formData.field132" size="medium"> - <el-radio :label="1">有无运输</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field133"> - <el-radio-group v-model="formData.isRecruit" size="medium"> - <el-radio :label="1">有无用工需求</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="6" v-if="formData.isRecruit"> - <el-form-item label="需求量填写" prop="field135"> - <el-input - v-model="formData.field135" - placeholder="请输入需求量填写" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="formData.isRecruit ? 6 : 12"> - <el-form-item label="存储情况" prop="field136"> - <el-input - v-model="formData.field136" - placeholder="请输入存储情况" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - </el-col> - - <el-col v-else> - <el-row> - <el-col :span="formData.isBuildLand ? 6 : 12"> - <el-form-item label-width="100px" prop="field102"> - <el-radio-group v-model="formData.isBuildLand" size="medium"> - <el-radio :label="1">有无建设用地</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="6" v-if="formData.isBuildLand"> - <el-form-item label="面积" prop="field104"> - <el-input - v-model="formData.field104" - placeholder="请输入面积" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="6" v-if="formData.isBuildLand"> - <el-form-item label="经营地点" prop="field107"> - <el-input - v-model="formData.field107" - placeholder="请输入经营地点" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="formData.isBuildLand ? 6 : 12"> - <el-form-item label="材料来源" prop="field109"> - <el-checkbox-group v-model="formData.field109" size="medium"> - <el-checkbox label="1">本队</el-checkbox> - <el-checkbox label="2">外面配送</el-checkbox> - </el-checkbox-group> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field110"> - <el-radio-group v-model="formData.field110" size="medium"> - <el-radio :label="1">有无销售渠道</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field111"> - <el-radio-group v-model="formData.field111" size="medium"> - <el-radio :label="1">有无技术指导</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field112"> - <el-radio-group v-model="formData.isbrand" size="medium"> - <el-radio :label="1">有无品牌</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4" v-if="formData.isbrand"> - <el-form-item label="品牌" prop="field113"> - <el-input - v-model="formData.field113" - placeholder="请输入品牌" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field114"> - <el-radio-group v-model="formData.field114" size="medium"> - <el-radio :label="1">有无宣传推广</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field115"> - <el-radio-group v-model="formData.field115" size="medium"> - <el-radio :label="1">有无运输</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-col> - <p class="tit">开设店铺</p> <el-col> <el-row> <el-col :span="12"> <el-form-item label-width="100px" prop="field101"> - <el-radio-group v-model="formData.isShop" size="medium"> - <el-radio :label="1">有无门面</el-radio> + <el-radio-group v-model="formData.shop_front" size="medium"> + <el-radio :label="1">门面</el-radio> </el-radio-group> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="经营诉求" prop="field102"> <el-input - v-model="formData.field102" + v-model="formData.appeal" placeholder="请输入经营诉求" clearable :style="{ width: '100%' }" @@ -1471,7 +1480,7 @@ <el-col :span="6"> <el-form-item label="门市面积" prop="field103"> <el-input - v-model="formData.field103" + v-model="formData.area" placeholder="请输入门市面积" clearable :style="{ width: '100%' }" @@ -1482,7 +1491,7 @@ <el-col :span="6"> <el-form-item label="地点" prop="field104"> <el-input - v-model="formData.field104" + v-model="formData.place" placeholder="请输入地点" clearable :style="{ width: '100%' }" @@ -1493,7 +1502,7 @@ <el-col :span="6"> <el-form-item label="经营类型" prop="field106"> <el-select - v-model="formData.field106" + v-model="formData.type" placeholder="请选择经营类型" clearable :style="{ width: '100%' }" @@ -1522,7 +1531,7 @@ <el-row> <el-col :span="12"> <el-form-item label="服务对象" prop="field135"> - <el-checkbox-group v-model="formData.field126" size="medium"> + <el-checkbox-group v-model="formData.service" size="medium"> <el-checkbox v-for="(items, indexs) in datas.field109Options" :key="indexs" @@ -1534,8 +1543,8 @@ </el-col> <el-col :span="12"> <el-form-item label-width="100px" prop="field115"> - <el-radio-group v-model="formData.field115" size="medium"> - <el-radio :label="1">有无营业执照</el-radio> + <el-radio-group v-model="formData.brand" size="medium"> + <el-radio :label="1">营业执照</el-radio> </el-radio-group> </el-form-item> </el-col> @@ -1544,12 +1553,12 @@ <el-row> <el-col :span="6"> <el-form-item label-width="100px" prop="field113"> - <el-radio-group v-model="formData.isStock" size="medium"> - <el-radio :label="1">有无进货渠道</el-radio> + <el-radio-group v-model="formData.stock" size="medium"> + <el-radio :label="1">进货渠道</el-radio> </el-radio-group> </el-form-item> </el-col> - <el-col :span="6" v-if="formData.isStock"> + <el-col :span="6" v-if="formData.stock"> <el-form-item label="进货渠道" prop="field114"> <el-input v-model="formData.field114" @@ -1562,12 +1571,12 @@ </el-col> <el-col :span="6"> <el-form-item label-width="100px" prop="field115"> - <el-radio-group v-model="formData.isOnline" size="medium"> - <el-radio :label="1">有无线上展示</el-radio> + <el-radio-group v-model="formData.online_display" size="medium"> + <el-radio :label="1">线上展示</el-radio> </el-radio-group> </el-form-item> </el-col> - <el-col :span="6" v-if="formData.isOnline"> + <el-col :span="6" v-if="formData.online_display"> <el-form-item label="线上平台" prop="field116"> <el-input v-model="formData.field116" @@ -1580,280 +1589,270 @@ </el-col> </el-row> </el-col> - <p class="tit">宴席</p> - <el-col> - <el-row> - <el-col :span="20"> - <el-form-item label="类型" prop="field101a"> - <el-checkbox-group - v-model="formData.banquetList" - @change="test" - size="medium" - > - <el-checkbox - v-for="(item, index) in datas.banquetList" - :key="index" - :label="item.value" - >{{ item.label }}</el-checkbox + <div v-if="false"> + <p class="tit">宴席</p> + <el-col> + <el-row> + <el-col :span="20"> + <el-form-item label="类型" prop="field101a"> + <el-checkbox-group + v-model="formData.banquetList" + @change="test" + size="medium" > - </el-checkbox-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item - label-width="0" - prop="field102a" - v-if="formData.banquetList.includes(5)" - > - <el-radio-group v-model="formData.field102a" size="medium"> - <el-radio :label="1">有无墓地</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="8"> - <el-form-item label="时间" prop="field103a"> - <el-input - v-model="formData.field103a" - placeholder="请输入时间" - clearable - :style="{ width: '100%' }" + <el-checkbox + v-for="(item, index) in datas.banquetList" + :key="index" + :label="item.value" + >{{ item.label }}</el-checkbox + > + </el-checkbox-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item + label-width="0" + prop="field102a" + v-if="formData.banquetList.includes(5)" > - </el-input> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="地点" prop="field104a"> - <el-input - v-model="formData.field104a" - placeholder="请输入地点" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="人物" prop="field105a"> - <el-input - v-model="formData.field105a" - placeholder="请输入人物" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label-width="100px" prop="field106a"> - <el-radio-group v-model="formData.field106a" size="medium"> - <el-radio - v-for="(item, index) in datas.field106aOptions" - :key="index" - :label="item.value" - >{{ item.label }}</el-radio + <el-radio-group v-model="formData.field102a" size="medium"> + <el-radio :label="1">墓地</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="时间" prop="field103a"> + <el-input + v-model="formData.field103a" + placeholder="请输入时间" + clearable + :style="{ width: '100%' }" > - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="0" prop="field107a"> - <el-radio-group v-model="formData.field107a" size="medium"> - <el-radio :label="1">有无歌舞演绎</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="0" prop="field108a"> - <el-radio-group v-model="formData.field108a" size="medium"> - <el-radio :label="1">有无交通工具</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item label-width="0" prop="field109a"> - <el-radio-group v-model="formData.field109a" size="medium"> - <el-radio :label="1">有无住宿</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-col> - - <p class="tit">日常生活采购</p> - <el-col> - <el-row> - <el-col :span="8"> - <el-form-item label="交通工具" prop="field104"> - <el-radio-group v-model="formData.field104" size="medium"> - <el-radio - v-for="(item, index) in datas.field104Options" - :key="index" - :label="item.value" - >{{ item.label }}</el-radio + </el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="地点" prop="field104a"> + <el-input + v-model="formData.field104a" + placeholder="请输入地点" + clearable + :style="{ width: '100%' }" > - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item - label-width="150px" - label="生活用品消费金额" - prop="field105" - > - <el-input - v-model="formData.field105" - placeholder="请输入生活用品消费金额" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="常用品类" prop="field106"> - <el-input - v-model="formData.field106" - placeholder="请输入常用品类" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="8"> - <el-form-item label-width="100px" prop="field101"> - <el-radio-group v-model="formData.isSmoke" size="medium"> - <el-radio :label="1">是否抽烟喝酒</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8" v-if="formData.isSmoke"> - <el-form-item label="品牌" prop="field102"> - <el-input - v-model="formData.field102" - placeholder="请输入品牌" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="水电气话费" prop="field103"> - <el-input - v-model="formData.field103" - placeholder="请输入水电气话费" - clearable - :style="{ width: '100%' }" - > - </el-input> - </el-form-item> - </el-col> - </el-row> - </el-col> + </el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="人物" prop="field105a"> + <el-input + v-model="formData.field105a" + placeholder="请输入人物" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label-width="100px" prop="field106a"> + <el-radio-group v-model="formData.field106a" size="medium"> + <el-radio + v-for="(item, index) in datas.field106aOptions" + :key="index" + :label="item.value" + >{{ item.label }}</el-radio + > + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="0" prop="field107a"> + <el-radio-group v-model="formData.field107a" size="medium"> + <el-radio :label="1">歌舞演绎</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="0" prop="field108a"> + <el-radio-group v-model="formData.field108a" size="medium"> + <el-radio :label="1">交通工具</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="4"> + <el-form-item label-width="0" prop="field109a"> + <el-radio-group v-model="formData.field109a" size="medium"> + <el-radio :label="1">住宿</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + </el-col> - <p class="tit">公益</p> - <el-col> - <el-row> - <el-col :span="4"> - <el-form-item label-width="100px" prop="field107"> - <el-radio-group v-model="formData.isWelfare" size="medium"> - <el-radio :label="1">有无公益拍卖品牌</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item - label-width="150px" - label="可提供的拍卖产品" - prop="field109" - v-if="formData.isWelfare" - > - <el-input - v-model="formData.field109" - placeholder="请输入可提供的拍卖产品" - clearable - :style="{ width: '100%' }" + <p class="tit">日常生活采购</p> + <el-col> + <el-row> + <el-col :span="8"> + <el-form-item label="交通工具" prop="field104"> + <el-radio-group v-model="formData.field104" size="medium"> + <el-radio + v-for="(item, index) in datas.field104Options" + :key="index" + :label="item.value" + >{{ item.label }}</el-radio + > + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item + label-width="150px" + label="生活用品消费金额" + prop="field105" > - </el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label-width="100px" prop="field110"> - <el-radio-group v-model="formData.isNeedWelfare" size="medium"> - <el-radio :label="1">有无需求的工艺产品或服务</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item - label-width="150px" - label="想要的商品/服务" - prop="field111" - v-if="formData.isNeedWelfare" - > - <el-input - v-model="formData.field111" - placeholder="请输入想要的商品/服务" - clearable - :style="{ width: '100%' }" + <el-input + v-model="formData.field105" + placeholder="请输入生活用品消费金额" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="常用品类" prop="field106"> + <el-input + v-model="formData.field106" + placeholder="请输入常用品类" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label-width="100px" prop="field101"> + <el-radio-group v-model="formData.isSmoke" size="medium"> + <el-radio :label="1">是否抽烟喝酒</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="8" v-if="formData.isSmoke"> + <el-form-item label="品牌" prop="field102"> + <el-input + v-model="formData.field102" + placeholder="请输入品牌" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="水电气话费" prop="field103"> + <el-input + v-model="formData.field103" + placeholder="请输入水电气话费" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + </el-col> + + <p class="tit">公益</p> + <el-col> + <el-row> + <el-col :span="4"> + <el-form-item label-width="100px" prop="field107"> + <el-radio-group v-model="formData.isWelfare" size="medium"> + <el-radio :label="1">公益拍卖品牌</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item + label-width="150px" + label="可提供的拍卖产品" + prop="field109" + v-if="formData.isWelfare" > - </el-input> - </el-form-item> - </el-col> - </el-row> - </el-col> + <el-input + v-model="formData.field109" + placeholder="请输入可提供的拍卖产品" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label-width="100px" prop="field110"> + <el-radio-group v-model="formData.isNeedWelfare" size="medium"> + <el-radio :label="1">需求的工艺产品或服务</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item + label-width="150px" + label="想要的商品/服务" + prop="field111" + v-if="formData.isNeedWelfare" + > + <el-input + v-model="formData.field111" + placeholder="请输入想要的商品/服务" + clearable + :style="{ width: '100%' }" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + </el-col> - <p class="tit">家庭情况说明</p> + <p class="tit">家庭情况说明</p> - <el-col :span="24"> - <el-form-item label="家庭情况说明" prop="field113"> - <el-input - v-model="formData.familySituation" - type="textarea" - placeholder="请输入家庭情况说明" - :autosize="{ minRows: 4, maxRows: 4 }" - :style="{ width: '100%' }" - ></el-input> - </el-form-item> - </el-col> - <p class="tit">家庭总诉求</p> + <el-col :span="24"> + <el-form-item label="家庭情况说明" prop="field113"> + <el-input + v-model="formData.familySituation" + type="textarea" + placeholder="请输入家庭情况说明" + :autosize="{ minRows: 4, maxRows: 4 }" + :style="{ width: '100%' }" + ></el-input> + </el-form-item> + </el-col> + <p class="tit">家庭总诉求</p> - <el-col :span="24"> - <el-form-item label="家庭总诉求" prop="field114"> - <el-input - v-model="formData.familyAppeal" - type="textarea" - placeholder="请输入家庭总诉求" - :autosize="{ minRows: 4, maxRows: 4 }" - :style="{ width: '100%' }" - ></el-input> - </el-form-item> - </el-col> - - <el-col :span="24"> - <el-form-item size="large"> - <el-button type="primary" @click="submitForm">提交</el-button> - <el-button @click="resetForm">重置</el-button> - </el-form-item> - </el-col> + <el-col :span="24"> + <el-form-item label="家庭总诉求" prop="field114"> + <el-input + v-model="formData.familyAppeal" + type="textarea" + placeholder="请输入家庭总诉求" + :autosize="{ minRows: 4, maxRows: 4 }" + :style="{ width: '100%' }" + ></el-input> + </el-form-item> + </el-col> + </div> </el-form> </div> </template> <script lang="ts" setup name="test"> import { ref, reactive } from "vue"; -import { - apiCityList, - apiAreaList, - apiStreetList, - apiProvinceList, -} from "@/api/common"; + import { fileManagelist, fileManageDetil } from "@/api/informationg"; const route = useRoute(); @@ -1861,18 +1860,33 @@ const formData = reactive({ name: undefined, phone: "", age: "", + area_name: "", + street_name: "", + village_name: "", + brigade_name: "", // province_id: "", // area_id: "", // street_id: "", // village_id: "", // brigade_id: "", - province: "", - city: "", - area: "", - street: "", - address: "详细地址", + // province: "", + // city: "", + // area: "", + // street: "", + // address: "", + addressa: "", + address: "", // 常住人口 - family: [{ name: "", birth_time: "", work: "", phone: "", skills: "" }], + family: [ + { + name: "", + birth_time: "", + situation: "", + work: "", + phone: "", + skills: "", + }, + ], child: undefined, child_arr: [ { @@ -1880,7 +1894,7 @@ const formData = reactive({ birth: "", age: 0, class: "", - lessons: [], + lessons: "", notes: "", feeding: "", }, @@ -2019,7 +2033,21 @@ const formData = reactive({ field136: undefined, // 结束 // 开设店铺 - isShop: 0, + + shop_front: "", //有无门面 + area: "", + place: "", + type: "", + environment: "", + service: "", + qualification: "", + stock: "", + scale: "", + online_display: "", + brand: "", + repertory: "", + appeal: "", + //有无进货渠道 isStock: 0, // 有无先上展示 @@ -2050,13 +2078,13 @@ const formData = reactive({ }); const workLists = reactive([ - { name: "做工地的", id: 1 }, - { name: "厂里打工", id: 2 }, - { name: "公司职员", id: 3 }, - { name: "政府上班", id: 4 }, - { name: "种地", id: 5 }, - { name: "在家赋闲", id: 6 }, - { name: "其他", id: 7 }, + { name: "做工地的", id: "1" }, + { name: "厂里打工", id: "2" }, + { name: "公司职员", id: "3" }, + { name: "政府上班", id: "4" }, + { name: "种地", id: "5" }, + { name: "在家赋闲", id: "6" }, + { name: "其他", id: "7" }, ]); const isCheck = ref(false); const datas = reactive({ @@ -2085,29 +2113,29 @@ const datas = reactive({ feedsList: [ { label: "母乳", - value: 1, + value: "1", }, { label: "奶粉", - value: 2, + value: "2", }, ], plantList: [ { - label: "自己种", - value: "1", + label: "自己种养", + value: "0", }, { label: "出租", - value: "2", + value: "1", }, { label: "代种养", - value: "3", + value: "2", }, { label: "租更多地扩大种植", - value: "4", + value: "3", }, ], // 房屋风格 @@ -2339,102 +2367,10 @@ const field188Options = reactive([ value: 1, }, ]); -const addFamilyMember = () => { - formData.family.push({ - name: "", - birth_time: "", - work: "", - phone: "", - skills: "", - }); -}; -const addKids = () => { - formData.child_arr.push({ - name: "", - birth: "", - age: 0, - class: "", - lessons: [], - notes: "", - feeding: "", - }); -}; +// 分析 +const analyse = ref(true); -// const addDecoration = () => { -// formData.housingDecoration.push({ -// field102: [], -// field103: undefined, -// field104: undefined, -// field105: undefined, -// field106: undefined, -// field108: [], -// field109: [], -// field110: [], -// field113: null, -// field114: undefined, -// field115: undefined, -// field116: undefined, -// }); -// }; -const submitForm = () => { - console.log(formData); - // this.$refs["elForm"].validate((valid) => { - // if (!valid) return; - // // TODO 提交表单 - // }); -}; -const resetForm = () => { - // this.$refs["elForm"].resetFields(); -}; -// 计算年龄 -const getAge = (i: number) => { - let curDate = formData.child_arr[i].birth; - var val = - curDate.getFullYear() + - "-" + - (curDate.getMonth() + 1) + - "-" + - curDate.getDate(); - let currentYear = new Date().getFullYear(); //当前的年份 - let calculationYear = new Date(val).getFullYear(); //计算的年份 - const wholeTime = currentYear + val.substring(4); //周岁时间 - const calculationAge = currentYear - calculationYear; //按照年份计算的年龄 - //判断是否过了生日 - if (new Date().getTime() > new Date(wholeTime).getTime()) { - formData.child_arr[i].age = calculationAge; - } else { - formData.child_arr[i].age = calculationAge - 1; - } -}; -//获取省份 -function province_change(value: string) { - getCityList(); -} -function city_change(value: string) { - getAreaList(); -} -function area_change(value: string) { - getStreetList(); -} -function street_change(value: string) { - formData.street = value; -} -const getProvinceList = async () => { - const data = await apiProvinceList({}); - datas["provinceOptions"] = data; -}; -const getCityList = async () => { - const data = await apiCityList({ city: formData.province }); - datas["cityOptions"] = data; -}; -const getAreaList = async () => { - const data = await apiAreaList({ area: formData.city }); - datas["areaOptions"] = data; -}; -const getStreetList = async () => { - const data = await apiStreetList({ street: formData.area }); - datas["streetOptions"] = data; -}; +const addDecoration = () => {}; fileManageDetil({ id: route.query.id }).then(async (res) => { // console.log(res); @@ -2444,14 +2380,24 @@ fileManageDetil({ id: route.query.id }).then(async (res) => { formData[key] = res[key]; } } + // "area_name": "江阳区", + // "street_name": "茜草街道", + // "village_name": "建国村", + // "brigade_name": "10队", + formData.addressa = + formData.area_name + + formData.street_name + + formData.village_name + + formData.brigade_name + + formData.address; + console.log(formData); // await getCityList(); // await getAreaList(); // await getStreetList(); }); -getProvinceList(); </script> -<style lang="scss"> +<style lang="scss" scoped> .content { background-color: #fff; } @@ -2460,6 +2406,8 @@ getProvinceList(); font-size: 1.2rem; translate: 1vw -1vw; background-color: white; + + margin: 2vh 0 0vh; } // .tit { diff --git a/src/views/user_informationg/editCate.vue b/src/views/user_informationg/editCate.vue index 6f9575a..9dd71ad 100644 --- a/src/views/user_informationg/editCate.vue +++ b/src/views/user_informationg/editCate.vue @@ -1,45 +1,26 @@ <template> <div class="edit-popup"> - <popup - ref="popupRef" - :title="popupTitle" - :async="true" - width="550px" - @confirm="handleSubmit" - @close="handleClose" - > + <popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose"> <el-form ref="formRef" :model="formData" label-width="84px"> <el-col class="pt-6 !border-none"> <el-row> <el-col> <el-form-item label="名称" prop="title"> - <el-input - v-model="formData.title" - placeholder="请输入名称" - clearable - ></el-input> + <el-input v-model="formData.title" placeholder="请输入名称" clearable></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col> <el-form-item label="标识" prop="name"> - <el-input - v-model="formData.name" - placeholder="请输入审批类型标识" - clearable - ></el-input> + <el-input v-model="formData.name" placeholder="请输入审批类型标识" clearable></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col> <el-form-item label="图标" prop="icon"> - <el-input - v-model="formData.icon" - placeholder="请输入审批类型图标" - clearable - ></el-input> + <el-input v-model="formData.icon" placeholder="请输入审批类型图标" clearable></el-input> </el-form-item> </el-col> </el-row> @@ -56,6 +37,8 @@ import { apiCateCreat } from "@/api/examined"; import { timeFormat } from "@/utils/util"; import type { PropType } from "vue"; import { fileManagelist, fileManageDetil } from "@/api/informationg"; +import { getUserList } from "@/api/consumer"; + defineProps({ dictData: { @@ -94,12 +77,12 @@ const setFormData = async (data: Record<any, any>) => { } }; -const getDetail = async (row: Record<string, any>) => { - const data = await apiFlowTypeDetail({ - id: row.id, - }); - setFormData(data); -}; +// const getDetail = async (row: Record<string, any>) => { +// const data = await apiFlowTypeDetail({ +// id: row.id, +// }); +// setFormData(data); +// }; // 提交按钮 const handleSubmit = async () => { diff --git a/src/views/user_informationg/index.vue b/src/views/user_informationg/index.vue index 32c6670..faf8332 100644 --- a/src/views/user_informationg/index.vue +++ b/src/views/user_informationg/index.vue @@ -3,22 +3,19 @@ <el-card class="!border-none" v-loading="pager.loading" shadow="never"> <el-form class="mb-[-16px]" inline> <el-form-item label="公司名称" prop="company_id"> - <el-input class="w-[280px]" clearable placeholder="请输入公司" /> - </el-form-item> - <el-form-item label="合同类型" prop="contract_type"> - <el-input class="w-[280px]" clearable placeholder="请输入合同类型" /> + <el-input + class="w-[280px]" + v-model="queryParams.name" + clearable + placeholder="请输入公司" + /> </el-form-item> + <el-form-item> - <el-button type="primary">查询</el-button> - <el-button>重置</el-button> + <el-button type="primary" @click="resetPage">查询</el-button> + <el-button @click="resetParams">重置</el-button> </el-form-item> </el-form> - <el-button v-perms="['flow_type/add']" type="primary" @click=""> - <template #icon> - <icon name="el-icon-Plus" /> - </template> - 新增 - </el-button> <div class="mt-4"> <el-table :data="pager.lists" @selection-change="handleSelectionChange"> <el-table-column label="用户编号" prop="id" show-overflow-tooltip /> @@ -70,7 +67,7 @@ <el-button v-perms="['flow/edit']" type="primary" link> <router-link :to="{ - path: getRoutePath('user.user/detil'), + path: 'user/user_informationgdetil', query: { id: row.id, }, @@ -100,26 +97,22 @@ <script lang="ts" setup name="flowTypeLists"> import { usePaging } from "@/hooks/usePaging"; import { useDictData } from "@/hooks/useDictOptions"; -import { apiCateLists, apiCateStatus } from "@/api/examined"; +// import { apiCateLists, apiCateStatus } from "@/api/examined"; import { fileManagelist, fileManageDetil } from "@/api/informationg"; import { getRoutePath } from "@/router"; -import { timeFormat } from "@/utils/util"; -import feedback from "@/utils/feedback"; +// import { timeFormat } from "@/utils/util"; +// import feedback from "@/utils/feedback"; // import { getRoutePath } from "router"; import EditPopup from "./editCate.vue"; +console.log(getRoutePath); const editRef = shallowRef<InstanceType<typeof EditPopup>>(); // 是否显示编辑框 const showEdit = ref(false); // 查询条件 const queryParams = reactive({ - type: "", - title: "", name: "", - icon: "", - department_ids: "", - status: "", }); // 选中数据 @@ -139,20 +132,21 @@ const { pager, getLists, resetParams, resetPage } = usePaging({ params: queryParams, }); -// 添加 -const handleAdd = async () => { - showEdit.value = true; - await nextTick(); - editRef.value?.open("add"); -}; -// 编辑 -const handleEdit = async (data: any) => { - showEdit.value = true; - await nextTick(); - editRef.value?.open("edit"); - editRef.value?.setFormData(data); -}; +// 添加 +// const handleAdd = async () => { +// showEdit.value = true; +// await nextTick(); +// editRef.value?.open("add"); +// }; + +// // 编辑 +// const handleEdit = async (data: any) => { +// showEdit.value = true; +// await nextTick(); +// editRef.value?.open("edit"); +// editRef.value?.setFormData(data); +// }; // 删除 // const handleDelete = async (id: number | any[]) => { @@ -161,8 +155,8 @@ const handleEdit = async (data: any) => { // getLists(); // }; // 状态 -const changeStatus = (row: any) => { - apiCateStatus({ id: row.id, status: row.status }); -}; +// const changeStatus = (row: any) => { +// apiCateStatus({ id: row.id, status: row.status }); +// }; getLists(); </script>