ソースを参照

官网bug修复,现在服务预约管理列表查询,筛选功能

qymljy 1 年間 前
コミット
95a9992104

+ 1 - 3
src/WebsiteManagement/caseManage/modules/classManage.vue

@@ -12,7 +12,7 @@
       <div class="drawer__panel" style="margin-bottom: 0!important;">
         <el-button style="margin-bottom: 10px" type="primary" size="small" @click="addClass">新增分类</el-button>
         <tableNewLayout ref="tableRef" :checkbox="false" :custom="true" :data="list" :layout="tablecols"
-                        :opwidth="200" :width="true" height="calc(100vh - 210px)" @rowSort="rowSort">
+                        :opwidth="200" :width="true" height="calc(100vh - 210px)" @rowSort="rowSort" rowKey="sat_sharematerial_classid">
           <template v-slot:customcol="scope">
             <div v-if="scope.column.columnname === 'classname'">
               <el-input v-if="sat_sharematerial === scope.column.data.sat_sharematerial_classid" size="mini" v-model="scope.column.data.classname" placeholder="输入分类名称"></el-input>
@@ -170,7 +170,6 @@ export default {
       })
       this.$nextTick(async()=>{
         let sequencesorts = data.map(item=>{
-          console.log(item.sequence,item.classname)
           return {
             ownerid:item.sat_sharematerial_classid,
             sequence:item.sequence
@@ -184,7 +183,6 @@ export default {
           }
         })
       })
-      this.listData()
     }
   },
   created() {

+ 4 - 5
src/WebsiteManagement/caseManage/modules/detailInfo.vue

@@ -62,11 +62,6 @@
                 <p class="info">注:建议上传图片大小130x80像素,大小不超过2M,格式为JPG/PNG</p>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
-              <el-form-item label="内容" prop="notes">
-                <myEditor ref="editor" :content="form.content" :id="form.sat_sharematerialid" :disabled="true"></myEditor>
-              </el-form-item>
-            </el-col>
           </el-form>
         </el-row>
         <div>
@@ -97,6 +92,10 @@
             </el-pagination>
           </div>
         </div>
+        <p style="font-size: 14px;margin-top: 10px">内容</p>
+        <div style="margin-top: 10px">
+          <myEditor ref="editor" :content="form.content" :id="form.sat_sharematerialid"></myEditor>
+        </div>
       </div>
     </el-drawer>
   </div>

+ 1 - 5
src/WebsiteManagement/consultManage/modules/classManage.vue

@@ -12,7 +12,7 @@
       <div class="drawer__panel" style="margin-bottom: 0!important;">
         <el-button style="margin-bottom: 10px" type="primary" size="small" @click="addClass">新增分类</el-button>
         <tableNewLayout ref="tableRef" :checkbox="false" :custom="true" :data="list" :layout="tablecols"
-                        :opwidth="200" :width="true" height="calc(100vh - 210px)" @rowSort="rowSort">
+                        :opwidth="200" :width="true" height="calc(100vh - 210px)" @rowSort="rowSort" rowKey="sat_notice_classid">
           <template v-slot:customcol="scope">
             <div v-if="scope.column.columnname === 'classname'">
               <el-input v-if="sat_notice === scope.column.data.sat_notice_classid" size="mini" v-model="scope.column.data.classname" placeholder="输入分类名称"></el-input>
@@ -160,7 +160,6 @@ export default {
       this.list = res.data
       this.total = res.total
       this.currentPage = res.pageNumber
-      console.log(this.list,'list')
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);
@@ -177,12 +176,10 @@ export default {
     },
     rowSort(data){
       data.forEach((item,index)=>{
-        console.log(item.classname,item.index,item.sequence,index)
         item.sequence = index
       })
       this.$nextTick(async()=>{
         let sequencesorts = data.map(item=>{
-          console.log(item.sequence,item.classname)
           return {
             ownerid:item.sat_notice_classid,
             sequence:item.sequence
@@ -196,7 +193,6 @@ export default {
           }
         })
       })
-      this.listData()
     }
   },
   created() {

+ 4 - 4
src/WebsiteManagement/consultManage/modules/detailInfo.vue

@@ -71,10 +71,6 @@
                   @onSuccess="onCoverSubmit"></upload>
           <p class="info">注:建议上传图片大小130x80像素,大小不超过2M,格式为JPG/PNG</p>
         </div>
-        <p style="font-size: 14px;margin-top: 10px">资讯正文</p>
-        <div style="margin-top: 10px">
-          <myEditor ref="editor" :content="form.content" :id="form.sat_noticeid" :disabled="true"></myEditor>
-        </div>
         <p style="font-size: 14px;margin-top: 10px">附件上传</p>
         <div style="margin-top: 10px">
           <attachmentList :attinfos="attinfo_attachment" @onSuccess="queryNoticeMain" :onlyread="true">
@@ -83,6 +79,10 @@
                     @onSuccess="onUploadSuccess"></upload>
           </attachmentList>
         </div>
+        <p style="font-size: 14px;margin-top: 10px">资讯正文</p>
+        <div style="margin-top: 10px">
+          <myEditor ref="editor" :content="form.content" :id="form.sat_noticeid" :disabled="true"></myEditor>
+        </div>
       </div>
     </el-drawer>
   </div>

+ 0 - 50
src/WebsiteManagement/servicAppointMag/index.vue

@@ -1,50 +0,0 @@
-<template>
-  <basicLayout
-      style="padding-top:0 !important"
-      ref="basicLayout"
-      tableName="servicAppointTable"
-      idName="sa_endcustserviceorderid"
-      :apiId="{query:20240902102903,del:''}"
-      :isExport="false"
-      :autoQuery="false"
-  >
-    <template #custom >
-      <div class="mt-10">
-        <label  class="search__label">状态:</label>
-        <el-select class="inline-24" v-model="status" placeholder="请选择类型" @change="selectChange" size="small" clearable>
-          <el-option label="新建" value="新建"></el-option>
-          <el-option label="发布" value="发布"></el-option>
-        </el-select>
-      </div>
-    </template>
-    <template v-slot:tbList="scope">
-      <div>
-        {{scope.data.column.data[[scope.data.column.columnname]]?scope.data.column.data[[scope.data.column.columnname]]:'--'}}
-      </div>
-    </template>
-  </basicLayout>
-</template>
-
-<script>
-export default {
-  name: "index",
-  data(){
-    return {
-      siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid
-    }
-  },
-  mounted() {
-    this.listData()
-  },
-  methods:{
-    listData(){
-      this.$refs.basicLayout.param.content.siteid = this.siteid
-      this.$refs.basicLayout.listData(this.$refs.basicLayout.param.content.pageNumner = 1)
-    }
-  }
-}
-</script>
-
-<style scoped>
-
-</style>

+ 50 - 0
src/WebsiteManagement/serviceAppointMag/detail/index.vue

@@ -0,0 +1,50 @@
+<template>
+  <div>
+    <basicDetails
+        ref="details"
+        :mainAreaData="mainAreaData"
+        :turnPageId="20240902102903"
+        idname="sa_endcustserviceorderid"
+        :titleText="mainData.billno"
+        :tabs="['SN码','工单']"
+        @pageChange="pageChange">
+    </basicDetails>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "index",
+  data(){
+    return {
+      mainAreaData:{},
+      mainData:{}
+    }
+  },
+  methods:{
+    async queryMainData(id){
+      const res = await this.$api.requested({
+        "id": "20240902102703",
+        "content": {
+          "siteid":"HY",
+          "sa_endcustserviceorderid":id
+        }
+      })
+      this.mainData = Object.assign({},this.mainData,res.data)
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex) {
+      this.flag = 0
+      this.$router.replace({path:'/serviceAppointMagDetail',query:{id:id,rowindex:rowindex,portrait:''}})
+      this.queryMainData(id)
+    },
+  },
+  mounted() {
+    this.queryMainData(this.$route.query.id)
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 102 - 0
src/WebsiteManagement/serviceAppointMag/index.vue

@@ -0,0 +1,102 @@
+<template>
+  <basicLayout
+      style="padding-top:0 !important"
+      ref="basicLayout"
+      tableName="servicAppointTable"
+      idName="sa_endcustserviceorderid"
+      :apiId="{query:20240902102903,del:''}"
+      :detailPath="{path:'/serviceAppointMagDetail'}"
+      :isExport="false"
+      :autoQuery="false">
+    <template #custom >
+      <div class="mt-10">
+        <label  class="search__label">状态:</label>
+        <el-select class="inline-24" v-model="whereSelect.status" placeholder="请选择类型" @change="selectChange" size="small" clearable>
+          <el-option label="待处理" value="待处理"></el-option>
+          <el-option label="已确认" value="已确认"></el-option>
+          <el-option label="服务中" value="服务中"></el-option>
+          <el-option label="已结束" value="已结束"></el-option>
+          <el-option label="已拒绝" value="已拒绝"></el-option>
+        </el-select>
+      </div>
+      <div class="mt-10">
+        <label class="search__label">提交日期:</label>
+        <el-date-picker
+            v-model="date"
+            style="margin-right: 24px !important;"
+            size="small"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            :default-time="['00:00:00', '23:59:59']"
+            @change="selectChange">
+        </el-date-picker>
+      </div>
+    </template>
+    <template v-slot:tbList="scope">
+      <div v-if="scope.data.column.columnname == 'status'" :style="styleSet(scope.data.column.data[[scope.data.column.columnname]])">
+        {{scope.data.column.data[[scope.data.column.columnname]]}}
+      </div>
+      <div v-else-if="scope.data.column.columnname == 'province'">
+        {{scope.data.column.data[[scope.data.column.columnname]]?scope.data.column.data[[scope.data.column.columnname]] + '-' + scope.data.column.data.county + '-' + scope.data.column.data.city :'--'}}
+      </div>
+      <div v-else>
+        {{scope.data.column.data[[scope.data.column.columnname]]?scope.data.column.data[[scope.data.column.columnname]]:'--'}}
+      </div>
+    </template>
+  </basicLayout>
+</template>
+
+<script>
+export default {
+  name: "index",
+  data(){
+    return {
+      siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid,
+      date:[],
+      whereSelect:{
+        status:'',
+        begindate:'',
+        enddate:''
+      },
+    }
+  },
+  mounted() {
+    this.listData()
+  },
+  methods:{
+    listData(){
+      this.$refs.basicLayout.param.content.siteid = this.siteid
+      this.$refs.basicLayout.listData(this.$refs.basicLayout.param.content.pageNumner = 1)
+    },
+    selectChange(){
+      this.$refs.basicLayout.param.content.where = this.whereSelect
+      if (this.date){
+        this.whereSelect.begindate = this.date[0]
+        this.whereSelect.enddate = this.date[1]
+      }else {
+        this.whereSelect.begindate = ''
+        this.whereSelect.enddate = ''
+      }
+      this.listData()
+    },
+    styleSet(val){
+      let style
+      style = {
+        "待处理":{color:'#d90a0a'},
+        "已确认":{color:'#79da56'},
+        "服务中":{color:'#1376e7'},
+        "已结束":{color:'#151515'},
+        "已拒绝":{color:'#151515'},
+      }[val]
+      return style
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 2 - 2
src/components/dynamic-newTable/index2.vue

@@ -3,7 +3,7 @@
     <!-- :header-cell-style="{background:'#EEEEEE',color:'#333'}" -->
     <el-table ref="table" :row-class-name="tableClassName" highlight-current-row :data="data"  size="mini"  :height="height ? height : data.length <= 5?'280px':'calc(100vh - 268px)'"  @row-click="rowClick" :style="{width:'100%',minHeight:minHeight?minHeight:''}" :header-cell-style="{background:'#fafafafa',height:'40px',color:'#000000',fontSize:'12px'}"
               :cell-style="{height:'40px',color:'#666666',fontWeight:'400'}" border @selection-change="selectionChange"
-              row-key="id"
+              :row-key="rowKey"
             >
       <el-table-column
           type="selection"
@@ -38,7 +38,7 @@ export default {
     custom:是否启用自定义结构;
     opwidth:操作列宽度
   */
-  props:['layout','data','custom','height','fixedName','width','checkbox','redirect','customHeader','minHeight'],
+  props:['layout','data','custom','height','fixedName','width','checkbox','redirect','customHeader','minHeight','rowKey'],
   data () {
     return {
       list:[],

+ 1 - 1
src/components/normal-basic-layout/modules/table.vue

@@ -11,7 +11,7 @@
         align="center"
         @handleSelectionChange="handleSelectionChange">
       </el-table-column>
-      <el-table-column show-overflow-tooltip v-for="(col) in layout" :key="col.tablecolid" :prop="col.columnname" :label="col.title" :width="col.width ? col.width : 0" :min-width="col.width === 0 ? 150 : col.width" :fixed="checkFixed(col.columnname)">
+      <el-table-column show-overflow-tooltip v-for="(col) in layout" :key="col.tablecolid" :prop="col.columnname" :label="col.title"  :min-width="col.width === 0 ? 150 : col.width" :fixed="checkFixed(col.columnname)">
         <template slot-scope="scope">
 
           <slot v-if="col.columnname !== 'operation'" name="customcol" :column="{data:scope.row,columnname:col.columnname}"></slot>

+ 14 - 3
src/router/WebsiteManagement.js

@@ -20,14 +20,25 @@ const WebsiteManagement = [
         component: () => import('@/WebsiteManagement/caseManage/index')
     },
     {
-        path: '/servicAppointMag',
-        name: 'servicAppointMag',
+        path: '/serviceAppointMag',
+        name: 'serviceAppointMag',
         meta: {
             title: '服务预约管理',
             ast_nav: true,
             keeproute: true,
         },
-        component: () => import('@/WebsiteManagement/servicAppointMag/index')
+        component: () => import('@/WebsiteManagement/serviceAppointMag/index'),
+        children:[
+            {
+                path: '/serviceAppointMagDetail',
+                name: 'serviceAppointMag',
+                meta: {
+                    title: '服务预约管理详情',
+                    ast_nav: true,
+                },
+                component: () => import(/* webpackChunkName: "about" */ '@/WebsiteManagement/serviceAppointMag/detail/index'),
+            },
+        ]
     },
 ];
 export default WebsiteManagement;