Selaa lähdekoodia

1.购物车样式和稽核报表

liuhy 2 vuotta sitten
vanhempi
commit
cd252514d6

BIN
src/assets/file_shopping.png


+ 3 - 10
src/views/company/CompanyCheckDetail.vue

@@ -12,16 +12,9 @@
            </template>
            <a-timeline>
              <template v-if="toggleSearchStatus1">
-               <a-timeline-item>22-07-06 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
-               <a-timeline-item>22-07-04 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
-               <a-timeline-item>22-07-04 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
-               <a-timeline-item>22-07-04 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
-               <a-timeline-item>22-07-04 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
-               <a-timeline-item>22-07-06 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
-               <a-timeline-item>22-07-04 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
-               <a-timeline-item>22-07-04 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
-               <a-timeline-item>22-07-04 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
-               <a-timeline-item>22-07-04 09:27 张文超提交了服务号【133****64621】的资料</a-timeline-item>
+               <a-timeline-item style="color: #0c8fcf;">23-12-22 10:27  张雪:提交了客户名称【测试】的资料</a-timeline-item>
+               <a-timeline-item style="color: #990055;">23-12-22 10:30  管理员:对客户名称【测试】的资料进行退回</a-timeline-item>
+               <a-timeline-item style="color: #ee9900;">23-12-22 10:32  张雪:整改了客户名称【测试】的资料</a-timeline-item>
              </template>
            </a-timeline>
          </a-card>

+ 48 - 37
src/views/company/CompanyList.vue

@@ -37,11 +37,9 @@
         :loading="loading"
         class="j-table-force-nowrap"
         @change="handleTableChange">
-
-
         <!-- 任务名称可点击 -->
-        <template v-slot:customerName="text, record" >
-          <a @click="showTaskList(record)">{{text}}</a>
+        <template v-slot:customerNo="text, record">
+          <a @click="showTaskList(record)">{{ text }}</a>
         </template>
       </a-table>
     </div>
@@ -51,14 +49,14 @@
 <script>
 
 import '@/assets/less/TableExpand.less'
-import { mixinDevice } from '@/utils/mixin'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import {mixinDevice} from '@/utils/mixin'
+import {JeecgListMixin} from '@/mixins/JeecgListMixin'
 import SmsCheckWorkLogModal from '../smscheck/modules/SmsCheckWorkLogModal'
 import {getAction} from "@api/manage";
 
 export default {
   name: 'CompanyList',
-  mixins:[JeecgListMixin],
+  mixins: [JeecgListMixin],
   components: {
     SmsCheckWorkLogModal
   },
@@ -69,7 +67,7 @@ export default {
     }
   },
 
-  data () {
+  data() {
     return {
       description: '行短公司列表',
       // 表头
@@ -77,67 +75,80 @@ export default {
         {
           title: '#',
           dataIndex: '',
-          key:'rowIndex',
-          width:60,
-          align:"center",
-          customRender:function (t,r,index) {
-            return parseInt(index)+1;
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
           }
         },
         {
-          title:'客户编号',
-          align:"center",
+          title: '客户编号',
+          align: "center",
           dataIndex: 'customerNo',
+          scopedSlots: {customRender: 'customerNo'},
         },
         {
-          title:'客户名称',
-          align:"center",
+          title: '客户名称',
+          align: "center",
           dataIndex: 'customerName',
-          scopedSlots: { customRender: 'customerName' }
+          customRender: function (text, record, index) {
+            if (!text) {
+              return '无'
+            }
+            return text
+          }
         },
         {
-          title:'入网时间',
-          align:"center",
+          title: '入网时间',
+          align: "center",
           dataIndex: 'networkAccessTime',
+          customRender: function (text, record, index) {
+            if (!text) {
+              return '无'
+            }
+            return text
+          }
         },
         {
-          title:'客户经理',
-          align:"center",
-          dataIndex: 'accountManager',
-        },
-        {
-          title:'经理电话',
-          align:"center",
-          dataIndex: 'accountManagerPhone',
+          title: '服务号码',
+          align: "center",
+          dataIndex: 'smsNumber',
+          customRender: function (text, record, index) {
+            if (!text) {
+              return '无'
+            }
+            return text
+          }
         },
       ],
       url: {
         list: "/smsCheck/customerInfo/selectCompanyList"
       },
-      dictOptions:{},
-      superFieldList:[],
+      dictOptions: {},
+      superFieldList: [],
 
-      dataSource1:{}
+      dataSource1: {}
     }
   },
   created() {
     /*this.init()*/
   },
   methods: {
-    init(){
-      getAction("/smsCheck/customerInfo/selectCompanyList",this.queryParam).then(resp=>{
-        if (resp.success){
-          this.dataSource=resp.resultList
+    init() {
+      getAction("/smsCheck/customerInfo/selectCompanyList", this.queryParam).then(resp => {
+        if (resp.success) {
+          this.dataSource = resp.resultList
         }
       })
     },
-    showTaskList(record){
+    showTaskList(record) {
       let taskInfo = Object.assign({}, this.task);
       let info = {
         task: this.task,
         info: record
       };
-      this.$emit("goTaskList",info)
+      this.$emit("goTaskList", info)
     }
   }
 }

+ 2 - 2
src/views/company/CompanyMain.vue

@@ -1,12 +1,12 @@
 <template>
   <div>
     <div >
-      <!-- 客户页 -->
+      <!-- 客户列表页 -->
       <company-list  v-if="showType==='company'"
                      @goTaskList="showTaskList"/>
     </div>
     <div >
-      <!-- 任务页 -->
+      <!-- 客户信息页 -->
       <company-task-list v-if="showType==='taskList'"
                           :taskInfo="taskInfo"
                          @goCheckCheck="showCheckCheck"

+ 87 - 27
src/views/company/CompanyTaskList.vue

@@ -2,21 +2,19 @@
   <div>
     <a-page-header
       style="background-color: #FFFFFF;"
-      :title="taskInfo.info.customerName"
+      :title="!taskInfo.info.customerName ? '暂无客户名称':taskInfo.info.customerName"
       sub-title=""
       @back="showTaskList"
     >
       <!--  基本信息  -->
-      <a-card :bordered="false" title="客户信息" style="margin-top: 10px;">
+      <a-card :bordered="false" title="客户名称" style="margin-top: 10px;">
         <a-descriptions  :column="2" :bordered="true">
           <a-descriptions-item label="客户编号">{{taskInfo.info.customerNo}}</a-descriptions-item>
-          <a-descriptions-item label="入网时间" >{{taskInfo.info.networkAccessTime}}</a-descriptions-item>
-          <a-descriptions-item label="客户经理">{{taskInfo.info.accountManager}}</a-descriptions-item>
-          <a-descriptions-item label="经理电话" >{{taskInfo.info.accountManagerPhone}}</a-descriptions-item>
+          <a-descriptions-item label="客户名称" >{{!taskInfo.info.customerName ? '暂无客户名称':taskInfo.info.customerName}}</a-descriptions-item>
         </a-descriptions>
       </a-card>
-      <!--   服务列表   -->
-      <a-card :bordered="false" title="服务列表" style="margin-top: 10px;">
+      <!--   客户信息列表   -->
+      <a-card :bordered="false" title="客户列表" style="margin-top: 10px;">
 
         <div>
           <a-table
@@ -55,10 +53,10 @@
             <a-descriptions-item label="任务名称">{{taskCheck.taskName}}</a-descriptions-item>
             <a-descriptions-item label="开始时间">{{taskCheck.taskStartTime}}</a-descriptions-item>
             <a-descriptions-item label="结束时间">{{taskCheck.taskEndTime}}</a-descriptions-item>
+            <a-descriptions-item label="任务类型">{{taskType(taskCheck.type)}}</a-descriptions-item>
             <a-descriptions-item label="任务状态">{{taskCheck.taskState_dictText}}</a-descriptions-item>
             <a-descriptions-item label="任务描述" :span="2">{{taskCheck.description}}</a-descriptions-item>
           </a-descriptions>
-
           <!--  稽核任务动态  -->
           <company-check-detail/>
 
@@ -100,7 +98,7 @@ export default {
     },
     statusFilter(status) {
       const statusMap = {
-        '0': '未完善',
+        '0': '未处理',
         '1': '未完善',
         '2': '待稽核',
         '3': '待稽核',
@@ -126,28 +124,58 @@ export default {
         {
           title: '服务号码',
           align: "center",
-          dataIndex: 'smsNumber'
+          dataIndex: 'smsNumber',
+          customRender: function (text, record, index) {
+            if (!text){
+               return '暂无'
+            }
+            return text;
+          }
         },
-
         {
-          title: '用户编号',
+          title: '入网时间',
           align: "center",
-          dataIndex: 'userNo'
+          dataIndex: 'networkAccessTime'
         },
         {
-          title: '入网时间',
+          title: '客户经理',
           align: "center",
-          dataIndex: 'networkAccessTime'
+          dataIndex: 'staffName'
         },
         {
-          title: '用户状态',
+          title: '客户经理工号',
           align: "center",
-          dataIndex: 'userState'
+          dataIndex: 'staffNo'
         },
         {
-          title: '用户发展员工',
+          title: '创建时间',
           align: "center",
-          dataIndex: 'staffName'
+          dataIndex: 'createTime'
+        },
+        {
+          title: '客户信息类型',
+          align: "center",
+          dataIndex: 'type',
+          customRender: function (text, record, index) {
+            console.log(text)
+            let checkStateName = ''
+            if (!text){
+              checkStateName = '无'
+            }
+            if (text === 1){
+              checkStateName = '行短'
+            }
+            if (text === 2){
+              checkStateName = '物联网'
+            }
+            if (text === 3){
+              checkStateName = '特审复开'
+            }
+            if (text === 4){
+              checkStateName = '中继线'
+            }
+            return checkStateName
+          }
         },
         {
           title: '资料状态',
@@ -172,22 +200,26 @@ export default {
       url: {
         list: "/smsCheck/customerInfo/staff/list",
       },
+      queryParam:{
+        customerNo:this.taskInfo.info.customerNo,
+      },
       showHistory:''
     }
   },
   created() {
+    this.queryParam.customerNo = this.taskInfo.info.customerNo
     this.initTable();
-    this.init()
+    this.init();
   },
   methods:{
     init(){
-      let queryList={
+     let queryList={
         customerNo:this.taskInfo.info.customerNo,
-        customerName:this.taskInfo.info.customerName
       }
       getAction("/smsCheck/customerInfo/selectTaskList",queryList).then(resp=>{
         if(resp.success){
-          this.taskCheckInfo=resp.result.records
+          this.taskCheckInfo =resp.result.records
+
         }
       })
     },
@@ -196,20 +228,48 @@ export default {
         customerNo:this.taskInfo.info.customerNo,
         /*taskId:this.taskInfo.task.id*/
       }
-      getAction("/smsCheck/customerInfo/list",queryTable).then(resp=>{
+
+      /*getAction("/smsCheck/customerInfo/list",queryTable).then(resp=>{
         if(resp.success){
           this.dataSource=resp.result.records
         }
-      })
+      })*/
     },
     showTaskList(){
       let taskInfo = Object.assign({}, this.task);
       this.$emit("goCompany",taskInfo)
     },
     showCheckCheck(record){
-      this.taskInfo.info=record
-      this.$emit("goCheckCheck",this.taskInfo)
+      let type = record.type;
+      if (type === 1){
+        this.$router.push({path: '/sms/check/TaskUploadDataSelect', query: {id: record.id}});
+      }
+      if (type === 2){
+        this.$router.push({path: '/lotCheck/modules/TaskCheckAudit', query: {id: record.id}});
+      }
+      if (type === 3){
+
+      }
+      if (type === 4){
+
+      }
+      //this.taskInfo.info=record
+      //this.$emit("goCheckCheck",this.taskInfo)
     },
+    taskType(type){
+      if (type === 1){
+        return '行短';
+      }
+      if (type === 2){
+        return '物联网';
+      }
+      if (type === 3){
+        return '防诈复开'
+      }
+      if (type === 4){
+        return '中继线'
+      }
+    }
   }
 }
 

+ 60 - 40
src/views/lotCheck/TaskUploadData.vue

@@ -374,14 +374,7 @@
                 </a-button>
 
               </swiper-slide>
-              <div
-                class="swiper-button-next swiper-button-white"
-                slot="button-next"
-              ></div>
-              <div
-                class="swiper-button-prev swiper-button-white"
-                slot="button-prev"
-              ></div>
+
             </swiper>
             <!-- swiper2 Thumbs -->
             <swiper
@@ -1278,16 +1271,16 @@
         </div>
       </div>
     </a-card>
-    <a-card  v-if='isPhoneshow'    ref="floatButton"
-             class="float-infoPhone">
-      <div class="thumb-example1"  >
+    <!--    文件存储车弹窗-->
+    <a-card v-if='isPhoneshow' ref="floatButton"
+            class="float-infoPhone">
+      <div class="thumb-example1">
         <!-- swiper1 -->
         <swiper
           class="swiper gallery-top1"
           :options="swiperOptionTop"
           ref="swiperTop"
         >
-
         </swiper>
         <!-- swiper2 Thumbs -->
         <swiper
@@ -1295,10 +1288,10 @@
           :options="swiperOptionThumbs"
           ref="swiperThumbs"
         >
-          <swiper-slide  v-for="(item, index) in phoneList" :key="item.id"
-                         class="slide"
-                         style="width:290px;height:200px;">
-            <div  v-if="item.urlBase" style="width:290px;height: 96px;background: rgb(68,142,247);color: white">
+          <swiper-slide v-for="(item, index) in phoneList" :key="item.id"
+                        class="slide"
+                        style="width:290px;height:200px;">
+            <div v-if="item.urlBase" style="width:290px;height: 96px;background: rgb(68,142,247);color: white">
               <iframe
                 v-if="item.urlBase"
                 frameborder="1"
@@ -1309,12 +1302,12 @@
                 scrolling="auto">
               </iframe>
               <div style="display:flex ;justify-content:center;height:100%;">
-                <a-button @click='selfUploadContractView(item)' >使用</a-button>
+                <a-button @click='selfUploadContractView(item)'>使用</a-button>
                 <a-button style='margin-left: 10px' @click="jumpUrl(item.urlBase)">预览</a-button>
               </div>
             </div>
             <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
-              <img alt="example" style="width: 100%" :src="previewImage" />
+              <img alt="example" style="width: 100%" :src="previewImage"/>
             </a-modal>
           </swiper-slide>
           <div class="swiper-button-next swiper-button-white" slot="button-next">
@@ -1328,13 +1321,22 @@
         </swiper>
       </div>
     </a-card>
-    <div @click='showPhone'
-         ref="floatButton"
-         class="float-info floating-button"
-         :style="{'width': 80 + 'px', 'height': 80 + 'px', 'left':   90+'%' , 'top': 80 + '%'}"
-    >
-      <a-icon type="folder-add" :style="{ fontSize: '30px', color: '#08c' }"/>
-    </div>
+   <!--    文件存储车图标-->
+    <div @click='showPhone(true)'
+           ref="floatButton"
+           class="float-info floating-button"
+           :style="{'width': 70 + 'px', 'height': 70 + 'px', 'left':   94+'%' , 'top': 84 + '%'}"
+      >
+        <a-badge :count=fileShoppingNumber>
+          <img style="width: 89%;height: 81%;position: relative;top: 10%" :src="fileShopping" border="1">
+        </a-badge>
+
+      </div>
+
+
+    <!--      <a-icon type="folder-add" :style="{ fontSize: '30px', color: '#08c' }"/>-->
+
+
   </div>
 
 </template>
@@ -1345,6 +1347,8 @@ import {JeecgListMixin} from '@/mixins/JeecgListMixin'
 import {getAction, httpAction, postAction} from '@api/manage'
 import {snippetsOutlined, StarFilled, StarTwoTone} from '@ant-design/icons-vue';
 /*无数据图片*/
+import fileShopping from '@/assets/file_shopping.png'
+/*无数据图片*/
 import noDataPng from '@/assets/nodata.png'
 
 let Base64 = require('js-base64').Base64
@@ -1362,9 +1366,11 @@ export default {
   name: "TaskUploadData",
   mixins: [JeecgListMixin],
   inject: ['closeCurrent'],
-  components: {noDataPng},
+  components: {noDataPng, fileShopping},
   data() {
     return {
+      // 购物车图标数
+      fileShoppingNumber:0,
       btnStyle: {
         "fontSize": 'small',
         "top": '60vh',
@@ -1491,6 +1497,7 @@ export default {
       //是否整改
       rectificationIs: false,
       noDataPng: noDataPng,
+      fileShopping: fileShopping,
       //加载状态
       taskId: "",
       loading: false,
@@ -1791,7 +1798,6 @@ export default {
       this.steps.stepsNow = this.steps.stepsControlY;
     }
     this.steps.currentId = this.steps.stepsNow[0].id;
-
     this.infoId = this.$route.query.id;
     //是否需要整改
     this.lotInfoById(this.infoId)
@@ -1847,7 +1853,7 @@ export default {
     }
   },
   methods: {
-    jumpUrl(url){
+    jumpUrl(url) {
       var a = document.createElement("a");
       a.setAttribute("href", url);
       a.setAttribute("target", "_blank");
@@ -1866,25 +1872,30 @@ export default {
     handleChange({fileList}) {
       this.fileList = fileList;
     },
-    showPhone(){
+    showPhone(isShow) {
+
       var data = {
-        customerNo:  this.infoModel.customerNo,
+        customerNo: this.infoModel.customerNo,
         stepsId: this.steps.stepsNow[this.steps.current].id,
         //1:行短稽核 2:物联网业务稽核 3.复开审批 4.中继线稽核
-        type:'2'
+        type: '2'
       }
       getAction('/smsCheck/customerInfo/phone/customerPhone', data).then((res) => {
         if (res.success) {
-          this.phoneList=JSON.parse(res.result);
-          if (this.phoneList!==null && this.phoneList.length!==0){
-            if (this.isPhoneshow===false){
+          this.phoneList = JSON.parse(res.result);
+          if (this.phoneList !== null && this.phoneList.length !== 0) {
+            this.fileShoppingNumber = this.phoneList.length
+            if (this.isPhoneshow === false && isShow) {
               this.isPhoneshow = true;
-            }else {
+            } else {
               this.isPhoneshow = false;
             }
-          }else {
+          } else {
+            this.fileShoppingNumber = 0 ;
             this.$message.warning("此类无历史上传");
           }
+        }else {
+          this.fileShoppingNumber = 0 ;
         }
       })
     },
@@ -2047,6 +2058,7 @@ export default {
       if (this.steps.stepsNow[current].status !== "finish") {
         this.steps.stepsNow[current].status = "process"
       }
+      this.showPhone();
     },
 
     getInfoDataById(id) {
@@ -2070,6 +2082,7 @@ export default {
             that.infoModel.accountCode = result.accountCode;
             that.infoModel.staffName = result.staffName;
             that.notes = result.notes;
+            this.showPhone();
           }
         })
       }
@@ -2281,8 +2294,8 @@ export default {
     importHandleChange(info) {
     },
     selfUploadContractView(item) {
-      this.idCurrent= this.steps.stepsNow[this.steps.current].id;
-      var fileAttribute =this.steps.stepsNow[this.steps.current].id;
+      this.idCurrent = this.steps.stepsNow[this.steps.current].id;
+      var fileAttribute = this.steps.stepsNow[this.steps.current].id;
       var that = this;
 
       that.swiperId = that.swiperId + 1;
@@ -2302,7 +2315,7 @@ export default {
       } else {
         that.steps.stepsNow[that.steps.current].status = "wait"
       }
-      this.$message.success(that.steps.stepsNow[that.steps.current].title+"上传成功");
+      this.$message.success(that.steps.stepsNow[that.steps.current].title + "上传成功");
     },
     /**文件格式限制*/
     importBeforeUpload(file) {
@@ -2426,11 +2439,13 @@ h3 {
   margin-top: 20px;
   // background: #000;
 }
+
 .thumb-example1 {
   width: 1200px;
   margin-top: 20px;
   // background: #000;
 }
+
 .swiper-slide {
   background-size: cover;
   background-position: center;
@@ -2443,12 +2458,14 @@ h3 {
   left: 15%;
   margin-bottom: 50px
 }
+
 .gallery-top1 {
   // height: 80% !important;
   /*height: 600px;*/
   width: 100%;
   left: 15%;
 }
+
 .gallery-thumbs {
   height: 20% !important;
   box-sizing: border-box;
@@ -2530,7 +2547,7 @@ h3 {
   justify-content: center;
   align-items: center;
   z-index: 999;
-  background: #b3d4fc;
+  background: #1890FF;
   border-radius: 50%;
   cursor: pointer;
 }
@@ -2574,6 +2591,7 @@ h3 {
   float: left;
   width: 25%
 }
+
 .floating-button {
   position: fixed;
   bottom: 20px;
@@ -2590,10 +2608,12 @@ h3 {
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
   cursor: pointer;
 }
+
 .floating-button:hover {
   box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
   transform: translateY(-5px);
 }
+
 .floating-button:active {
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
   transform: translateY(2px);