Przeglądaj źródła

客户拥有人逻辑调整为当前修改客户信息的用户

huangguoce 13 godzin temu
rodzic
commit
74c8d8c7ad

+ 7 - 0
src/api/cw/workClientInfo/WorkClientService.js

@@ -150,4 +150,11 @@ export default {
 			params: params,
 		});
 	},
+	updateUpdateUserById: function (data) {
+		return request({
+			url: prefix + "/cw_work_client/info/updateUpdateUserById",
+			method: "post",
+			data: data,
+		});
+	},
 };

Plik diff jest za duży
+ 1174 - 1269
src/views/cw/workClientInfo/WorkClientAddForm.vue


+ 128 - 130
src/views/cw/workClientInfo/WorkClientChooseRadio.vue

@@ -1,17 +1,10 @@
 <template>
   <div>
-    <el-dialog
-      :title="title"
-      :close-on-click-modal="false"
-	  draggable
-      width="1400px"
-      append-to-body
-      height="500px"
-      @close="close"
-      @keyup.enter.native="getWorkClient"
-	  v-model="visibleChoose">
+    <el-dialog :title="title" :close-on-click-modal="false" draggable width="1400px" append-to-body height="500px"
+      @close="close" @keyup.enter.native="getWorkClient" v-model="visibleChoose">
       <div style="height: calc(100%);">
-		<el-form size="large" :inline="true" class="query-form m-b-10" ref="searchForm" :model="searchForm" @submit.native.prevent>
+        <el-form size="large" :inline="true" class="query-form m-b-10" ref="searchForm" :model="searchForm"
+          @submit.native.prevent>
           <!-- 搜索框-->
           <el-form-item label="客户名称" prop="name">
             <el-input size="large" v-model="searchForm.name" placeholder="客户名称" clearable></el-input>
@@ -21,21 +14,15 @@
           </el-form-item>
           <el-form-item label="客户类型" prop="type">
             <el-select v-model="searchForm.type" placeholder="请选择" style="width:100%" clearable>
-              <el-option
-                v-for="item in $dictUtils.getDictList('cw_work_client_type')"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
+              <el-option v-for="item in $dictUtils.getDictList('cw_work_client_type')" :key="item.value"
+                :label="item.label" :value="item.value">
               </el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="所属行业" prop="industry">
             <el-select v-model="searchForm.industry" placeholder="请选择" style="width:100%;" clearable>
-              <el-option
-                v-for="item in $dictUtils.getDictList('cw_work_client_industry')"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
+              <el-option v-for="item in $dictUtils.getDictList('cw_work_client_industry')" :key="item.value"
+                :label="item.label" :value="item.value">
               </el-option>
             </el-select>
           </el-form-item>
@@ -47,144 +34,155 @@
           </el-form-item>
         </el-form>
 
-        <vxe-table
-          border="inner"
-          height="480px"
-          :loading="loading"
-          size="small"
-          ref="clientTable"
-          show-header-overflow
-          show-overflow
-          highlight-hover-row
-          :menu-config="{}"
-          :print-config="{}"
-          :sort-config="{remote:true}"
-          :data="dataList"
-          :row-config="{isCurrent: true}"
-          :tree-config="{transform: true, rowField: 'id', parentField: 'oneUpCompany'}"
-          :radio-config="{trigger: 'row'}">
+        <vxe-table border="inner" height="480px" :loading="loading" size="small" ref="clientTable" show-header-overflow
+          show-overflow highlight-hover-row :menu-config="{}" :print-config="{}" :sort-config="{ remote: true }"
+          :data="dataList" :row-config="{ isCurrent: true }"
+          :tree-config="{ transform: true, rowField: 'id', parentField: 'oneUpCompany' }"
+          :radio-config="{ trigger: 'row' }">
           <vxe-column type="seq" width="40"></vxe-column>
           <vxe-column type="radio" width="60px"></vxe-column>
-          <vxe-column width="230px" title="客户名称" align="center" field="name" tree-node show-overflow="title"></vxe-column>
+          <vxe-column width="230px" title="客户名称" align="center" field="name" tree-node
+            show-overflow="title"></vxe-column>
           <vxe-column width="200px" title="客户编号" align="center" field="no"></vxe-column>
           <vxe-column width="200px" title="客户类型" align="center" field="type">
             <template #default="scope">
-              {{$dictUtils.getDictLabel('cw_work_client_type', scope.row.type, '-')}}
+              {{ $dictUtils.getDictLabel('cw_work_client_type', scope.row.type, '-') }}
             </template>
           </vxe-column>
           <vxe-column width="230px" title="所属行业" align="center" field="industry">
             <template #default="scope">
-              {{$dictUtils.getDictLabel('cw_work_client_industry', scope.row.industry, '-')}}
+              {{ $dictUtils.getDictLabel('cw_work_client_industry', scope.row.industry, '-') }}
             </template>
           </vxe-column>
           <vxe-column width="200px" title="联系电话" align="center" field="mobile"></vxe-column>
           <vxe-column width="200px" title="公司级次" align="center" field="companyLevel"></vxe-column>
         </vxe-table>
-		  <vxe-pager
-			  background
-			  :current-page="tablePage.currentPage"
-			  :page-size="tablePage.pageSize"
-			  :total="tablePage.total"
-			  :page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"
-			  :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
-			  @page-change="currentChangeHandle">
-		  </vxe-pager>
+        <vxe-pager background :current-page="tablePage.currentPage" :page-size="tablePage.pageSize"
+          :total="tablePage.total" :page-sizes="[10, 20, 100, 1000, { label: '全量数据', value: 1000000 }]"
+          :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
+          @page-change="currentChangeHandle">
+        </vxe-pager>
       </div>
-<!--      <span slot="footer" class="dialog-footer">-->
-<!--      <el-button size="small" @click="close()" icon="circle-close">关闭</el-button>-->
-<!--      <el-button size="small" type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="circle-check" v-noMoreClick>确定</el-button>-->
-<!--    </span>-->
-		<template #footer>
-			<span class="dialog-footer">
-				<el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
-			<el-button type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-			</span>
-		</template>
+      <!--      <span slot="footer" class="dialog-footer">-->
+      <!--      <el-button size="small" @click="close()" icon="circle-close">关闭</el-button>-->
+      <!--      <el-button size="small" type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="circle-check" v-noMoreClick>确定</el-button>-->
+      <!--    </span>-->
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
+          <el-button type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="el-icon-circle-check"
+            v-noMoreClick>确定</el-button>
+        </span>
+      </template>
     </el-dialog>
   </div>
 </template>
 
 <script>
-  import workClientService from '@/api/cw/workClientInfo/WorkClientService'
-  export default {
-    data () {
-      return {
-        title: '',
-        method: '',
-        visibleChoose: false,
-        loading: false,
-        tablePage: {
-          total: 0,
-          currentPage: 1,
-          pageSize: 10,
-          orders: []
-        },
-        dataList: [],
-        searchForm: {
-          name: '',
-          no: '',
-          type: '',
-          industry: ''
-        }
+import workClientService from '@/api/cw/workClientInfo/WorkClientService'
+import { ElMessage, ElMessageBox } from 'element-plus'
+
+export default {
+  data() {
+    return {
+      title: '',
+      method: '',
+      visibleChoose: false,
+      loading: false,
+      tablePage: {
+        total: 0,
+        currentPage: 1,
+        pageSize: 10,
+        orders: []
+      },
+      dataList: [],
+      searchForm: {
+        name: '',
+        no: '',
+        type: '',
+        industry: ''
       }
+    }
+  },
+  created() {
+  },
+  components: {
+  },
+  methods: {
+    init(deputy) {
+      this.title = '客户选择'
+      this.visibleChoose = true
+      this.list()
     },
-    created () {
-    },
-    components: {
-    },
-    methods: {
-      init (deputy) {
-        this.title = '客户选择'
-        this.visibleChoose = true
-        this.list()
-      },
-      // 表单提交
-      getWorkClient () {
-        let row = this.$refs.clientTable.getRadioRecord()
-        if (this.commonJS.isEmpty(row)) {
-          this.$message.error('请至少选择一条数据')
+    // 表单提交
+    getWorkClient() {
+      let row = this.$refs.clientTable.getRadioRecord()
+      if (this.commonJS.isEmpty(row)) {
+        this.$message.error('请至少选择一条数据')
+      } else {
+        if (row.updateUser !== this.$store.state.user.id) {
+          ElMessageBox.confirm(
+            '选择后,将默认由您继续维护该客户基本信息。您是否确认选择?',
+            '提示',
+            {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'primary',
+            }
+          )
+            .then(() => {
+              this.close()
+              this.$emit('getWorkClientRadioChoose', row)
+            })
+            .catch(() => {
+              this.$refs.clientTable.clearRadioRow()
+            })
         } else {
           this.close()
           this.$emit('getWorkClientRadioChoose', row)
         }
-      },
-      list () {
-        this.dataList = []
-        this.loading = true
-        this.searchForm.isTrue = '1'
-        workClientService.listTree({
-          'current': this.tablePage.currentPage,
-          'size': this.tablePage.pageSize,
-          'orders': this.tablePage.orders,
-          ...this.searchForm
-        }).then((data) => {
-          this.dataList = data.records
-          this.tablePage.total = data.total
-          this.loading = false
-        })
-      },
-      // 当前页
-      currentChangeHandle ({currentPage, pageSize}) {
-        this.tablePage.currentPage = currentPage
-        this.tablePage.pageSize = pageSize
-        this.list()
-      },
-      resetSearch () {
-        this.$refs.searchForm.resetFields()
-        this.list()
-      },
-      close () {
-        this.$refs.searchForm.resetFields()
-        this.visibleChoose = false
+
       }
+    },
+    list() {
+      this.dataList = []
+      this.loading = true
+      this.searchForm.isTrue = '1'
+      workClientService.listTree({
+        'current': this.tablePage.currentPage,
+        'size': this.tablePage.pageSize,
+        'orders': this.tablePage.orders,
+        ...this.searchForm
+      }).then((data) => {
+        this.dataList = data.records
+        this.tablePage.total = data.total
+        this.loading = false
+      })
+    },
+    // 当前页
+    currentChangeHandle({ currentPage, pageSize }) {
+      this.tablePage.currentPage = currentPage
+      this.tablePage.pageSize = pageSize
+      this.list()
+    },
+    resetSearch() {
+      this.$refs.searchForm.resetFields()
+      this.list()
+    },
+    close() {
+      this.$refs.searchForm.resetFields()
+      this.visibleChoose = false
     }
   }
+}
 </script>
 <style scoped>
-  /deep/ .el-dialog__body {
-    padding-top: 0;
-  }
-  /deep/ .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
-    margin-bottom: 0px;
-  }
+/deep/ .el-dialog__body {
+  padding-top: 0;
+}
+
+/deep/ .el-form-item--mini.el-form-item,
+.el-form-item--small.el-form-item {
+  margin-bottom: 0px;
+}
 </style>

Plik diff jest za duży
+ 473 - 490
src/views/cw/workClientInfo/WorkClientList.vue


Plik diff jest za duży
+ 1019 - 1055
src/views/cw/workContract/contractRegisitionAddForm/ContractAddForm.vue