Browse Source

代码上传

zhangqiOMG 3 years ago
parent
commit
42e7d16243

+ 12 - 9
src/HManagement/clueManage/clue_import/detailPage/index.vue

@@ -1,18 +1,19 @@
 <template>
   <div>
     <div class="container normal-panel normal-margin">
-      <save v-if="tool.checkAuth($route.name,'update')" @onSave="onSave"></save>
-      <onDel v-if="tool.checkAuth($route.name,'delete')"></onDel>
-      <onCheck v-if="tool.checkAuth($route.name,'check')" :status="status" @onSuccess="onHeadSuccess"></onCheck>
+      <save v-if="tool.checkAuth($route.name,'update') && headData.status === '待审核'" @onSave="onSave"></save>
+      <onDel v-if="tool.checkAuth($route.name,'delete') && headData.status === '待审核'"></onDel>
+      <onCheck v-if="tool.checkAuth($route.name,'check')" :status="headData.status" @onSuccess="onHeadSuccess"></onCheck>
+      <switchData></switchData>
     </div>
     <billHead ref="bhead" @onHeadData="onHeadData"></billHead>
     <billBody ref="list">
-      <body-add v-if="tool.checkAuth($route.name,'clue_insert')" slot="add" @onSuccess="onSuccess"></body-add>
+      <body-add v-if="tool.checkAuth($route.name,'clue_insert') && headData.status === '待审核'" slot="add" @onSuccess="onSuccess"></body-add>
       <template v-slot:edit="scope">
-        <body-edit v-if="tool.checkAuth($route.name,'clue_update')" :data="scope.data.data" @onSuccess="onSuccess"></body-edit>
+        <body-edit v-if="tool.checkAuth($route.name,'clue_update') && headData.status === '待审核'" :data="scope.data.data" @onSuccess="onSuccess"></body-edit>
       </template>
       <template v-slot:del="scope">
-        <body-del v-if="tool.checkAuth($route.name,'clue_delete')" :data="scope.data.data" @onSuccess="onSuccess"></body-del>
+        <body-del v-if="tool.checkAuth($route.name,'clue_delete') && headData.status === '待审核'" :data="scope.data.data" @onSuccess="onSuccess"></body-del>
       </template>
       <template></template>
     </billBody>
@@ -29,6 +30,7 @@ import bodyDel from './modules/body_del.vue'
 import save from './modules/op_save.vue'
 import onDel from './modules/op_del.vue'
 import onCheck from './modules/op_check.vue'
+import switchData from './modules/switchData.vue'
 
 export default {
   components:{
@@ -39,11 +41,12 @@ export default {
     bodyAdd,
     save,
     onDel,
-    onCheck
+    onCheck,
+    switchData
   },
   data () {
     return {
-      status:''
+      headData:{}
     }
   },
   methods:{
@@ -57,7 +60,7 @@ export default {
       this.$refs['bhead'].queryOrderclueuploadbillMain()
     },
     onHeadData (data) {
-      this.status = data.status
+      this.headData = data
     }
   },
   mounted () {

+ 7 - 1
src/HManagement/clueManage/clue_import/detailPage/modules/billBody.vue

@@ -46,7 +46,7 @@ export default {
         "content": {
           "pageNumber": 1,
           "pageSize": 20,
-          "sat_orderclueuploadbillid": this.$route.query.id,
+          "sat_orderclueuploadbillid":'',
             "where":{
               "condition":"",
               "status":""
@@ -62,6 +62,7 @@ export default {
   },
   methods:{
     async listData () {
+      this.params.content.sat_orderclueuploadbillid = this.$route.query.id
       this.params.content.where = this.search
       const res = await this.$api.requested(this.params)
       this.list = res.data
@@ -85,6 +86,11 @@ export default {
   created () {
     //获取表结构
     this.tablecols = this.tool.tabelCol(this.$route.name)['clueImportDetailBOdyTable'].tablecols
+  },
+  watch:{
+    $route () {
+      this.listData()
+    }
   }
 }
 

+ 5 - 0
src/HManagement/clueManage/clue_import/detailPage/modules/billHead.vue

@@ -75,6 +75,11 @@ export default {
   },
   mounted () {
     this.queryOrderclueuploadbillMain()
+  },
+  watch:{
+    $route () {
+      this.queryOrderclueuploadbillMain()
+    }
   }
 }
 

+ 27 - 13
src/HManagement/clueManage/clue_import/detailPage/modules/body_add.vue

@@ -2,11 +2,11 @@
   <div class="normal-margin">
     <el-button size="small" type="primary" @click="onShow">新 建</el-button>
     <el-dialog title="编辑线索" :visible.sync="dialogFormVisible" width="500px">
-      <el-form :model="form" label-position="left" label-width="80px" size="small">
+      <el-form :model="form" :rules="rule" ref="form" label-position="left" label-width="80px" size="small">
         <el-form-item label="客户姓名">
           <el-input v-model="form.name" autocomplete="off" placeholder="输入客户姓名"></el-input>
         </el-form-item>
-        <el-form-item label="手机号">
+        <el-form-item label="手机号" prop="phonenumber">
           <el-input v-model="form.phonenumber" autocomplete="off" placeholder="输入手机号"></el-input>
         </el-form-item>
         <el-form-item label="省市县" prop="value">
@@ -21,7 +21,7 @@
         <el-form-item label="地址">
           <el-input v-model="form.address" autocomplete="off" placeholder="输入地址"></el-input>
         </el-form-item>
-        <el-form-item label="来源">
+        <el-form-item label="来源" prop="cluesource">
           <el-input v-model="form.cluesource" autocomplete="off" placeholder="输入来源"></el-input>
         </el-form-item>
         <el-form-item label="备注">
@@ -42,6 +42,17 @@ export default {
   data () {
     return {
       dialogFormVisible:false,
+      rule:{
+        phonenumber:[
+          { required: true, message: '请输入联系人手机号', trigger: 'blur' },
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
+        ],
+        cluesource:[{ required: true, message: '请输入来源', trigger: 'blur' }],
+        value:[
+          { required: true, message: '请选择省市县', trigger: 'blur' },
+          { required: true, message: '请选择省市县', trigger: 'change' }
+        ],
+      },
       form:{
         "sat_orderclueuploadbillmxid": 0,
         "sat_orderclueuploadbillid": this.$route.query.id
@@ -53,16 +64,19 @@ export default {
     onShow () {
       this.dialogFormVisible = true
     },
-    async onSubmit () {
-      const res = await this.$api.requested({
-        "classname":"webmanage.saletool.orderclue.orderclue",
-        "method": "insertormodify_Orderclueuploadbillmx",
-        "content":this.form
-      })
-      this.tool.showMessage(res,()=>{
-        this.dialogFormVisible = false
-        this.$emit('onSuccess')
-      })
+    onSubmit () {
+       this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false;
+        const res = await this.$api.requested({
+          "classname":"webmanage.saletool.orderclue.orderclue",
+          "method": "insertormodify_Orderclueuploadbillmx",
+          "content":this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.dialogFormVisible = false
+          this.$emit('onSuccess')
+        })
+      });
     },
     async query_arealist() {
       const res = await this.$api.requested({

+ 26 - 12
src/HManagement/clueManage/clue_import/detailPage/modules/body_edit.vue

@@ -2,11 +2,11 @@
   <div class="inline-16">
     <el-button size="small" type="text" @click="onShow">编 辑</el-button>
     <el-dialog title="编辑线索" :visible.sync="dialogFormVisible" width="500px">
-      <el-form :model="form" label-position="left" label-width="80px" size="small">
+      <el-form :model="form" :rules="rule" ref="form" label-position="left" label-width="80px" size="small">
         <el-form-item label="客户姓名">
           <el-input v-model="form.name" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="手机号">
+        <el-form-item label="手机号" prop="phonenumber">
           <el-input v-model="form.phonenumber" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="省市县" prop="value">
@@ -21,7 +21,7 @@
         <el-form-item label="地址">
           <el-input v-model="form.address" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="来源">
+        <el-form-item label="来源" prop="cluesource">
           <el-input v-model="form.cluesource" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="备注">
@@ -42,6 +42,17 @@ export default {
   data () {
     return {
       dialogFormVisible:false,
+      rule:{
+        phonenumber:[
+          { required: true, message: '请输入联系人手机号', trigger: 'blur' },
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
+        ],
+        cluesource:[{ required: true, message: '请输入来源', trigger: 'blur' }],
+        value:[
+          { required: true, message: '请选择省市县', trigger: 'blur' },
+          { required: true, message: '请选择省市县', trigger: 'change' }
+        ],
+      },
       form:{},
       arealist:[]
     }
@@ -57,15 +68,18 @@ export default {
       this.form = Object.assign({},this.form,this.data)
     },
     async onSubmit () {
-      const res = await this.$api.requested({
-        "classname":"webmanage.saletool.orderclue.orderclue",
-        "method": "insertormodify_Orderclueuploadbillmx",
-        "content":this.form
-      })
-      this.tool.showMessage(res,()=>{
-        this.dialogFormVisible = false
-        this.$emit('onSuccess')
-      })
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false;
+        const res = await this.$api.requested({
+          "classname":"webmanage.saletool.orderclue.orderclue",
+          "method": "insertormodify_Orderclueuploadbillmx",
+          "content":this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.dialogFormVisible = false
+          this.$emit('onSuccess')
+        })
+      });
     },
     async query_arealist() {
       const res = await this.$api.requested({

+ 58 - 0
src/HManagement/clueManage/clue_import/detailPage/modules/switchData.vue

@@ -0,0 +1,58 @@
+<template>
+  <div class="inline-16">
+    <el-button-group>
+      <el-button size="small" type="defalut" :disabled="rowindex === 1" @click="firstPage()">首条</el-button>
+      <el-button size="small" type="defalut" :disabled="rowindex === 1" @click="previous()">上一条</el-button>
+      <el-button size="small" type="defalut" @click="next()">下一条</el-button>
+      <el-button size="small" type="defalut" @click="finalData()">末条</el-button>
+    </el-button-group>
+  </div>
+</template>
+
+<script>
+export default {
+  props:['data'],
+  data () {
+    return {
+      rowindex:null
+    }
+  },
+  created () {
+    this.rowindex = Number(this.$route.query.rowindex)
+  },
+  beforeDestroy () {
+    sessionStorage.removeItem('clue_pageTotal')
+  },
+  methods:{
+    firstPage () {
+      this.rowindex = 1
+      this.switchOrderclueuploadbillMain(this.rowindex)
+    },
+    previous () {
+      this.rowindex = Number(this.$route.query.rowindex) - 1
+      this.switchOrderclueuploadbillMain(this.rowindex)
+    },
+    next () {
+      this.rowindex = Number(this.$route.query.rowindex) + 1
+      this.switchOrderclueuploadbillMain(this.rowindex)
+    },
+    finalData () {
+      this.rowindex = JSON.parse(sessionStorage.getItem('clue_pageTotal'))
+      this.switchOrderclueuploadbillMain(this.rowindex)
+    },
+    async switchOrderclueuploadbillMain (rowindex) {
+      const res = await this.$api.requested({
+        "classname":"webmanage.saletool.orderclue.orderclue",
+        "method": "queryOrderclueuploadbillList",
+        "content": {
+          "rowindex": rowindex
+        }
+      })
+      this.$router.replace({path:'/importClueDetail',query:{id:res.data.sat_orderclueuploadbillid,rowindex:rowindex}})
+    },
+  }
+}
+
+</script>
+<style>
+</style>

+ 1 - 1
src/HManagement/clueManage/clue_import/index.vue

@@ -3,7 +3,7 @@
     <importClue v-if="tool.checkAuth($route.name,'import')"></importClue>
     <list>
       <template v-slot:detail="scope">
-        <el-button v-if="tool.checkAuth($route.name,'update')" type="text" size="small" @click="$router.push({path:'/importClueDetail',query:{id:scope.data.data.sat_orderclueuploadbillid}})">编 辑</el-button>
+        <el-button v-if="tool.checkAuth($route.name,'update')" type="text" size="small" @click="$router.push({path:'/importClueDetail',query:{id:scope.data.data.sat_orderclueuploadbillid,rowindex:scope.data.data.rowindex}})">编 辑</el-button>
       </template>
     </list>
   </div>

+ 1 - 0
src/HManagement/clueManage/clue_import/modules/list.vue

@@ -79,6 +79,7 @@ export default {
       this.list = res.data
       this.total = res.total
       this.currentPage = res.pageNumber
+      sessionStorage.setItem('clue_pageTotal',this.total)
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);

+ 27 - 12
src/HManagement/clueManage/clue_public/modules/edit.vue

@@ -3,11 +3,11 @@
   <div v-if="data.status === '待分配'" class="inline-16">
     <el-button size="small" :type="type" @click="onShow">编 辑</el-button>
     <el-dialog title="编辑线索" :visible.sync="dialogFormVisible" width="500px">
-      <el-form :model="form" label-position="left" label-width="80px" size="small">
+      <el-form :model="form" :rules="rule" ref="form" label-position="left" label-width="80px" size="small">
         <el-form-item label="客户姓名">
           <el-input v-model="form.name" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="手机号">
+        <el-form-item label="手机号" prop="phonenumber">
           <el-input v-model="form.phonenumber" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="省市县" prop="value">
@@ -22,7 +22,7 @@
         <el-form-item label="地址">
           <el-input v-model="form.address" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="来源">
+        <el-form-item label="来源" prop="cluesource">
           <el-input v-model="form.cluesource" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="备注">
@@ -43,6 +43,17 @@ export default {
   data () {
     return {
       dialogFormVisible:false,
+      rule:{
+        phonenumber:[
+          { required: true, message: '请输入联系人手机号', trigger: 'blur' },
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
+        ],
+        cluesource:[{ required: true, message: '请输入来源', trigger: 'blur' }],
+        value:[
+          { required: true, message: '请选择省市县', trigger: 'blur' },
+          { required: true, message: '请选择省市县', trigger: 'change' }
+        ],
+      },
       form:{},
       arealist:[]
     }
@@ -58,15 +69,19 @@ export default {
       this.form = Object.assign({},this.form,this.data)
     },
     async onSubmit () {
-      const res = await this.$api.requested({
-        "classname": "webmanage.saletool.orderclue.publicclue.PublicClue",
-        "method": "edit",
-        "content":this.form
-      })
-      this.tool.showMessage(res,()=>{
-        this.dialogFormVisible = false
-        this.$emit('onSuccess')
-      })
+      
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false;
+        const res = await this.$api.requested({
+          "classname": "webmanage.saletool.orderclue.publicclue.PublicClue",
+          "method": "edit",
+          "content":this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.dialogFormVisible = false
+          this.$emit('onSuccess')
+        })
+      });
     },
     async query_arealist() {
       const res = await this.$api.requested({

+ 1 - 1
src/HManagement/marketing/agent/modules/add_agent.vue

@@ -115,7 +115,7 @@ export default {
           { required: true, message: '请选择省市县', trigger: 'change' }
         ],
         contact:[{ required: true, message: '请输入联系人', trigger: 'blur' }],
-        phonenumber:[{ required: true, message: '请输入联系人手机号', trigger: 'blur' }],
+        phonenumber:[{ required: true, message: '请输入联系人手机号', trigger: 'blur' }, { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }],
         sa_saleareaname:[{ required: true, message: '请输入营销区域', trigger: 'blur' }],
         signdate:[{required: true, message: '请选择时间', trigger: 'change' }],
         agenttype:[{ required: true, message: '请选择经销商类别', trigger: 'change' }],

+ 1 - 1
src/HManagement/marketing/agent/modules/agent_detail.vue

@@ -77,7 +77,7 @@ export default {
           { required: true, message: '请选择省市县', trigger: 'change' }
         ],
         contact:[{ required: true, message: '请输入联系人', trigger: 'blur' }],
-        phonenumber:[{ required: true, message: '请输入联系人手机号', trigger: 'blur' }],
+        phonenumber:[{ required: true, message: '请输入联系人手机号', trigger: 'blur' }, { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }],
         sa_saleareaname:[{ required: true, message: '请输入营销区域', trigger: 'blur' }],
         signdate:[{required: true, message: '请选择时间', trigger: 'change' }],
         agenttype:[{ required: true, message: '请选择经销商类别', trigger: 'change' }],

+ 1 - 1
src/HManagement/marketing/agent/modules/edit_agent.vue

@@ -136,7 +136,7 @@ export default {
           { required: true, message: '请选择省市县', trigger: 'change' }
         ],
         contact:[{ required: true, message: '请输入联系人', trigger: 'blur' }],
-        phonenumber:[{ required: true, message: '请输入联系人手机号', trigger: 'blur' }],
+        phonenumber:[{ required: true, message: '请输入联系人手机号', trigger: 'blur' }, { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }],
         sa_saleareaname:[{ required: true, message: '请输入营销区域', trigger: 'blur' }],
         signdate:[{required: true, message: '请选择时间', trigger: 'change' }],
         agenttype:[{ required: true, message: '请选择经销商类别', trigger: 'change' }],

+ 2 - 1
src/SManagement/user/user-info/components/baseInfo.vue

@@ -50,7 +50,8 @@ export default {
          { required: true, message: '请输入姓名', trigger: 'blur' }
         ],
         phonenumber:[
-         { required: true, message: '请输入手机号', trigger: 'blur' }
+         { required: true, message: '请输入手机号', trigger: 'blur' },
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
         ],
         pass:[
          { required: true, message: '请输入密码', trigger: 'blur' }