Explorar o código

fix: 调整bug、优化项目

Howie %!s(int64=2) %!d(string=hai) anos
pai
achega
496b8f0816

+ 9 - 0
src/api/basic_data/dealer.js

@@ -298,3 +298,12 @@ export function updateSystem(params) {
     params
   })
 }
+
+// 删除程经销商子账号
+export function delUserGongCheng(params) {
+  return request({
+    url: '/admin//user/user/child/delGongCheng',
+    method: 'post',
+    params
+  })
+}

+ 9 - 0
src/api/setting.js

@@ -556,3 +556,12 @@ export function getDetailGongCheng(params) {
     params
   })
 }
+
+// 删除程经销商子账号
+export function delUserGongCheng(params) {
+  return request({
+    url: '/admin//user/user/child/delGongCheng',
+    method: 'post',
+    params
+  })
+}

+ 126 - 47
src/views/commercialEngineering/components/base.vue

@@ -11,7 +11,7 @@
         <el-col v-if="['cross'].includes(pageType)" :xs="24" :sm="24" :lg="24" class="item">
           <div class="label">项目性质*:</div>
           <div class="value">
-            <el-radio-group v-model="formData.orderType" size="mini" style="width: 100%">
+            <el-radio-group v-model="formData.orderType" size="mini" style="width: 100%" @change="initTradeData">
               <el-radio
                 v-for="item in [
                   { label: '工装', value: 'WORK' },
@@ -25,7 +25,7 @@
             </el-radio-group>
           </div>
         </el-col>
-        <el-col :xs="24" :sm="['add'].includes(module) ? 12 :24" :lg="['add'].includes(module) ? 12 :24" class="item">
+        <el-col :xs="24" :sm="['add'].includes(module) ? 12 : 24" :lg="['add'].includes(module) ? 12 : 24" class="item">
           <div class="label">销售公司名称:</div>
           <div class="value">
             <el-input v-model="formData.salesCompanyName" disabled placeholder="请填写" size="mini" clearable />
@@ -35,7 +35,12 @@
           <el-col :xs="24" :sm="12" :lg="8" class="item">
             <div class="label">工程登录类型:</div>
             <div class="value">
-              <el-input :value="formData.orderType === 'WORK'? '工装': '家装'" placeholder="请填写" size="mini" clearable />
+              <el-input
+                :value="formData.orderType === 'WORK' ? '工装' : '家装'"
+                placeholder="请填写"
+                size="mini"
+                clearable
+              />
             </div>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="8" class="item">
@@ -54,7 +59,13 @@
         <el-col :xs="24" :sm="12" :lg="12" class="item">
           <div class="label">{{ ['cross'].includes(pageType) ? '业务所在区域' : '项目所在区域' }}*:</div>
           <div class="value">
-            <el-select v-model="formData.projectArea" placeholder="请选择" clearable filterable @change="handleProjectArea">
+            <el-select
+              v-model="formData.projectArea"
+              placeholder="请选择"
+              clearable
+              filterable
+              @change="handleProjectArea"
+            >
               <el-option
                 v-for="item in commonData.dict['TRADE_PROJECT_AREA']"
                 :key="item.value"
@@ -77,7 +88,13 @@
             </el-select>
           </div>
         </el-col>
-        <el-col v-if="['frock', 'cross'].includes(pageType) && formData.orderType === 'WORK'" :xs="24" :sm="module === 'detail'?24: 12" :lg="module === 'detail'?24: 12" class="item">
+        <el-col
+          v-if="['frock', 'cross'].includes(pageType) && formData.orderType === 'WORK'"
+          :xs="24"
+          :sm="module === 'detail' ? 24 : 12"
+          :lg="module === 'detail' ? 24 : 12"
+          class="item"
+        >
           <div class="label">甲方名称*:</div>
           <div class="value">
             <el-select v-model="formData.partyAId" placeholder="请选择" clearable filterable @change="handlePartyA">
@@ -90,16 +107,37 @@
             </el-select>
           </div>
         </el-col>
-        <el-col v-else :xs="24" :sm="12" :lg="12" class="item">
+        <el-col   v-if="['home'].includes(pageType)" :xs="24" :sm="12" :lg="12" class="item">
           <div class="label" />
           <div class="value" />
         </el-col>
-        <el-col :xs="24" :sm="12" :lg="module === 'edit'?12: 8" class="item">
+        <el-col :xs="24" :sm="12" :lg="module === 'edit' ? 12 : 8" class="item">
           <div class="label">经销商*:</div>
           <div class="value">
-            <el-input v-if="isCustomer" v-model="formData.customerName" disabled placeholder="请填写" size="mini" clearable />
-            <el-input v-if="!isCustomer && !isTradeExaminer" v-model="formData.customerName" disabled placeholder="请填写" size="mini" clearable />
-            <el-select v-if="isTradeExaminer" v-model="formData.customerId" placeholder="请选择" clearable filterable @change="handleCustomer">
+            <el-input
+              v-if="isCustomer"
+              v-model="formData.customerName"
+              disabled
+              placeholder="请填写"
+              size="mini"
+              clearable
+            />
+            <el-input
+              v-if="!isCustomer && !isTradeExaminer"
+              v-model="formData.customerName"
+              disabled
+              placeholder="请填写"
+              size="mini"
+              clearable
+            />
+            <el-select
+              v-if="isTradeExaminer"
+              v-model="formData.customerId"
+              placeholder="请选择"
+              clearable
+              filterable
+              @change="handleCustomer"
+            >
               <el-option
                 v-for="item in commonData.customerList"
                 :key="item.value"
@@ -255,9 +293,18 @@
           <div class="label">详细地址*:</div>
           <div class="value">
             <!-- <el-input v-model="formData.positionAddress" placeholder="定位地址" size="mini" clearable disabled /> -->
-            <geographicalPosi style="margin: 0 20px 0 0;" v-if="module !== 'detail' && !['cross'].includes(pageType)" :form-data="formData" @selectPosi="handleSelectPosi" />
+            <geographicalPosi
+              style="margin: 0 20px 0 0"
+              v-if="module !== 'detail' && !['cross'].includes(pageType)"
+              :form-data="formData"
+              @selectPosi="handleSelectPosi"
+            />
             <el-input v-model="formData.address" placeholder="请填写详细地址" size="mini" clearable />
-            <i v-if="formData.positionAddress && !['cross'].includes(pageType)" class="el-icon-s-promotion" style="color: #409EFF;font-size: 16px;" />
+            <i
+              v-if="formData.positionAddress && !['cross'].includes(pageType)"
+              class="el-icon-s-promotion"
+              style="color: #409eff; font-size: 16px"
+            />
           </div>
         </el-col>
         <template>
@@ -296,9 +343,16 @@
         </el-col>
         <el-col :xs="24" :sm="12" :lg="12" class="item">
           <div class="label">图纸上传:</div>
-          <div class="value" style="justify-content: flex-end;position: relative;">
-            <FileUpload v-if="module !=='detail'" :file-list="formData.fileList" size="mini" :limit="1" class="file" />
-            <el-link v-if="module =='detail' && formData.fileList && formData.fileList.length" style="position: absolute;left: 5px;" type="primary" :underline="false" @click="openPdf(formData.fileList[0])">{{ formData.fileList[0].name }}下载</el-link>
+          <div class="value" style="justify-content: flex-end; position: relative">
+            <FileUpload v-if="module !== 'detail'" :file-list="formData.fileList" size="mini" :limit="1" class="file" />
+            <el-link
+              v-if="module == 'detail' && formData.fileList && formData.fileList.length"
+              style="position: absolute; left: 5px"
+              type="primary"
+              :underline="false"
+              @click="openPdf(formData.fileList[0])"
+              >{{ formData.fileList[0].name }}下载</el-link
+            >
             <!-- <el-input v-model="formData.drawUpload"  size="mini" clearable /> -->
           </div>
         </el-col>
@@ -332,6 +386,7 @@
               placeholder="请选择"
               clearable
               filterable
+              :disabled="pageType === 'home' || formData.orderType === 'HOME'"
               @change="handleTradeParent"
             >
               <el-option v-for="item in tradeParentList" :key="item.id" :label="item.name" :value="item.id" />
@@ -341,7 +396,14 @@
         <el-col :xs="24" :sm="12" :lg="12" class="item">
           <div class="label">行业细分*:</div>
           <div class="value">
-            <el-select v-model="formData.tradeId" placeholder="请选择" clearable filterable @change="handleTrade">
+            <el-select
+              v-model="formData.tradeId"
+              :disabled="pageType === 'home' || formData.orderType === 'HOME'"
+              placeholder="请选择"
+              clearable
+              filterable
+              @change="handleTrade"
+            >
               <el-option v-for="item in tradeList" :key="item.id" :label="item.name" :value="item.id" />
             </el-select>
           </div>
@@ -349,7 +411,7 @@
         <el-col v-if="['frock', 'home'].includes(pageType)" :xs="24" :sm="24" :lg="24" class="item">
           <div class="label">项目性质*:</div>
           <div class="value">
-            {{ pageType === 'frock' ? '工程': '家装' }}
+            {{ pageType === 'frock' ? '工程' : '家装' }}
           </div>
         </el-col>
         <el-col :xs="24" :sm="24" :lg="24" class="item">
@@ -423,7 +485,9 @@
           </div>
         </el-col>
         <el-col :xs="24" :sm="24" :lg="24" class="item">
-          <div class="label" style="height: auto">工程概况及此工程相关的社会关系以及其他相关信息{{ ['cross'].includes(pageType)?'*':'' }}:</div>
+          <div class="label" style="height: auto">
+            工程概况及此工程相关的社会关系以及其他相关信息{{ ['cross'].includes(pageType) ? '*' : '' }}:
+          </div>
           <div class="value" style="height: 100%">
             <el-input
               v-model="formData.otherInfo"
@@ -496,12 +560,16 @@ export default {
       tradeParentList: [],
       tradeList: [],
       orderTypeEume: {
-        SAVE: '保存', WAIT: '待审核', OK: '登录成功', FAIL: '登录不成功', RETURN: '返回'
+        SAVE: '保存',
+        WAIT: '待审核',
+        OK: '登录成功',
+        FAIL: '登录不成功',
+        RETURN: '返回'
       },
       region: {
-          G: ['广州市', '清远市', '韶关市'],
-          F: ['佛山市','肇庆市','云浮市']
-         }
+        G: ['广州市', '清远市', '韶关市'],
+        F: ['佛山市', '肇庆市', '云浮市']
+      }
     }
   },
   computed: {
@@ -557,8 +625,7 @@ export default {
       }
     }
   },
-  created() {
-    this.getTradeConfigList()
+  mounted() {
     if (this.module === 'add') {
       this.getAutonaviRegion()
       if (this.isCustomer) {
@@ -575,8 +642,24 @@ export default {
         this.getHistory(this.formData.customerId)
       }
     }
+    if (this.pageType === 'home' || this.formData.orderType === 'HOME') {
+      this.initTradeData('HOME')
+    }else{
+      this.getTradeConfigList()
+    }
   },
   methods: {
+    initTradeData(e){
+      if ( e === 'HOME') {
+        this.getTradeConfigList()
+        this.formData.tradeParentId = '1689529426267607042'
+      this.formData.tradeId = '1689529478943870978'
+      }else{
+        this.formData.tradeParentId = ''
+      this.formData.tradeId = ''
+      }
+
+    },
     // 获取省市区街道
     getAutonaviRegion(level = 0, id = null) {
       getAutonaviRegion({ parentLbsId: id }).then(res => {
@@ -591,16 +674,15 @@ export default {
           }
         } else if (level === 1) {
           if (this.formData.province === '广东省') {
-            this.cityList = res.data.filter(k=>{
-              if(this.formData.projectArea){
+            this.cityList = res.data.filter(k => {
+              if (this.formData.projectArea) {
                 return this.region[this.formData.projectArea].includes(k.name)
               }
-              return  k
+              return k
             })
-          }else {
+          } else {
             this.cityList = res.data
           }
-
         } else if (level === 2) {
           this.areaList = res.data
         } else if (level === 3) {
@@ -608,7 +690,7 @@ export default {
         }
       })
     },
-    handleProjectArea(e){
+    handleProjectArea(e) {
       if (this.formData.provinceId && this.formData.province === '广东省') {
         this.getAutonaviRegion(1, this.formData.provinceId)
       }
@@ -739,13 +821,10 @@ export default {
           return
         }
         this.tradeParentList = res.data
-        if (this.formData.id) {
-          console.log(this.formData.tradeParentId)
           const item = this.tradeParentList.find(k => k.id === this.formData.tradeParentId)
-          if (item.childList && item.childList.length) {
+          if (item && item.childList) {
             this.tradeList = item.childList
           }
-        }
       })
     },
     handleService(e) {
@@ -836,7 +915,7 @@ export default {
 .diy-table-1 {
   border: 1px solid #cccc;
   border-right: none;
-    border-bottom: none;
+  border-bottom: none;
 }
 .diy-table-1 .item {
   border-bottom: 1px solid #ccc;
@@ -846,7 +925,7 @@ export default {
   padding: 10px;
   border-right: 1px solid #ccc;
 }
-.diy-table-1 .item .value{
+.diy-table-1 .item .value {
   border-right: 1px solid #ccc;
 }
 ::v-deep .el-select {
@@ -880,12 +959,12 @@ export default {
     font-weight: 300;
   }
 }
-::v-deep .my-center{
-  input{
+::v-deep .my-center {
+  input {
     text-align: center !important;
   }
 }
-::v-deep .el-upload-list__item-name{
+::v-deep .el-upload-list__item-name {
   width: 200px !important;
 }
 .IP_font {
@@ -901,13 +980,13 @@ export default {
   padding: 6px 0 6px 6px;
 }
 ::v-deep .el-radio__inner {
-    border: 2px solid #ccc;
-    border-radius: 100%;
-    width: 14px;
-    height: 14px;
-    background-color: #FFF;
-    cursor: pointer;
-    -webkit-box-sizing: border-box;
-    box-sizing: border-box;
+  border: 2px solid #ccc;
+  border-radius: 100%;
+  width: 14px;
+  height: 14px;
+  background-color: #fff;
+  cursor: pointer;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
 }
 </style>

+ 1 - 2
src/views/commercialEngineering/components/examine.vue

@@ -56,7 +56,7 @@
         <el-col :xs="12" :sm="12" :lg="12" class="item">
           <div class="label">审核备注{{ formData.loginStatus === 'REJECT' ? '*' : '' }}</div>
           <div class="value">
-            <el-select v-model="formData.examineNote" placeholder="请选择" size="mini" clearable style="width: 100%">
+            <el-select v-if="!['frock', 'cross'].includes(pageType)" v-model="formData.examineNote" placeholder="请选择" size="mini" clearable style="width: 100%">
               <el-option
                 v-for="item in commonData.dict['TRADE_EXAMINE_NOTE']"
                 :key="item.value"
@@ -67,7 +67,6 @@
             <el-input
               v-model="formData.note"
               placeholder="请填写"
-              :disabled="formData.examineNote !== 'NOTE_3'"
               size="mini"
               clearable
             />

+ 16 - 6
src/views/setting/engineeringSubAccount.vue

@@ -45,6 +45,14 @@
             <template slot-scope="scope">
               <el-button type="text" @click="addOrEdit('edit', scope.row)">编辑</el-button>
               <el-button type="text" @click="addOrEdit('password', scope.row)">重置密码</el-button>
+              <el-popconfirm
+                title="确定删除吗?"
+                @onConfirm="handleDel(scope.row)"
+              >
+                <el-button slot="reference" type="text" size="mini">
+                  删除
+                </el-button>
+              </el-popconfirm>
               <!-- <el-button
                 v-if="checkBtnRole('detail')"
                 type="text"
@@ -178,7 +186,8 @@ import {
   setMenuRole,
   editSubAccount,
   editEngineeringUser,
-  getDetailGongCheng
+  getDetailGongCheng,
+  delUserGongCheng
 } from '@/api/setting'
 
 export default {
@@ -221,10 +230,7 @@ export default {
       rules: {
         password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
         parentId: [{ required: true, message: '请选择上级经销商', trigger: 'change' }],
-        nickName: [{ required: true, message: '请输入子经销商名称', trigger: 'blur' }],
-        spanLoginLimit: [{ required: true, message: '请输入跨区登录名额限制', trigger: 'blur' }],
-        homeLoginLimit: [{ required: true, message: '请输入家装登录名额限制', trigger: 'blur' }],
-        workLoginLimit: [{ required: true, message: '请输入工装登录名额限制', trigger: 'blur' }]
+        nickName: [{ required: true, message: '请输入子经销商名称', trigger: 'blur' }]
       },
       subCustomerList: []
     }
@@ -288,7 +294,11 @@ export default {
         this.$successMsg()
       })
     },
-
+    handleDel(row){
+             delUserGongCheng({adminUserId: row.adminUserId}).then(res=>{
+                  this.$successMsg('删除成功')
+                  this.getList()})
+    },
     // 新增编辑
     addOrEdit(type, row) {
       this.addFormType = type