Browse Source

Merge branch 'redUrgent' into allTestUrgent

qymljy 1 year ago
parent
commit
7891fd9f3a

+ 1 - 1
src/HDrpManagement/dispatch/modules/productlist.vue

@@ -26,7 +26,7 @@
             <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
           </template>
           <template v-slot:opreation="scope">
-            <el-button type="text" size="mini" @click="deleteOrderProduct(scope.data)">删 除</el-button>
+            <el-button type="text" size="mini" @click="deleteOrderProduct(scope.data)" :disabled="data.STATUS === '审核' || data.STATUS === '复核' || data.STATUS === '关闭'">删 除</el-button>
           </template>
         </Table>
     <!-- <el-table

+ 1 - 1
src/HDrpManagement/prodectFileData/modules/add.vue

@@ -4,7 +4,7 @@
     <el-drawer
       title="新增资料"
       :visible.sync="drawer"
-      size="600px"
+      size="800px"
       direction="rtl"
       append-to-body
       @close="onCancel"

+ 31 - 2
src/HDrpManagement/prodectFileData/modules/edit.vue

@@ -4,7 +4,7 @@
     <el-drawer
       title="编辑资料"
       :visible.sync="drawer"
-      size="600px"
+      size="800px"
       direction="rtl"
       append-to-body>
       <div class="drawer__panel">
@@ -40,6 +40,8 @@
         <div>
           <file_table ref="list" :id="form.plm_technicalinfoid">
             <template v-slot:del="scope">
+              <el-button size="small" type="text"  @click="seeClick(scope.data)" >预览</el-button>
+              <el-button @click="downLoad(scope.data)" size="small" type="text" class="inline-16">下载</el-button>
               <file_delete v-if="tool.checkAuth($route.name,'delete')" :data="scope.data" :type="'text'" @deleteSuccess="onSuccess"></file_delete>
             </template>
           </file_table>
@@ -50,6 +52,7 @@
         </div>
       </div>
     </el-drawer>
+    <SeeFile ref="seeFileRef" :fileData="seeFileData"></SeeFile>
   </div>
 </template>
 
@@ -57,12 +60,14 @@
 import uploadFile from '../../../components/upload/hw_obs_upload_new.vue'
 import file_table from "../components/fileTable";
 import file_delete from "../components/fileDel"
+import SeeFile from '@/components/file-block/components/SeeFile1'
 export default {
   props:['data'],
   name: "edit",
   data() {
     return {
       drawer:false,
+      seeFileData:'',
       form:[],
       options: [],
       rules:{
@@ -77,7 +82,8 @@ export default {
   components:{
     uploadFile,
     file_table,
-    file_delete
+    file_delete,
+    SeeFile
   },
   mounted() {
 
@@ -152,6 +158,29 @@ export default {
     },
     onSuccess(){
       this.$refs.list.listData()
+    },
+    //预览
+    seeClick(fileData) {
+      if(fileData.postfix == 'png' || fileData.postfix == 'PNG' || fileData.postfix == 'jpg' || fileData.postfix == 'JPG' || fileData.postfix == 'bmp' || fileData.postfix == 'BMP'
+          || fileData.postfix == 'gif' || fileData.postfix == 'GIG' || fileData.postfix == 'WEBP' || fileData.postfix == 'webp' || fileData.postfix == 'svg' || fileData.postfix == 'SVG'
+          || fileData.postfix == 'TIFF' || fileData.postfix == 'tiff' ) {
+        this.seeFileData = fileData
+        this.$refs.seeFileRef.dialogVisible = true
+      }else if (fileData.postfix == 'PDF' || fileData.postfix == 'pdf' || fileData.postfix == 'xlsx' || fileData.postfix == 'XLSX' || fileData.postfix == 'xls' || fileData.postfix == 'XLS'
+          || fileData.postfix == 'docx' || fileData.postfix == 'DOCX' || fileData.postfix == 'doc' || fileData.postfix == 'DOC'){
+        window.open(fileData.url,'_self')
+      } else {
+        this.$notify({
+          title:'提示',
+          message:'该文件暂不支持',
+          type:'warning'
+        })
+      }
+    },
+    //下载
+    downLoad(item) {
+      this.$emit('updateDownLoadRecord',item)
+      window.open(item.url,'_self')
     }
   }
 }

+ 5 - 1
src/HManagement/clueManage/m_activity/modules/addClue.vue

@@ -126,7 +126,7 @@
             </el-col>
 
             <el-col :span="24">
-              <el-form-item label="市场活动:" prop="cluesource">
+              <el-form-item label="市场活动:" prop="activityName">
                 <el-input disabled type="text" size="small" v-model="activityName"></el-input>
               </el-form-item>
             </el-col>
@@ -246,6 +246,7 @@ export default {
         "areaCode":'',
         "telephone":'',
         "isTelephone":'0',
+        "activityName":""
       },
       unitnameList:[],
       rules:{
@@ -283,6 +284,9 @@ export default {
         cluesource:[
           { required: true, message: '请选择来源', trigger: 'change'}
         ],
+        activityName:[
+          { required: true, message: '请选择市场活动', trigger: 'change'}
+        ],
       },
       options:[],
       tradefieldSelect:[],

+ 5 - 1
src/HManagement/clueManage/m_activity/modules/editClue.vue

@@ -127,7 +127,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="市场活动" prop="sat_campaignid">
+              <el-form-item label="市场活动" prop="campaign_name">
                 <el-input disabled type="text" size="small" v-model="form.campaign_name"></el-input>
               </el-form-item>
             </el-col>
@@ -240,6 +240,7 @@ export default {
         "areaCode":'',
         "telephone":'',
         "isTelephone":'0',
+        "campaign_name":''
       },
       unitnameList:[],
       rules:{
@@ -275,6 +276,9 @@ export default {
         cluesource:[
           { required: true, message: '请选择来源', trigger: 'change'}
         ],
+        campaign_name:[
+          { required: true, message: '请选择市场活动', trigger: 'change'}
+        ],
       },
       options:[],
       tradefieldSelect:[],

+ 0 - 1
src/HManagement/department/staff/detail/index.vue

@@ -83,7 +83,6 @@ export default {
       this.changeDataStructure()
     },
     changeDataStructure() {
-      console.log("2222")
       this.mainAreaData = [
         {
           label:'电话',

+ 3 - 3
src/HManagement/department/staff/detail/modules/main.vue

@@ -25,14 +25,14 @@
         <el-descriptions-item label-class-name="my-label" content-class-name="my-content" label="营销区域">
           <div v-if="mainInfo.salearea">
             <div v-if="mainInfo.salearea.length > 0">
-              <div v-for="(item,index) in mainInfo.salearea">
+              <span v-for="(item,index) in mainInfo.salearea">
                 <span v-if="mainInfo.salearea.length == 1 || index == mainInfo.salearea.length -1">
                   {{item.areaname}}
                 </span>
                 <span v-else >
-                  {{item.areaname}} + ','
+                  {{item.areaname + ','}}
                 </span>
-              </div>
+              </span>
             </div>
             <div v-else>
               --

+ 1 - 2
src/SManagement/orderclue/components/add.vue

@@ -257,7 +257,7 @@ export default {
           { required: false, validator: enddateTime, trigger: 'change' }
         ],
         name:[
-          { required: true, message: '请输入联系人', trigger: 'blur'}
+          { required: true, message: '请输入联系人', trigger: 'change'}
         ],
         tradefield:[
           { required: true, message: '请选择领域', trigger: 'change'}
@@ -448,7 +448,6 @@ export default {
       this.param.content.telephone = ''
       this.param.content.phonenumber = ''
       this.param.content.isTelephone = '0'
-      this.$refs.businessMessage.businessShow = false
       this.$refs.sourceRef.value = ''
       this.$refs.sourceRef.option = []
     },

+ 3 - 3
src/SManagement/orderclue_detail/components/changeCustomer.vue

@@ -214,7 +214,7 @@
             </el-col>
             <el-col :span="24">
               <el-form-item label="客户来源:" prop="source">
-                <selectTemp ref="sourceRef" placeholder="请选择来源" payload="cluesource" @selectChange="selectSource"></selectTemp>
+                <selectTemp ref="sourceRef" placeholder="请选择来源" payload="cluesource" @selectChange="selectSource" :cluesource="form.source"></selectTemp>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -312,7 +312,7 @@ export default {
       rules: {
         phonenumber: [
           {required: true, message: '请输入手机号码', trigger: 'change'},
-          {pattern: /^1[3-9]\d{9}$/, message: '请输入正确手机号码', trigger: 'change'}
+          // {pattern: /^1[3-9]\d{9}$/, message: '请输入正确手机号码', trigger: 'change'}
         ],
         enterprisename_customer: [
           { required: true, message: '请输入客户名称', trigger: 'blur' },
@@ -612,7 +612,7 @@ export default {
         this.form.city = val.regCity;
         this.form.county = val.regArea;
         this.form.contact = val.legalPerson;
-        this.form.telephone = val.phone
+        this.form.phonenumber = val.phone
       }).catch(() => {
         this.$refs.businessRef.businessShow = false;
         this.$message({

+ 108 - 9
src/SManagement/orderclue_detail/components/changeProject.vue

@@ -14,7 +14,8 @@
           <el-form :model="form" :rules="rules" ref="form" label-width="125px" label-position="right" size="mini">
             <el-col :span="24">
               <el-form-item label="项目名称:" prop="projectname">
-                <el-input v-model="form.projectname" placeholder="请输入项目名称"></el-input>
+                <el-input v-model="form.projectname" placeholder="请输入项目名称" @blur="nameChange(param.content.pageNumber = 1)"></el-input>
+                <span style="color: red;font-size: 12px;margin-bottom: -10px" v-if="repeats.length > 0">疑似重复</span>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -229,6 +230,44 @@
         <el-button size="small" type="primary" @click="onSave" class="normal-btn-width">确 定</el-button>
       </div>
     </el-drawer>
+    <el-dialog title="重复项目" :visible.sync="dialogTableVisible" append-to-body width="1000px">
+      <div slot="title" class="dialog-title">
+        <span class="title-text">重复项目</span>
+        <p style="font-size: 14px;color: red">当前项目疑似重复,以下为疑似重复项目</p>
+      </div>
+      <tableLayout :layout="tablecols"   :data="repeats" :opwidth="200" height="calc(100vh - 550px)" :width="true" :custom="true">
+        <template v-slot:customcol="scope">
+          <div v-if="scope.column.columnname === 'tag'">
+            <div v-for="item in scope.column.data.tag_sys" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+              <el-tag  color="#3874F6" size="mini" type="primary" effect="dark">
+                <span>{{item}}</span>
+              </el-tag>
+            </div>
+            <div v-for="item in scope.column.data.tag" :key="item.index"  style="float: left;margin-left: 5px;margin-bottom: 5px">
+              <el-tag color="#FA8C16" size="mini" type="warning" effect="dark">
+                <span>{{item}}</span>
+              </el-tag>
+            </div>
+          </div>
+          <div v-else-if="scope.column.columnname === 'leader'">
+            <span>{{scope.column.data.leader?scope.column.data.leader.length !== 0 ? scope.column.data.leader[0].name:'--':'--'}}</span>
+          </div>
+          <p v-else>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
+        </template>
+      </tableLayout>
+      <div  class="container normal-panel" style="text-align:right">
+        <el-pagination
+            background
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="param.content.pageNumber"
+            :page-sizes="[20, 50, 100, 200]"
+            :page-size="20"
+            layout="total,sizes, prev, pager, next, jumper"
+            :total="total">
+        </el-pagination>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -264,6 +303,24 @@ export default {
         callback();
       }
     }
+    var projectname = (rule,value,callback) => {
+      if (value){
+        if (this.repeats.length > 0){
+          callback(new Error('疑似重复'))
+        }else {
+          callback()
+        }
+      }else {
+        callback(new Error('项目名称不能为空'))
+      }
+    }
+    var scaleChange = (rule,value,callback) => {
+      if (value < 0){
+        callback(new Error('项目规模不能小于0'))
+      }else {
+        callback()
+      }
+    }
     return {
       pickerOptions: {
         disabledDate(time) {
@@ -337,7 +394,22 @@ export default {
           { required: false, validator: enddateTime, trigger: 'change' }
         ],
       },
-      siteid:''
+      siteid:'',
+      param:{
+        "id": 20230727134902,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "sa_projectid":'',
+          "where": {
+            "condition": ""
+          }
+        },
+      },
+      repeats:[],
+      dialogTableVisible:false,
+      tablecols:[],
+      total:0
     }
   },
   mounted() {
@@ -438,11 +510,8 @@ export default {
       })
     },
     onSubmit(){
-      console.log(this.form)
       if (this.form.signdate_due !== ''){
         const data = new Date(this.form.signdate_due)
-        console.log(data.getFullYear())
-        console.log(data.getMonth()+1)
         if (data.getMonth() +1 < 10){
           this.form.signdate_due = data.getFullYear() + '-0' + (data.getMonth() + 1)
         }else {
@@ -453,8 +522,6 @@ export default {
       }
       if (this.form.begdate_due !== ''){
         const data = new Date(this.form.begdate_due)
-        console.log(data.getFullYear())
-        console.log(data.getMonth()+1)
         if (data.getMonth() +1 < 10){
           this.form.begdate_due = data.getFullYear() + '-0' + (data.getMonth() + 1)
         }else {
@@ -465,8 +532,6 @@ export default {
       }
       if (this.form.enddate_due !== ''){
         const data = new Date(this.form.enddate_due)
-        console.log(data.getFullYear())
-        console.log(data.getMonth()+1)
         if (data.getMonth() +1 < 10){
           this.form.enddate_due = data.getFullYear() + '-0' + (data.getMonth() + 1)
         }else {
@@ -488,6 +553,7 @@ export default {
             this.$emit('onChangeProject')
             this.$refs['form'].resetFields();
             this.value = ''
+            this.repeats = []
             this.form={
               sat_orderclueid: '',
               projectname:"",
@@ -535,6 +601,7 @@ export default {
       this.$emit('onChangeProject')
       this.$refs['form'].resetFields();
       this.value = ''
+      this.repeats = []
       this.form={
         sat_orderclueid: '',
         projectname:"",
@@ -566,6 +633,7 @@ export default {
       this.dialogFormVisible = false
       this.$refs['form'].resetFields()
       this.value = ''
+      this.repeats = []
       this.form={
         sat_orderclueid: '',
         projectname:"",
@@ -622,6 +690,37 @@ export default {
         this.unitnameList = res.data
       })
     },
+    /*查询项目名称是否重复*/
+    async nameChange(){
+      console.log('查重')
+      if (this.form.projectname !== ''){
+        this.param.content.sa_projectid = 0
+        this.param.content.where.condition = this.form.projectname
+        const res = await this.$api.requested(this.param)
+        this.repeats = res.data
+        this.total = res.total
+        this.$refs.form.validateField('projectname')
+        if (this.repeats.length > 0){
+          this.siteid == 'HY'?this.dialogTableVisible = false:this.dialogTableVisible = true
+        }else {
+          this.dialogTableVisible = false
+        }
+      }
+
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.param.content.pageSize = val
+      this.nameChange()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.param.content.pageNumber = val
+      this.nameChange()
+    },
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).duplicatesProjectTable.tablecols
   }
 }
 </script>

+ 1 - 1
src/SManagement/orderclue_detail/components/customerAudit.vue

@@ -140,7 +140,7 @@
       </div>
       <div class="fixed__btn__panel">
         <el-button size="small" type="danger" @click="onAudit('不通过')" class="normal-btn-width">审核不通过</el-button>
-        <el-button size="small" type="success" @click="onAudit('通过')" class="normal-btn-width" v-if="isrepeat">审核通过</el-button>
+        <el-button size="small" type="success" @click="onAudit('通过')" class="normal-btn-width" v-if="!isrepeat">审核通过</el-button>
       </div>
     </el-drawer>
     <duplicateCheck :data="form" ref="checkRef" @checkSuccess="checkSuccess" @onSuccess="onClose" @isDuplicate="isDuplicate" v-show="false" title="已存在重复客户,当前线索不可转化客户"></duplicateCheck>

+ 1 - 2
src/SManagement/orderclue_detail/index.vue

@@ -72,7 +72,6 @@ export default {
       mainAreaData:{},
       detailInfo:{},
       userInfo:JSON.parse(window.sessionStorage.getItem('userInfo')),
-      siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid,
       isHandle:''
     }
   },
@@ -154,7 +153,7 @@ export default {
     detailCreate (param) {
       param.content.isAll = 0
     },
-    async queryMainData(val) {
+    async queryMainData(id) {
       const res = await this.$api.requested({
         "classname": "saletool.orderclue.web.orderclue",
         "method": "selectDetail",