From 3c496c263fca58417fa9b35beb9707ad147e6c7d Mon Sep 17 00:00:00 2001 From: wjt <1797368093@qq.com> Date: 星期一, 22 七月 2024 15:01:33 +0800 Subject: [PATCH] Merge branch 'main' of http://218.28.192.34:9999/r/sqys/sqys_web --- src/views/infomanger/infoLook/index.vue | 315 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 315 insertions(+), 0 deletions(-) diff --git a/src/views/infomanger/infoLook/index.vue b/src/views/infomanger/infoLook/index.vue new file mode 100644 index 0000000..2207e93 --- /dev/null +++ b/src/views/infomanger/infoLook/index.vue @@ -0,0 +1,315 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryRef" class="evenly-distributed-labels" :inline="true" v-show="showSearch" label-width="80px" label-position="left"> + <el-form-item label="浼佷笟鍚嶇О" prop="companyName"> + <el-input v-model="queryParams.companyName" placeholder="璇疯緭鍏ヤ紒涓氬悕绉�" clearable style="width: 200px" @keyup.enter="handleQuery" /> + </el-form-item> + <el-form-item label="鑱旂郴浜�" prop="companyUser"> + <el-input v-model="queryParams.companyUser" placeholder="璇疯緭鍏ヨ仈绯讳汉" clearable style="width: 200px" @keyup.enter="handleQuery" /> + </el-form-item> + <el-form-item label="鎵嬫満鍙�" prop="companyPhone"> + <el-input v-model="queryParams.companyPhone" type="number" placeholder="璇疯緭鍏ユ墜鏈哄彿" clearable style="width: 200px" @keyup.enter="handleQuery" /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + </el-form> + <el-table + v-if="refreshTable" + v-loading="loading" + :data="deptList" + row-key="deptId" + :default-expand-all="isExpandAll" + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" + > + <el-table-column prop="companyName" label="浼佷笟鍚嶇О" minWidth="300"></el-table-column> + <!-- <el-table-column prop="companyName" label="浼佷笟绫诲瀷" width="200"></el-table-column> --> + <el-table-column prop="companyUser" label="鑱旂郴浜�" width="180"></el-table-column> + <el-table-column prop="companyPhone" label="鎵嬫満鍙风爜" width="120"></el-table-column> + <el-table-column prop="comeTime" label="鍒涘缓鏃堕棿" width="200"></el-table-column> + <el-table-column prop="comeContent" label="鏉ヨ浜嬮」" width="200"></el-table-column> + <el-table-column prop="userNum" label="闅忚浜烘暟" width="200"></el-table-column> + <el-table-column prop="remark" label="澶囨敞" ></el-table-column> + <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" width="240"> + <template #default="scope"> + <el-link type="success" v-if="scope.row.checkStatus < 2" v-hasPermi="['sys:company:check']" @click="checkJudge(scope.row)">瀹℃牳</el-link> + <el-divider direction="vertical" v-hasPermi="['sys:company:check']" v-if="scope.row.checkStatus < 2"/> + <el-link type="info" v-if="scope.row.checkStatus == 2" @click="createQrcodeHandler(scope.row)">浜岀淮鐮�</el-link> + <el-divider direction="vertical" v-if="scope.row.checkStatus == 2"/> + <el-link type="primary" @click="handleAdd(scope.row)">缂栬緫</el-link> + <el-divider direction="vertical" /> + <el-link type="error" @click="handleDelete(scope.row)">鍒犻櫎</el-link> + </template> + </el-table-column> + </el-table> + <pagination v-show="queryParams.total > 0" :total="queryParams.total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> + + <!-- 娣诲姞鎴栦慨鏀瑰璇濇 --> + <el-dialog :title="title" v-model="open" width="600px" append-to-body> + <el-form ref="deptRef" :model="form" :rules="rules" label-width="140px"> + <el-form-item label="浼佷笟鍚嶇О" prop="companyName"> + <el-input placeholder="璇疯緭鍏ヤ紒涓氬悕绉�" v-model="form.companyName"></el-input> + </el-form-item> + <el-form-item label="鑱旂郴浜�" prop="companyUser"> + <el-input placeholder="璇疯緭鍏ヨ仈绯讳汉" v-model="form.companyUser"></el-input> + </el-form-item> + <el-form-item label="鎵嬫満鍙风爜" prop="companyPhone"> + <el-input placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" v-model="form.companyPhone"></el-input> + </el-form-item> + <el-form-item label="鏉ヨ浜哄憳" prop="comeUser"> + <el-input placeholder="璇疯緭鍏�" v-model="form.comeUser"></el-input> + </el-form-item> + <el-form-item label="鏉ヨ浜嬮」" prop="comeContent"> + <el-input placeholder="璇疯緭鍏�" v-model="form.comeContent"></el-input> + </el-form-item> + <el-form-item label="闅忚浜烘暟" prop="userNum"> + <el-input placeholder="璇疯緭鍏�" v-model="form.userNum"></el-input> + </el-form-item> + <el-form-item label="澶囨敞"> + <el-input placeholder="璇疯緭鍏ュ娉�" v-model="form.remark"></el-input> + </el-form-item> + </el-form> + <template #footer> + <div class="dialog-footer"> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </template> + </el-dialog> + <exportExcelCom ref="exporttem" @resList="resList"></exportExcelCom> + <exportRecord ref="exportRecordCom" :recordRow="recordRow" @uploadList="getList"></exportRecord> + <judgeCom ref="judgeComRef" @upload="getList"></judgeCom> + <createQrcode ref="createQrcodeRef"></createQrcode> + </div> +</template> + +<script setup name="Dept"> +import FileUpload from '@/components/ImageUpload/index' +import exportRecord from './components/exportRecord' +import createQrcode from './components/createQrcode' +import judgeCom from './components/judge' +import { listCompanyLog,addCompany, updStatus, delCompanyLog, updCompanyLog } from "@/api/system/company/company"; +import exportExcelCom from './components/export' +import { computed } from "vue"; +import { judgeStatus, companyStatus, scopeList } from '@/utils/mapList/index.ts' +import useSettingsStore from "@/store/modules/settings"; +const thcolor = computed(() => useSettingsStore().theme); +const { proxy } = getCurrentInstance(); +const { sys_normal_disable } = proxy.useDict("sys_normal_disable"); +const deptList = ref([]); +const open = ref(false); +const loading = ref(true); +const showSearch = ref(true); +const title = ref(""); +const deptOptions = ref([]); +const isExpandAll = ref(false); +const refreshTable = ref(true); +const exporttem = ref() +const exportRecordCom = ref() +const judgeComRef = ref() +const createQrcodeRef = ref() +const options = reactive({ + // -1鎷掔粷锛�0寰呭鎵癸紝1瀹℃壒涓紝2閫氳繃 + checkOptions: [ + { + label: '鎷掔粷', + value: -1 + }, + { + label: '寰呭鎵�', + value: 0 + }, + { + label: '瀹℃壒涓�', + value: 1 + }, + { + label: '閫氳繃', + value: 2 + } + ], + companyStatus: [ + { + label: '姝e父', + value: 0 + }, + { + label: '绂佺敤', + value: 1 + }, + ], + socreList: [ + { + label: '瀵煎叆', + value: 1 + }, + { + label: '娉ㄥ唽', + value: 0 + }, + ] +}) +const data = reactive({ + form: {}, + queryParams: { + deptName: undefined, + status: undefined, + deptType: undefined, + pageNum: 1, + pageSize: 10, + total: 1 + }, + rules: { + companyName: [{ required: true, message: "浼佷笟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }], + companyUser: [{ required: true, message: "鑱旂郴浜轰笉鑳戒负绌�", trigger: "blur" }], + companyPhone: [{ required: true, message: "鎵嬫満鍙风爜涓嶈兘涓虹┖", trigger: "blur" }, { + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", trigger: "blur" + }], + companyCode: [{ required: true, message: "缁熶竴绀句細淇$敤浠g爜涓嶈兘涓虹┖", trigger: "blur" }], + companyImg: [{ required: true, message: "钀ヤ笟鎵х収涓嶈兘涓虹┖", trigger: "blur" }], + companyAddress: [{ required: true, message: "浼佷笟鍦板潃涓嶈兘涓虹┖", trigger: "blur" }], + + // email: [{ type: "email", message: "璇疯緭鍏ユ纭殑閭鍦板潃", trigger: ["blur", "change"] }], + // phone: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", trigger: "blur" }], + }, +}); + +const { queryParams, form, rules } = toRefs(data); +// const dispDeptType = computed(() => (e) => { +// return dept_type.value.find((f) => f.value == e).label; +// }); +const recordRow = ref([]) +/** 鏌ヨ浼佷笟鍒楄〃 */ +function getList() { + loading.value = true; + listCompanyLog(queryParams.value).then((response) => { + deptList.value = response.rows + data.queryParams.total = response.total + loading.value = false; + }); +} +/** 鍙栨秷鎸夐挳 */ +function cancel() { + open.value = false; + reset(); + getList(); +} +/** 琛ㄥ崟閲嶇疆 */ +function reset() { + form.value = { + deptId: undefined, + parentId: undefined, + deptName: undefined, + orderNum: 0, + leader: undefined, + phone: undefined, + email: undefined, + status: "0", + deptType: undefined, + }; + proxy.resetForm("deptRef"); +} +const queryRef = ref() +/** 鎼滅储鎸夐挳鎿嶄綔 */ +function handleQuery() { + getList(); +} +/** 閲嶇疆鎸夐挳鎿嶄綔 */ +function resetQuery() { + queryRef.value.resetFields(); + handleQuery(); +} +/** 鏂板鎸夐挳鎿嶄綔 */ +function handleAdd(row) { + if(row) { + form.value = row + title.value = "缂栬緫浼佷笟"; + } else { + form.value = { + companyStatus: 0 + } + title.value = "娣诲姞浼佷笟"; + } + open.value = true; +} + +/** 鎻愪氦鎸夐挳 */ +function submitForm() { + proxy.$refs["deptRef"].validate((valid) => { + if (valid) { + if (form.value.companyId != undefined) { + updCompanyLog(form.value).then((response) => { + proxy.$modal.msgSuccess("淇敼鎴愬姛"); + open.value = false; + getList(); + }); + } else { + addCompany(form.value).then((response) => { + proxy.$modal.msgSuccess("鏂板鎴愬姛"); + open.value = false; + getList(); + }); + } + } + }); +} +/** 鍒犻櫎鎸夐挳鎿嶄綔 */ +function handleDelete(row) { + proxy.$modal + .confirm('鏄惁纭鍒犻櫎璇ユ暟鎹�?') + .then(function () { + return delCompanyLog({delId: row.id}); + }) + .then(() => { + getList(); + proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); +} +// 淇敼浼佷笟淇℃伅 +function changeCompanyNews(row, event) { + if(loading.value){ + return + } + updStatus(row).then(val => { + proxy.$modal.msgSuccess("淇敼鎴愬姛"); + getList(); + }) +} +// 瀵煎叆妯℃澘 +function exportExcel() { + exporttem.value.openDialog() +} +// 瀵煎叆璁板綍 +function exportRecordComOpen() { + exportRecordCom.value.openDialog() +} +function resList(row) { + recordRow.value = row + exportRecordCom.value.openDialog() +} +function checkJudge(row) { + judgeComRef.value.openDialog(row) +} +function createQrcodeHandler(row) { + createQrcodeRef.value.openDialog(row) +} +getList(); +</script> + +<style scoped lang="scss"> +.evenly-distributed-labels { + :deep(){ + .el-form-item__label { + position: relative; /* 璁剧疆鐩稿瀹氫綅浣滀负鏄熷彿鐨勫畾浣嶅熀鍑� */ + text-align: justify; + text-align-last: justify; /* 纭繚鏈�鍚庝竴琛屼篃涓ょ瀵归綈 */ + padding-left: 10px; /* 涓烘槦鍙烽鐣欑┖闂� */ + display: inline-block; + } + } +} + + +</style> -- Gitblit v1.9.1