From b8bd2b2da2b62da9565fd62b74d5b4a403abe15c Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期三, 27 三月 2024 15:11:50 +0800
Subject: [PATCH] Merge branch 'master' of ssh://192.168.5.5:29418/web/SRM
---
src/views/supplierManage/outsourceSupplier/components/VersionType.vue | 168 ++++++++++
src/views/supplierManage/outsourceSupplier/index.vue | 355 ++++++++++++++++++++++
src/api/supplierManage/outsourceSupplier.js | 54 +++
src/views/supplierManage/outsourceSupplier/components/addEnterprise.vue | 358 ++++++++++++++++++++++
4 files changed, 935 insertions(+), 0 deletions(-)
diff --git a/src/api/supplierManage/outsourceSupplier.js b/src/api/supplierManage/outsourceSupplier.js
new file mode 100644
index 0000000..4b6a478
--- /dev/null
+++ b/src/api/supplierManage/outsourceSupplier.js
@@ -0,0 +1,54 @@
+import request from "@/common/untils/request.js"
+
+// 濮斿浼佷笟鏂板
+export const addEnterprise = (data) => {
+ return request({
+ url: "/api-s/v1/outsourcing/enterprise/add",
+ method: "post",
+ data
+ })
+}
+
+// 濮斿浼佷笟淇敼
+export const updateEnterprise = (data) => {
+ return request({
+ url: "/api-s/v1/outsourcing/enterprise/update",
+ method: "post",
+ data
+ })
+}
+
+// 濮斿浼佷笟鍒楄〃
+export const enterpriseList = (data) => {
+ return request({
+ url: "/api-s/v1/outsourcing/enterprise/list",
+ method: "get",
+ params: data
+ })
+}
+
+// 濮斿浼佷笟缁熻
+export const enterpriseOverview = () => {
+ return request({
+ url: "/api-s/v1/outsourcing/enterprise/overview",
+ method: "get"
+ })
+}
+
+// 娣诲姞澶栭儴鐢ㄦ埛璐﹀彿
+export const addOutsideUser = (data) => {
+ return request({
+ url: "/api/outsideUser/addUser",
+ method: "post",
+ data
+ })
+}
+
+// 鍚敤/绂佺敤澶栭儴鐢ㄦ埛
+export const editOutsideUser = (data) => {
+ return request({
+ url: "/api/outsideUser/editUser",
+ method: "post",
+ data
+ })
+}
diff --git a/src/views/supplierManage/outsourceSupplier/components/VersionType.vue b/src/views/supplierManage/outsourceSupplier/components/VersionType.vue
new file mode 100644
index 0000000..6ab8c5f
--- /dev/null
+++ b/src/views/supplierManage/outsourceSupplier/components/VersionType.vue
@@ -0,0 +1,168 @@
+<template>
+ <div class="versionType">
+ <!-- title + '缁勪欢' -->
+ <el-dialog
+ :title="'缂栬緫涓嬫媺妗�>' + title"
+ :visible.sync="isvisible"
+ :width="dialogWidth"
+ :before-close="handleClose"
+ append-to-body
+ custom-class="iframe-dialog"
+ >
+ <div class="drawerContent">
+ <el-table
+ v-if="isTableShow"
+ :header-cell-style="{ background: '#f1f3f8', color: '#000009' }"
+ ref="multipleTable"
+ :data="BomTableData"
+ tooltip-effect="dark"
+ height="460"
+ >
+ <el-table-column prop="unit" label="绫诲埆">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.name"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="createdAt" label="璁句负榛樿">
+ <template slot-scope="scope">
+ <el-switch @change="switchChange(scope, scope.row.isDefault)" v-model="scope.row.isDefault"></el-switch>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" width="100">
+ <template slot-scope="scope">
+ <!-- <i class="el-icon-top" id="iconStyle"></i>
+ <i class="el-icon-bottom" id="iconStyle"></i> -->
+ <i class="el-icon-delete" id="iconStyle" @click="handleDelete(scope.row.id)"></i>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-button @click="handleAdd()" type="text" class="margin_top_15px margin_left_20px">鏂板涓嬫媺妗�</el-button>
+ </div>
+ <div slot="footer">
+ <!-- <el-button
+ @click="handleAdd()"
+ style="margin-left: 16px; color: #fff; background-color: #ee790c"
+ >鏂板</el-button
+ > -->
+ <el-button @click="handleClose">鍙栨秷</el-button
+ ><el-button
+ type="primary"
+ @click="handleConfirmSave()"
+ style="margin-left: 16px; color: #fff; background-color: #2a78fb"
+ >纭畾</el-button
+ >
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+export default {
+ name: "VersionType",
+ mixins: [],
+ components: {},
+ props: {
+ title: {
+ type: String,
+ default: "鐗堟湰绫诲瀷"
+ },
+ editRow: {
+ type: Object,
+ default: () => {
+ return {}
+ }
+ },
+ workList: {
+ type: Array
+ }
+ },
+ computed: {},
+ data() {
+ return {
+ dialogWidth: "30%",
+ isvisible: false,
+ isTableShow: true,
+ BomTableData: [1]
+ }
+ },
+ created() {},
+ watch: {
+ editDialogVisible(newVal) {
+ if (newVal) {
+ this.BomTableData = this.workList
+ }
+ },
+ workList(newVal) {
+ console.log(newVal)
+ this.BomTableData = this.workList
+ }
+ },
+ mounted() {},
+ methods: {
+ handleAdd() {
+ this.BomTableData.push({ name: "", isDefault: false })
+ },
+ handleDelete(id) {
+ this.BomTableData = this.BomTableData.filter((i) => {
+ return i.id != id
+ })
+ },
+
+ switchChange(scope, val) {
+ let arr = []
+ for (let i in this.BomTableData) {
+ if (this.BomTableData[i].isDefault) {
+ arr.push(i)
+ }
+ }
+ if (arr.length > 1) {
+ this.$message({
+ message: "鍙兘璁句竴涓负榛樿",
+ type: "warning"
+ })
+ scope.row.isDefault = !val
+ }
+ },
+ handleConfirmSave() {
+ let arr = []
+ for (let i in this.BomTableData) {
+ if (this.BomTableData[i].isDefault) {
+ arr.push(i)
+ }
+ }
+ if (arr.length > 1) {
+ this.$message({
+ message: "鍙兘璁句竴涓负榛樿",
+ type: "warning"
+ })
+ } else {
+ this.$emit("handleConfirmSave", this.BomTableData)
+ this.isvisible = false
+ }
+ },
+ handleClose() {
+ this.isvisible = false
+ }
+ }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="scss" scoped>
+::v-deep {
+ .iframe-dialog .el-dialog__body {
+ }
+ .el-dialog__footer {
+ height: 55px;
+ line-height: 55px;
+ background-color: #f5f5f5;
+ padding: 0px 20px 0;
+ text-align: right;
+ box-sizing: border-box;
+ border-top: 1px solid #dadee5;
+ }
+}
+::v-deep .el-dialog__body {
+ padding-bottom: 10px !important;
+}
+</style>
diff --git a/src/views/supplierManage/outsourceSupplier/components/addEnterprise.vue b/src/views/supplierManage/outsourceSupplier/components/addEnterprise.vue
new file mode 100644
index 0000000..95e9958
--- /dev/null
+++ b/src/views/supplierManage/outsourceSupplier/components/addEnterprise.vue
@@ -0,0 +1,358 @@
+<template>
+ <el-dialog
+ :close-on-click-modal="false"
+ :visible.sync="islook"
+ width="35rem"
+ class="add-event-dialog"
+ @close="shutdown"
+ >
+ <div slot="title" class="tac drawerHeader">
+ <span>{{ titleName }}浼佷笟</span>
+ </div>
+ <div class="dialog-content-box">
+ <el-form ref="form" :rules="rules" :model="form" label-width="100px" label-position="left">
+ <el-form-item label="浼佷笟缂栫爜" prop="number">
+ <span v-if="editRow.look == 'look'">{{ form.number }}</span>
+ <el-input v-else v-model="form.number" clearable placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="浼佷笟鍚嶇О" prop="name">
+ <span v-if="editRow.look == 'look'">{{ form.name }}</span>
+ <el-input v-else v-model="form.name" clearable placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="浼佷笟绫诲瀷" prop="enterpriseType">
+ <span v-if="editRow.look == 'look'">{{ form.enterpriseType }}</span>
+ <el-select v-model="form.enterpriseType" placeholder="浼佷笟绫诲瀷" filterable style="width: calc(100% - 30px)">
+ <el-option v-for="ele in enterpriseTypeList" :key="ele.id" :label="ele.name" :value="ele.name"></el-option>
+ </el-select>
+ <i
+ class="el-icon-setting margin_left_10px cursor_pointer"
+ style="font-size: 20px; color: gray"
+ @click="handleCommonShow(5)"
+ ></i>
+ </el-form-item>
+ <el-form-item label="鑱旂郴浜�" prop="contact">
+ <span v-if="editRow.look == 'look'">{{ form.contact }}</span>
+ <el-input v-else v-model="form.contact" clearable placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="鑱旂郴鏂瑰紡" prop="tel">
+ <span v-if="editRow.look == 'look'">{{ form.tel }}</span>
+ <el-input
+ v-else
+ v-model="form.tel"
+ clearable
+ placeholder="璇疯緭鍏�"
+ :disabled="titleName == '缂栬緫' ? true : false"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鐧诲綍瀵嗙爜" prop="password">
+ <span v-if="editRow.look == 'look'">{{ form.password }}</span>
+ <div v-else class="login-password-box">
+ <el-input
+ v-model="form.password"
+ placeholder="璇疯緭鍏ョ櫥褰曞瘑鐮�"
+ :auto-complete="'new-password'"
+ type="password"
+ :disabled="titleName == '缂栬緫' ? true : false"
+ show-password
+ ></el-input>
+ <el-button v-if="titleName !== '缂栬緫'" type="text" style="margin-left: 5px" @click="generateRandomNumber"
+ >鐢熸垚闅忔満瀵嗙爜</el-button
+ >
+ </div>
+ </el-form-item>
+ <el-form-item label="淇$敤绛夌骇" prop="creditGrade">
+ <span v-if="editRow.look == 'look'">{{ form.creditGrade }}</span>
+ <el-select
+ v-else
+ v-model="form.creditGrade"
+ clearable
+ placeholder="璇烽�夋嫨"
+ filterable
+ style="width: calc(100% - 30px)"
+ >
+ <el-option v-for="item in creditGradeList" :key="item.id" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select>
+ <i
+ class="el-icon-setting margin_left_10px cursor_pointer"
+ style="font-size: 20px; color: gray"
+ @click="handleCommonShow(6)"
+ ></i>
+ </el-form-item>
+ <el-form-item label="璇︾粏鍦板潃" prop="address">
+ <span v-if="editRow.look == 'look'">{{ form.address }}</span>
+ <el-input v-else v-model="form.address" clearable placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="渚涜揣鑳藉姏" prop="supplyCapacity">
+ <span v-if="editRow.look == 'look'">{{ form.supplyCapacity }}</span>
+ <el-input v-else v-model="form.supplyCapacity" clearable placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="缁勭粐鏈烘瀯浠g爜" prop="organizationCode">
+ <span v-if="editRow.look == 'look'">{{ form.organizationCode }}</span>
+ <el-input v-else v-model="form.organizationCode" clearable placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="渚涜揣鑼冨洿" prop="supplyRange">
+ <span v-if="editRow.look == 'look'">{{ form.supplyRange }}</span>
+ <el-select
+ v-else
+ v-model="form.supplyRange"
+ clearable
+ placeholder="璇烽�夋嫨"
+ filterable
+ style="width: calc(100% - 30px)"
+ >
+ <el-option v-for="item in supplyRangeList" :key="item.id" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select>
+ <i
+ class="el-icon-setting margin_left_10px cursor_pointer"
+ style="font-size: 20px; color: gray"
+ @click="handleCommonShow(7)"
+ ></i>
+ </el-form-item>
+ </el-form>
+ </div>
+ <div slot="footer" class="dialog-footer tac">
+ <el-button @click="shutdown">鍙栨秷</el-button>
+ <el-button type="primary" @click="onSubmit(form)">纭畾</el-button>
+ </div>
+ <!-- 浼佷笟绫诲瀷 -->
+ <VersionType
+ ref="editDialog"
+ @sucessSet="handleGetList"
+ @handleConfirmSave="handleConfirmSave"
+ :workList="editDropdownList"
+ :title="editDropdownTitle"
+ ></VersionType>
+ </el-dialog>
+</template>
+
+<script>
+import { addEnterprise, updateEnterprise, addOutsideUser } from "@/api/supplierManage/outsourceSupplier"
+import { getMiniDictList, saveMiniDict } from "@/api/common/other" // 璐ㄦ鏂瑰紡
+import VersionType from "@/views/supplierManage/outsourceSupplier/components/VersionType"
+export default {
+ components: {
+ VersionType
+ },
+ props: {
+ titleName: {
+ type: String,
+ default: "鏂板"
+ },
+ editRow: {
+ type: [Object],
+ default: () => {
+ return {}
+ }
+ },
+ showList: {
+ type: [Array]
+ }
+ },
+ data() {
+ return {
+ islook: false,
+ form: {
+ number: "",
+ name: "",
+ enterpriseType: "",
+ contact: "",
+ tel: "",
+ creditGrade: "",
+ address: "",
+ supplyCapacity: "",
+ organizationCode: "",
+ supplyRange: "",
+ status: 0,
+ password: "123456"
+ },
+ rules: {
+ number: [
+ { required: true, message: "璇峰~鍐欎紒涓氱紪鐮�", trigger: "blur" } // 浼佷笟缂栫爜
+ ],
+ name: [
+ { required: true, message: "璇峰~鍐欎紒涓氬悕绉�", trigger: "blur" } // 浼佷笟鍚嶇О
+ ],
+ enterpriseType: [
+ { required: true, message: "璇烽�夋嫨浼佷笟绫诲瀷", trigger: "change" } // 浼佷笟绫诲瀷
+ ],
+ tel: [
+ { required: true, message: "璇峰~鍐欒仈绯绘柟寮�", trigger: "blur" } // 鑱旂郴鏂瑰紡
+ ],
+ password: [
+ { required: true, message: "璇峰~鍐欑櫥褰曞瘑鐮�", trigger: "blur" } // 鐧诲綍瀵嗙爜
+ ]
+ },
+ editDropdownList: [],
+ enterpriseTypeList: [], // 浼佷笟绫诲瀷鍒楄〃
+ creditGradeList: [], // 淇$敤绛夌骇
+ supplyRangeList: [], // 渚涜揣鑼冨洿
+ currentType: 0,
+ editDropdownTitle: ""
+ }
+ },
+ mounted() {
+ this.handleGetList(5)
+ this.handleGetList(6)
+ this.handleGetList(7)
+ },
+ watch: {
+ editRow(val) {
+ if (val.id && this.islook) {
+ this.initFormData(val)
+ } else {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ })
+ }
+ },
+ islook(val) {
+ if (val) {
+ this.form = {
+ number: "",
+ name: "",
+ enterpriseType: "",
+ contact: "",
+ tel: "",
+ password: "123456",
+ creditGrade: "",
+ address: "",
+ supplyCapacity: "",
+ organizationCode: "",
+ supplyRange: "",
+ status: 0
+ }
+ if (this.editRow && this.editRow.id) {
+ this.initFormData(this.editRow)
+ } else {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ })
+ }
+ }
+ }
+ },
+ methods: {
+ addPreProduction() {
+ this.$refs.add.materialVisible = true
+ },
+ initFormData(row) {
+ if (row.id) {
+ this.form = JSON.parse(JSON.stringify(row))
+ // if (this.form.takerId && this.form.takerName) {
+ // this.form.takerObj = this.form.takerId + "&" + this.form.takerName;
+ // }
+ }
+ },
+ onSubmit() {
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ let params = JSON.parse(JSON.stringify(this.form))
+ // params.takerId = params.takerObj.split("&")[0];
+ // params.takerName = params.takerObj.split("&")[1];
+ if (this.editRow && this.editRow.id) {
+ params.id = this.editRow.id
+ updateEnterprise(params).then((res) => {
+ if (res.code == 200) {
+ this.$message.success("缂栬緫鎴愬姛锛�")
+ this.$emit("shutdown", this.form)
+ this.shutdown()
+ }
+ })
+ } else {
+ addEnterprise(params).then((res) => {
+ if (res.code == 200) {
+ console.log(res, "5555")
+ this.addOutsideUser(res.data)
+ }
+ })
+ }
+ }
+ })
+ },
+ // 娣诲姞澶栭儴鐢ㄦ埛
+ addOutsideUser(data) {
+ addOutsideUser({
+ companyId: data.id,
+ companyName: data.name,
+ companyNumber: data.number,
+ passWord: this.form.password,
+ userName: data.tel
+ }).then((res) => {
+ console.log(res)
+ if (res.code == 200) {
+ this.$message.success("娣诲姞鎴愬姛锛�")
+ this.$emit("shutdown", this.form)
+ this.shutdown()
+ }
+ })
+ },
+ // 浼佷笟绫诲瀷?淇$敤绛夌骇/渚涜揣鑼冨洿鐐瑰嚮
+ handleCommonShow(type) {
+ this.currentType = type
+ this.editDropdownTitle = type == 5 ? "浼佷笟绫诲瀷" : type == 6 ? "淇$敤绛夌骇" : type == 7 ? "渚涜揣鑼冨洿" : ""
+ this.editDropdownList = []
+ this.handleGetList(type)
+ this.$refs.editDialog.isvisible = true
+ },
+ // 鑾峰彇浼佷笟绫诲瀷?淇$敤绛夌骇/渚涜揣鑼冨洿
+ handleGetList(type) {
+ this.currentType = type
+ getMiniDictList({ type: type }).then((res) => {
+ this.editDropdownList = res.data
+ if (type == 5) {
+ this.enterpriseTypeList = res.data
+ } else if (type == 6) {
+ this.creditGradeList = res.data
+ } else if (type == 7) {
+ this.supplyRangeList = res.data
+ }
+ })
+ },
+ // 淇濆瓨浼佷笟绫诲瀷?淇$敤绛夌骇/渚涜揣鑼冨洿
+ handleConfirmSave(data) {
+ saveMiniDict({ list: data, type: this.currentType }).then((res) => {
+ if (res.code == 200) {
+ this.$message({
+ message: "鎿嶄綔鎴愬姛锛�",
+ type: "success"
+ })
+ this.$refs.editDialog.isvisible = false
+ this.handleGetList(this.currentType)
+ }
+ })
+ },
+ shutdown() {
+ this.$refs.form.resetFields()
+ this.islook = false
+ },
+ // 闅忔満鐢熸垚鍏綅鏁板瘑鐮�
+ generateRandomNumber() {
+ let passwordStr = Math.floor(100000 + Math.random() * 900000)
+ console.log(passwordStr)
+ this.$set(this.form, "password", passwordStr)
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.dialog-content-box {
+ padding: 0px 30px;
+ // overflow-y: auto;
+ // .el-form {
+ // overflow: hidden;
+ // }
+ .login-password-box {
+ display: flex;
+ }
+}
+
+::v-deep {
+ .el-tabs__content {
+ height: calc(100% - 55px);
+ overflow-y: auto;
+ }
+}
+</style>
diff --git a/src/views/supplierManage/outsourceSupplier/index.vue b/src/views/supplierManage/outsourceSupplier/index.vue
new file mode 100644
index 0000000..bb006b4
--- /dev/null
+++ b/src/views/supplierManage/outsourceSupplier/index.vue
@@ -0,0 +1,355 @@
+<template>
+ <d2-container>
+ <template slot="header">
+ <div class="top">
+ <SearchCommonView
+ :add-title="'鏂板浼佷笟'"
+ :total-object="totalObject"
+ :other-options="otherOptions"
+ :placeholder="'璇疯緭鍏ュ悕绉�'"
+ @addCommonClick="addEnterpriseClick"
+ @searchClick="getEnterpriseList"
+ />
+ </div>
+ </template>
+ <div class="content">
+ <div class="content-top">
+ <TableCommonView ref="tableListRef" :table-list="tableList" @selTableCol="selTableCol">
+ <template slot="tableButton">
+ <el-table-column label="鎿嶄綔" width="160" fixed="right">
+ <template slot-scope="scope">
+ <el-button v-if="scope.row.status == 1" type="text" size="small" @click="statusModifyClick(scope.row)"
+ >鍋滅敤</el-button
+ >
+ <el-button v-else type="text" size="small" @click="statusModifyClick(scope.row)">鍚敤</el-button>
+ <el-button @click="editClick(scope.row)" type="text" size="small">缂栬緫</el-button>
+ </template>
+ </el-table-column>
+ </template>
+ </TableCommonView>
+ </div>
+ <div class="btn-pager">
+ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+ </div>
+ </div>
+ <!-- <div class="overSpread" v-show="isopen || isCreateShop"></div> -->
+ <!-- 娣诲姞/缂栬緫澶囦欢 -->
+ <AddEnterprise ref="add" :showList="showList" :titleName="titleName" :editRow="editRow" @shutdown="shutdown" />
+ </d2-container>
+</template>
+
+<script>
+import {
+ enterpriseList,
+ updateEnterprise,
+ enterpriseOverview,
+ editOutsideUser
+} from "@/api/supplierManage/outsourceSupplier"
+import AddEnterprise from "@/views/supplierManage/outsourceSupplier/components/addEnterprise"
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+export default {
+ name: "outsourceManage",
+ mixins: [pageMixin],
+ components: {
+ AddEnterprise
+ },
+ beforeMount() {
+ this.getData()
+ },
+ computed: {},
+ data() {
+ return {
+ deviceDataList: [],
+ searchParam: {
+ keyword: "",
+ page: 1,
+ pageSize: 15
+ },
+ total: 0,
+ isopen: false,
+ titleName: "鏂板",
+ editRow: {},
+ selectRow: {},
+ isCreateShop: false,
+ more: false,
+ totalObject: {
+ value: 0,
+ label: "浼佷笟鎬婚噺"
+ },
+ otherOptions: [
+ {
+ value: 0,
+ label: "鍋滅敤",
+ status: "error"
+ },
+ {
+ value: 0,
+ label: "鍚敤",
+ status: "success"
+ }
+ ],
+ tableList: {},
+ showcol: [
+ "浼佷笟缂栧彿",
+ "鍚嶇О",
+ "绫诲瀷",
+ "鑱旂郴浜�",
+ "鑱旂郴鐢佃瘽",
+ "淇$敤绛夌骇",
+ "璇︾粏鍦板潃",
+ "渚涜揣鑳藉姏",
+ "缁勭粐鏈烘瀯浠g爜",
+ "渚涜揣鑼冨洿",
+ "娣诲姞鏃堕棿",
+ "鐘舵��"
+ ],
+ showList: []
+ }
+ },
+ mounted() {
+ this.setTable()
+ },
+
+ methods: {
+ setTable() {
+ this.tableList = {
+ tableInfomation: [],
+ selectIndex: true,
+ showcol: this.showcol,
+ allcol: [],
+ tableColumn: this.setTableColumn(this.showcol)
+ }
+ let allcol = []
+ for (let i = 0; i < this.tableList.tableColumn.length; i++) {
+ if (!this.tableList.tableColumn[i].default) {
+ const label = this.tableList.tableColumn[i].label
+ allcol.push(label)
+ }
+ }
+ this.tableList.allcol = allcol
+ },
+ setTableColumn(showcol) {
+ let tableColumn = [
+ {
+ label: "浼佷笟缂栧彿",
+ prop: "number",
+ isShowColumn: true,
+ default: true
+ },
+ {
+ label: "鍚嶇О",
+ prop: "name",
+ isShowColumn: showcol.includes("鍚嶇О"),
+ default: false
+ },
+ {
+ label: "绫诲瀷",
+ prop: "enterpriseType",
+ isShowColumn: showcol.includes("绫诲瀷"),
+ default: false
+ },
+ {
+ label: "鑱旂郴浜�",
+ prop: "contact",
+ isShowColumn: showcol.includes("鑱旂郴浜�"),
+ default: false
+ },
+ {
+ label: "鑱旂郴鐢佃瘽",
+ prop: "tel",
+ isShowColumn: showcol.includes("鑱旂郴鐢佃瘽"),
+ default: false
+ },
+ {
+ label: "淇$敤绛夌骇",
+ prop: "creditGrade",
+ isShowColumn: showcol.includes("淇$敤绛夌骇"),
+ default: false
+ },
+ {
+ label: "璇︾粏鍦板潃",
+ prop: "address",
+ isShowColumn: showcol.includes("璇︾粏鍦板潃"),
+ default: false
+ },
+ {
+ label: "渚涜揣鑳藉姏",
+ prop: "supplyCapacity",
+ isShowColumn: showcol.includes("渚涜揣鑳藉姏"),
+ default: false
+ },
+ {
+ label: "缁勭粐鏈烘瀯浠g爜",
+ prop: "organizationCode",
+ isShowColumn: showcol.includes("缁勭粐鏈烘瀯浠g爜"),
+ default: false
+ },
+ {
+ label: "渚涜揣鑼冨洿",
+ prop: "supplyRange",
+ isShowColumn: showcol.includes("渚涜揣鑼冨洿"),
+ default: false
+ },
+ {
+ label: "娣诲姞鏃堕棿",
+ prop: "createdAt",
+ width: "160",
+ isShowColumn: showcol.includes("娣诲姞鏃堕棿"),
+ default: false
+ },
+ {
+ label: "鐘舵��",
+ prop: "status",
+ isShowColumn: showcol.includes("鐘舵��"),
+ default: false,
+ isCallMethod: true,
+ getCallMethod: this.getStatus
+ }
+ ]
+ return tableColumn
+ },
+ selTableCol(val) {
+ this.showcol = val
+ this.tableList.tableColumn = this.setTableColumn(val)
+ },
+ overview() {
+ enterpriseOverview().then((reply) => {
+ this.totalObject.value = reply.data.total || 0
+ this.otherOptions.map((item) => {
+ if (item.label === "鍋滅敤") {
+ item.value = reply.data.close
+ } else if (item.label === "鍚敤") {
+ item.value = reply.data.open
+ }
+ })
+ })
+ },
+ //鏌ヨ澶囦欢鍒楄〃
+ async getData() {
+ this.searchParam.page = this.pagerOptions.currPage
+ this.searchParam.pageSize = this.pagerOptions.pageSize
+ let rsp = await enterpriseList(this.searchParam)
+ let list = rsp
+ console.log(list)
+ if (list && list.code == 200) {
+ // this.deviceDataList = list.data.data;
+ // this.total = list.data.total;
+ this.tableList.tableInfomation = list.data
+ this.pagerOptions.totalCount = list.total
+ this.overview()
+ }
+ },
+ // 鎼滅储瑙﹀彂
+ async getEnterpriseList(val) {
+ this.searchParam.keyword = val
+ this.pagerOptions.currPage = 1
+ this.getData()
+ },
+ // 鏂板浼佷笟
+ addEnterpriseClick() {
+ this.titleName = "鏂板"
+ this.editRow = {}
+ this.$refs.add.islook = true
+ },
+ // 缂栬緫
+ editClick(val) {
+ let params = JSON.parse(JSON.stringify(val))
+ this.titleName = "缂栬緫"
+ this.editRow = { ...params, password: "000000" }
+ this.$refs.add.islook = true
+ },
+ // 鍚敤/鍋滅敤
+ statusModifyClick(row) {
+ let tipStr = row.status == 1 ? "鏄惁鍋滅敤璇ヤ紒涓氾紵" : "鏄惁鍚敤璇ヤ紒涓�"
+ this.$confirm(tipStr, "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(() => {
+ let params = JSON.parse(JSON.stringify(row))
+ params.status = row.status == 1 ? 2 : 1
+ updateEnterprise(params)
+ .then((reply) => {
+ if (reply && reply.code == 200) {
+ this.editOutsideUser(row)
+ // this.getData();
+ // this.$message.success(row.status == 1 ? "鍋滅敤鎴愬姛" : "鍚敤鎴愬姛");
+ } else {
+ this.$message.error(row.status == 1 ? "鍋滅敤澶辫触" : "鍚敤澶辫触")
+ }
+ })
+ .catch(() => {})
+ })
+ },
+ // 鍚敤鍋滅敤澶栭儴鐢ㄦ埛
+ editOutsideUser(row) {
+ editOutsideUser({
+ enable: row.status == 1 ? false : true,
+ username: row.tel
+ }).then((res) => {
+ if (res && res.code == 200) {
+ this.getData()
+ this.$message.success(row.status == 1 ? "鍋滅敤鎴愬姛" : "鍚敤鎴愬姛")
+ }
+ })
+ },
+ //瀛愮粍浠朵紶閫掑弬鏁版帶鍒跺脊绐�
+ shutdown(val) {
+ this.$refs.add.islook = val
+ this.getData()
+ },
+ // 鑾峰彇鐘舵��
+ getStatus(val) {
+ return val == 0 ? "鏂板缓" : val == 1 ? "鍚敤" : val == 2 ? "鍋滅敤" : "--"
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.top {
+ width: 100%;
+ height: 61px;
+ display: flex;
+ align-items: center;
+ .fon_weight {
+ font-size: 28px;
+ height: 32px;
+ }
+ .top_right_bottom {
+ font-size: 14px;
+ line-height: 20px;
+ color: #000;
+ opacity: 0.6;
+ margin-top: 9px;
+ font-family: "PingFangSC-Medium," sans-serif;
+ }
+}
+.el-button {
+ font-family: "PingFangSC";
+}
+.content {
+ width: 100%;
+ height: calc(100% - 30px);
+ background: #fff;
+ border-radius: 12px;
+ box-sizing: border-box;
+ .content-top {
+ height: calc(100% - 60px);
+ }
+}
+::v-deep {
+ .el-table {
+ height: auto !important;
+ .el-table--fit {
+ height: 90%;
+ }
+ .onSelect {
+ background: #ebf2ff;
+ }
+ }
+ .el-table {
+ height: 100% !important;
+ }
+}
+</style>
--
Gitblit v1.8.0