Pārlūkot izejas kodu

代码提交:
0902
合同管理-客户信息List表单查询条件添加;
合同管理-客户信息Form表单增加根据名称、统一社会信用代码判断是否存在;

sunruiqi 2 gadi atpakaļ
vecāks
revīzija
80fed9f669

+ 7 - 0
src/api/sys/WorkClientService.js

@@ -57,4 +57,11 @@ export default class WorkClientService {
       params: {id: name}
     })
   }
+  isExist (param) {
+    return request({
+      url: '/workClientInfo/workClientInfo/isExist',
+      method: 'get',
+      params: {param: param}
+    })
+  }
 }

+ 28 - 3
src/views/modules/sys/workClient/WorkClientForm.vue

@@ -15,7 +15,7 @@
             <el-form-item label="客户名称" prop="workClientInfo.name" :rules="[
                   {required: true, message:'请输入客户名称', trigger:'blur'}
                 ]">
-              <el-input v-model="inputForm.workClientInfo.name" placeholder="请输入客户名称"></el-input>
+              <el-input @blur="isExistByName" v-model="inputForm.workClientInfo.name" placeholder="请输入客户名称"></el-input>
             </el-form-item>
           </el-col>
             <el-col :span="2">
@@ -88,7 +88,7 @@
                           :rules="[
                    {required: true, message:'请输入统一社会信用代码', trigger:'blur'}
                  ]">
-              <el-input v-model="inputForm.workClientInfo.uscCode" placeholder="请输入统一社会信用代码"></el-input>
+              <el-input @blur="isExistByUscCode" v-model="inputForm.workClientInfo.uscCode" placeholder="请输入统一社会信用代码"></el-input>
             </el-form-item>
           </el-col>
 
@@ -379,7 +379,7 @@
         zIndex="9999"/>
       <span slot="footer" class="dialog-footer">
       <el-button size="small" @click="close(),closeXTable()" icon="el-icon-circle-close">关闭</el-button>
-      <el-button size="small" type="primary" v-if="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+      <el-button size="small" type="primary" v-if="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick :disabled="isSubmit">确定</el-button>
     </span>
     </el-dialog>
   </div>
@@ -406,6 +406,7 @@
         dataListNew: [],
         title: '',
         method: '',
+        isSubmit: false,
         visible: false,
         loading: false,
         returnForm: {
@@ -535,6 +536,30 @@
           setTimeout(() => { this.progressFlag = false }, 1000) // 一秒后关闭进度条
         }
       },
+      isExistByName () {
+        let value = this.inputForm.workClientInfo.name
+        if (value !== null && value !== undefined && value !== '') {
+          this.workClientService.isExist(value).then((data) => {
+            console.log('data',data.data)
+            if (data.data !== 0) {
+              this.$message.error('该客户名称已存在')
+              this.isSubmit = true
+            }
+          })
+        }
+      },
+      isExistByUscCode () {
+        let value = this.inputForm.workClientInfo.uscCode
+        if (value !== null && value !== undefined && value !== '') {
+          this.workClientService.isExist(value).then((data) => {
+            console.log('data',data.data)
+            if (data.data !== 0) {
+              this.$message.error('该统一社会信用代码已存在')
+              this.isSubmit = true
+            }
+          })
+        }
+      },
       async toHref (row) {
         const link = document.createElement('a')
         if (row.id === null || row.id === undefined || row.id === '') {

+ 84 - 3
src/views/modules/sys/workClient/WorkClientList.vue

@@ -6,7 +6,7 @@
                 <el-input size="small" v-model="searchForm.name" placeholder="请输入客户名称" clearable></el-input>
          </el-form-item>
 
-        <el-form-item prop="areaId">
+        <el-form-item label="地区" prop="areaId">
           <SelectTree
             ref="area"
             :props="{
@@ -23,6 +23,78 @@
             @getValue="(value) => {searchForm.areaId=value}"/>
         </el-form-item>
 
+        <el-form-item label="创建时间" prop="createDates">
+          <el-date-picker
+            v-model="searchForm.createDates"
+            type="datetimerange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期">
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="客户性质" prop="companyType">
+          <el-select v-model="searchForm.companyType" placeholder="请选择" style="width:100%;">
+            <el-option
+              v-for="item in $dictUtils.getDictList('customer_nature')"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="客户行业" prop="companyIndustry">
+          <el-select v-model="searchForm.companyIndustry" placeholder="请选择" style="width:100%;">
+            <el-option
+              v-for="item in $dictUtils.getDictList('industry')"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="客户类型" prop="clientType">
+          <el-select v-model="searchForm.clientType" placeholder="请选择" style="width:100%;">
+            <el-option
+              v-for="item in $dictUtils.getDictList('customer_type')"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="统一社会信用代码" prop="uscCode">
+          <el-input size="small" v-model="searchForm.uscCode" placeholder="请输入统一社会信用代码" clearable></el-input>
+        </el-form-item>
+
+        <el-form-item label="创建人" prop="createBy">
+          <SelectUserTree
+            ref="companyTree"
+            :props="{
+                  value: 'id',             // ID字段名
+                  label: 'name',         // 显示名称
+                  children: 'children'    // 子级字段名
+                }"
+            :url="`/sys/user/treeUserDataAllOffice?type=2`"
+            :value="searchForm.createBy"
+            :clearable="true"
+            :accordion="true"
+            @getValue="(value) => {searchForm.createBy=value}"/>
+        </el-form-item>
+
+        <el-form-item label="代表方" prop="deputy">
+          <el-select v-model="searchForm.deputy" placeholder="请选择" style="width:100%;">
+            <el-option
+              v-for="item in $dictUtils.getDictList('representative')"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
 
           <el-form-item>
             <el-button type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
@@ -123,13 +195,21 @@
   import WorkClientForm from './WorkClientForm'
   import WorkClientService from '@/api/sys/WorkClientService'
   import SelectTree from '@/components/treeSelect/treeSelect.vue'
+  import SelectUserTree from '@/views/modules/utils/treeUserSelect'
   export default {
     data () {
       return {
         visible: false,
         searchForm: {
           name: '',
-          areaId: ''
+          areaId: '',
+          createDates: [],
+          companyType: '',
+          companyIndustry: '',
+          clientType: '',
+          uscCode: '',
+          createBy: '',
+          deputy: ''
         },
         dataList: [],
         tablePage: {
@@ -147,7 +227,8 @@
     },
     components: {
       WorkClientForm,
-      SelectTree
+      SelectTree,
+      SelectUserTree
     },
     activated () {
       this.refreshList()