sunny 2 lat temu
rodzic
commit
057af61947

+ 6 - 6
src/api/pointManage.js

@@ -66,17 +66,17 @@ export function depTypeList(query) {
 
 export function getPointList(query) {
   return request({
-    url: '/news/createForDGTSiteNews',
-    method: 'post',
-    data:query
+    url: '/mall-integral/user/page',
+    method: 'get',
+    params:query
   })
 }
 
 export function getItemPointList(query) {
   return request({
-    url: '/news/createForDGTSiteNews',
-    method: 'post',
-    data:query
+    url: '/mall-integral/user/log',
+    method: 'get',
+    params:query
   })
 }
 

+ 1 - 1
src/api/public.js

@@ -18,7 +18,7 @@ export function updateRule(query) {
 
 export function companyTypeList(query) {
     return request({
-      url: '/news/createForDGTSiteNews',
+      url: '/sys/user/getCompanys',
       method: 'post',
       params:query
     })

+ 18 - 11
src/views/giftManage/giftList.vue

@@ -134,13 +134,14 @@
         <!-- 添加或修改对话框 -->
         <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="70%">
             <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width:700px;margin-left:50px;'>
+                <el-form-item label="礼品编号" prop="seq">
+                    <el-input disabled placeholder="添加成功后自动生成" readonly v-model="dataForm.seq"></el-input>
+                </el-form-item>
                 <el-form-item label="礼品名称" prop="name">
                     <el-input v-model="dataForm.name"></el-input>
                 </el-form-item>
 
-                <el-form-item label="礼品编号" prop="seq">
-                    <el-input placeholder="添加成功后自动生成" readonly v-model="dataForm.seq"></el-input>
-                </el-form-item>
+               
 
                 <el-form-item label="礼品属性" prop="productAttribute">
                     <el-select v-model="dataForm.productAttribute" filterable placeholder="请选择" style="width: 350px"
@@ -156,19 +157,12 @@
                         </el-option>
                     </el-select>
                 </el-form-item>
-
-                <el-form-item label="礼品所在地" prop="location">
+                <el-form-item v-if="dataForm.productAttribute==1" label="礼品所在地" prop="location">
                     <el-select v-model="dataForm.location" filterable placeholder="请选择" style="width: 350px">
                         <el-option :key="item.index" v-for="item in locationList" :label="item" :value="item">
                         </el-option>
                     </el-select>
                 </el-form-item>
-                <!-- <el-form-item v-if="dataForm.deliveryType==0" label="礼品所在地" prop="location">
-                    <el-select v-model="dataForm.location" filterable placeholder="请选择" style="width: 350px">
-                        <el-option :key="item.index" v-for="item in locationList" :label="item" :value="item">
-                        </el-option>
-                    </el-select>
-                </el-form-item> -->
                 <el-form-item style="width: 800px" label="礼品图片" prop="imgUrl">
                     <el-tooltip content="建议图片宽高比260*200" placement="top-start">
                         <el-upload :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images"
@@ -181,6 +175,13 @@
                 <el-form-item label="库存量" prop="actualStock">
                     <el-input-number :precision="0" :step="1" v-model="dataForm.actualStock"></el-input-number>
                 </el-form-item>
+                <el-form-item
+                    style="width: 800px"
+                    label="礼品说明"
+                    prop="content"
+                    >
+                <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
+                </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button @click="dialogFormVisible = false">取消</el-button>
@@ -380,6 +381,7 @@ export default {
                 purchaserName: '',
             },
             dataForm: {
+                content: undefined,
                 name: undefined,
                 seq: undefined,
                 productAttribute: undefined,
@@ -404,6 +406,7 @@ export default {
                 actualStock: [{ required: true, message: "请设置库存量", trigger: "blur" }],
                 deliveryType: [{ required: true, message: "请选择兑换方式", trigger: "blur" }],
                 location: [{ required: true, message: "请选择礼品所在地", trigger: "blur" }],
+                content: [{ required: true, message: "说明不能为空", trigger: "blur" }],
             },
             dialogListVisible: false,
             dialogRelatedVisible:false,
@@ -484,6 +487,7 @@ export default {
         },
         resetForm() {
             this.dataForm = {
+                content: undefined,
                 name: undefined,
                 seq: undefined,
                 productAttribute: undefined,
@@ -502,6 +506,7 @@ export default {
             this.dialogStatus = "create";
 
             this.$nextTick(() => {
+                this.$refs.tinymce.setContent("");
                 this.$refs["dataForm"].clearValidate();
             });
         },
@@ -527,6 +532,7 @@ export default {
         },
         handleUpdate(row) {
             this.dataForm = Object.assign({}, row);
+            let content = this.dataForm.content;
             if (row.productAttribute == 1) {
                 this.deliveryTypeList = [
                     {
@@ -563,6 +569,7 @@ export default {
             this.dialogStatus = 'update'
             this.dialogFormVisible = true
             this.$nextTick(() => {
+                this.$refs.tinymce.setContent(content);
                 this.$refs['dataForm'].clearValidate()
             })
         },

+ 19 - 15
src/views/goodsManage/goodsList.vue

@@ -24,7 +24,7 @@
             <el-table-column type="index" label="序号" header-align="center" align="center">
             </el-table-column>
 
-            <el-table-column align="center" min-width="100px" label="商品名称" prop="name">
+            <el-table-column align="center" min-width="200px" label="商品名称" prop="name">
             </el-table-column>
 
             <el-table-column align="center" min-width="120px" label="商品编号" prop="seq">
@@ -51,8 +51,6 @@
             </el-table-column>
             <el-table-column align="center" min-width="100px" label="商品所在地" prop="location">
             </el-table-column>
-            <!-- <el-table-column align="center" min-width="150px" label="上架时间" prop="shelfTime">
-            </el-table-column> -->
             <el-table-column align="center" min-width="80px" label="商品状态">
                 <template slot-scope="props">
                     <span v-if="props.row.status == 1">上架</span>
@@ -64,6 +62,7 @@
                     <span @click="handleView(props.row)" style="color:green;cursor: pointer;">查看</span>
                 </template>
             </el-table-column>
+            <!-- fixed="right" -->
             <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
                 <template slot-scope="scope">
                     <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
@@ -131,13 +130,14 @@
         <!-- 添加或修改对话框 -->
         <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="70%">
             <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="100px" style='width:700px; margin-left:50px;'>
+                <el-form-item label="商品编号" prop="seq">
+                    <el-input disabled placeholder="添加成功后自动生成" readonly v-model="dataForm.seq"></el-input>
+                </el-form-item>
                 <el-form-item label="商品名称" prop="name">
                     <el-input v-model="dataForm.name"></el-input>
                 </el-form-item>
 
-                <el-form-item label="商品编号" prop="seq">
-                    <el-input placeholder="添加成功后自动生成" readonly v-model="dataForm.seq"></el-input>
-                </el-form-item>
+                
 
                 <el-form-item label="商品属性" prop="productAttribute">
                     <el-select v-model="dataForm.productAttribute" filterable placeholder="请选择" style="width: 350px"
@@ -153,19 +153,12 @@
                         </el-option>
                     </el-select>
                 </el-form-item>
-
-                <el-form-item label="商品所在地" prop="location">
+                <el-form-item v-if="dataForm.productAttribute==1" label="商品所在地" prop="location">
                     <el-select v-model="dataForm.location" filterable placeholder="请选择" style="width: 350px">
                         <el-option :key="item.index" v-for="item in locationList" :label="item" :value="item">
                         </el-option>
                     </el-select>
                 </el-form-item>
-                <!-- <el-form-item v-if="dataForm.deliveryType==0" label="商品所在地" prop="location">
-                    <el-select v-model="dataForm.location" filterable placeholder="请选择" style="width: 350px">
-                        <el-option :key="item.index" v-for="item in locationList" :label="item" :value="item">
-                        </el-option>
-                    </el-select>
-                </el-form-item> -->
                 <el-form-item style="width: 800px" label="商品图片" prop="imgUrl">
                     <el-tooltip content="建议图片宽高比260*200" placement="top-start">
                         <el-upload :limit="1" :action="fileImgUrl" list-type="picture-card" :file-list="dataForm.images"
@@ -182,6 +175,13 @@
                 <el-form-item label="库存量" prop="actualStock">
                     <el-input-number :precision="0" :step="1" v-model="dataForm.actualStock"></el-input-number>
                 </el-form-item>
+                <el-form-item
+                    style="width: 800px"
+                    label="商品说明"
+                    prop="content"
+                    >
+                <tinymce v-model="dataForm.content" ref="tinymce"></tinymce>
+                </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button @click="dialogFormVisible = false">取消</el-button>
@@ -298,13 +298,13 @@ export default {
                 actualStock: [{ required: true, message: "请设置库存量", trigger: "blur" }],
                 deliveryType: [{ required: true, message: "请选择兑换方式", trigger: "blur" }],
                 location: [{ required: true, message: "请选择商品所在地", trigger: "blur" }],
+                content: [{ required: true, message: "说明不能为空", trigger: "blur" }],
             },
             dialogListVisible: false,
             fileImgUrl: this.upLoadUrl,
         }
     },
     created() {
-        // this.getCompanyTypeList();
         this.getDepTypeList(); 
         this.getList();
     },
@@ -375,6 +375,7 @@ export default {
         },
         resetForm() {
             this.dataForm = {
+                content: undefined,
                 name: undefined,
                 seq: undefined,
                 productAttribute: undefined,
@@ -393,6 +394,7 @@ export default {
             this.dialogStatus = "create";
 
             this.$nextTick(() => {
+                this.$refs.tinymce.setContent("");
                 this.$refs["dataForm"].clearValidate();
             });
         },
@@ -419,6 +421,7 @@ export default {
         },
         handleUpdate(row) {
             this.dataForm = Object.assign({}, row);
+            let content = this.dataForm.content;
             if (row.productAttribute == 1) {
                 this.deliveryTypeList = [
                     {
@@ -455,6 +458,7 @@ export default {
             this.dialogStatus = 'update'
             this.dialogFormVisible = true
             this.$nextTick(() => {
+                this.$refs.tinymce.setContent(content);
                 this.$refs['dataForm'].clearValidate()
             })
         },

+ 33 - 127
src/views/pointManage/pointList.vue

@@ -3,17 +3,17 @@
 
         <!-- 查询和其他操作 -->
         <div class="filter-container">
-            <el-select v-model="listQuery.companyType" clearable placeholder="请选择公司主体" style="top: -4px;width: 200px;">
-                <el-option :key="item.type" v-for="item in companyTypeList" :label="item.name" :value="item.type">
+            <el-select v-model="listQuery.companyId" clearable placeholder="请选择公司主体" style="top: -4px;width: 200px;">
+                <el-option :key="item.companyId" v-for="item in companyTypeList" :label="item.companyName" :value="item.companyId">
                 </el-option>
             </el-select>
-            <el-select v-model="listQuery.depType" clearable placeholder="请选择部门" style="top: -4px;width: 200px;">
-                <el-option :key="item.type" v-for="item in depTypeList" :label="item.name" :value="item.type">
+            <el-select v-model="listQuery.deptId" clearable placeholder="请选择部门" style="top: -4px;width: 200px;">
+                <el-option :key="item.type" v-for="item in depTypeList" :label="item.deptName" :value="item.deptId">
                 </el-option>
             </el-select>
             <el-input clearable class="filter-item" style="width: 200px;" placeholder="请输入员工姓名"
-                v-model="listQuery.name"></el-input>
-            <el-date-picker class="filter-item" v-model="listQuery.time" type="datetime" placeholder="选择生成时间">
+                v-model="listQuery.userName"></el-input>
+            <el-date-picker class="filter-item" value-format="yyyy-MM-dd" v-model="listQuery.createTime" type="date" placeholder="选择生成时间">
             </el-date-picker>
             <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查找</el-button>
             <el-button class="filter-item" type="primary"  :loading="downloadLoading" v-waves icon="el-icon-download" @click="handleDownload">导出</el-button>
@@ -26,17 +26,17 @@
             <el-table-column type="index" label="序号" header-align="center" align="center">
             </el-table-column>
 
-            <el-table-column align="center" min-width="100px" label="员工姓名" prop="name">
+            <el-table-column align="center" min-width="80px" label="员工姓名" prop="userName">
             </el-table-column>
 
             <el-table-column align="center" min-width="200px" label="公司主体" prop="companyName">
             </el-table-column>
 
-            <el-table-column align="center" min-width="80px" label="部门" prop="depName">
+            <el-table-column align="center" min-width="200px" label="部门" prop="deptName">
             </el-table-column>
             <el-table-column align="center" min-width="80px" label="积分" prop="integral">
             </el-table-column>
-            <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
+            <el-table-column align="center" label="操作" min-width="100px" class-name="small-padding fixed-width">
                 <template slot-scope="scope">
                     <el-button type="primary" size="small" @click="handleView(scope.row, false)">查看</el-button>
                 </template>
@@ -58,11 +58,9 @@
                     <el-option :key="item.type" v-for="item in allTypeList" :label="item.name" :value="item.type">
                     </el-option>
                 </el-select>
-                <el-date-picker class="filter-item" v-model="itemListQuery.time" type="datetime" placeholder="选择生成时间">
-                </el-date-picker>
                 <el-button class="filter-item" type="primary" v-waves icon="el-icon-search"
                     @click="itemHandleFilter">查找</el-button>
-                <el-button class="filter-item" type="primary" v-waves icon="el-icon-download">导出</el-button>
+                <el-button class="filter-item" type="primary" v-waves icon="el-icon-download" @click="handleItemDownload">导出</el-button>
 
             </div>
             <!-- 查询结果 -->
@@ -70,18 +68,13 @@
                 highlight-current-row>
                 <el-table-column type="index" label="序号" header-align="center" align="center">
                 </el-table-column>
-
-                <el-table-column align="center" min-width="100px" label="员工姓名" prop="name">
-                </el-table-column>
-
-                <el-table-column align="center" min-width="200px" label="积分类型" prop="integralCategory">
+                <el-table-column align="center" min-width="100px" label="积分类型" prop="integralTypeName">
                 </el-table-column>
-
-                <el-table-column align="center" min-width="80px" label="积分名称" prop="integralName">
+                <el-table-column align="center" min-width="200px" label="积分说明" prop="comment">
                 </el-table-column>
                 <el-table-column align="center" min-width="80px" label="积分" prop="integral">
                 </el-table-column>
-                <el-table-column align="center" min-width="80px" label="生成时间" prop="time">
+                <el-table-column align="center" min-width="80px" label="生成时间" prop="createTime">
                 </el-table-column>
             </el-table>
 
@@ -126,102 +119,19 @@ export default {
     data() {
         return {
             companyTypeList: [
-                {
-                    type: 'highTechnology',
-                    name: '高科技'
-                },
-                {
-                    type: 'fastExtinction',
-                    name: '快销'
-                },
-                {
-                    type: 'manufacturingIndustry',
-                    name: '制造业'
-                },
-                {
-                    type: 'all',
-                    name: '全部'
-                },
+                
             ],
             depTypeList: [
-                {
-                    type: 1,
-                    name: '启用'
-                },
-                {
-                    type: 0,
-                    name: '禁用'
-                },
+                
             ],
             allTypeList: [
-                {
-                    type: 'highTechnology',
-                    name: '高科技'
-                },
-                {
-                    type: 'fastExtinction',
-                    name: '快销'
-                },
-                {
-                    type: 'manufacturingIndustry',
-                    name: '制造业'
-                },
-                {
-                    type: 'all',
-                    name: '全部'
-                },
+               
             ],
             list: [
-                {
-                    id: 1,
-                    name: '类型1',
-                    companyName: '名称1',
-                    depName: '代码1',
-                    integral: '100',
-                    flag: 1
-                },
-                {
-                    id: 2,
-                    name: '类型2',
-                    companyName: '名称2',
-                    depName: '代码2',
-                    integral: '200',
-                    flag: 0
-                },
-                {
-                    id: 3,
-                    name: '类型3',
-                    companyName: '名称3',
-                    depName: '代码3',
-                    integral: '300',
-                    flag: 1
-                },
+                
             ],
             itemList: [
-                {
-                    id: 1,
-                    name: '类型1',
-                    integralCategory: '名称1',
-                    integralName: '代码1',
-                    integral: '100',
-                    time: '2023-4-3'
-                },
-                {
-                    id: 2,
-                    name: '类型1',
-                    integralCategory: '名称1',
-                    integralName: '代码1',
-                    integral: '100',
-                    time: '2023-4-3'
-                },
-                {
-                    id: 3,
-                    name: '类型1',
-                    integralCategory: '名称1',
-                    integralName: '代码1',
-                    integral: '100',
-                    time: '2023-4-3'
-                },
+                
             ],
             total: 0,
             itemTotal: 0,
@@ -230,35 +140,31 @@ export default {
             listQuery: {
                 page: 1,
                 limit: 10,
-                companyType: '',
-                depType: '',
-                name: '',
-                time: '',
+                companyId: '',
+                deptId: '',
+                userName: '',
+                createTime: '',
             },
             itemListQuery: {
                 page: 1,
                 limit: 10,
-                id: '',
+                userId: '',
                 type: '',
-                time: '',
             },
             dialogFormVisible: false,
         }
     },
     created() {
-        // this.getCompanyTypeList();
-        // this.getDepTypeList(); 
-        // this.getList();
+        this.getCompanyTypeList();
+        this.getDepTypeList(); 
+        this.getList();
     },
     methods: {
         handleDownload() {
-            this.downloadLoading = true
-            import('@/vendor/Export2Excel').then(excel => {
-            const tHeader = ['员工姓名', '公司主体', '部门', '积分', ]
-            const filterVal = ['name','companyName', 'depName', 'integral']
-            excel.export_json_to_excel2(tHeader, this.list, filterVal, '积分列表')
-            this.downloadLoading = false
-            })
+            window.location.href = process.env.BASE_API + '/mall-integral/export/user/page?companyId=' + this.listQuery.companyId + '&deptId=' + this.listQuery.deptId + '&userName=' + this.listQuery.userName + '&createTime=' + this.listQuery.createTime;
+        },
+        handleItemDownload() {
+            window.location.href = process.env.BASE_API + '/mall-integral/export/user/log?userId=' + this.itemListQuery.userId + '&type=' + this.itemListQuery.type;
         },
         getCompanyTypeList() {
             companyTypeList().then(response => {
@@ -325,9 +231,9 @@ export default {
         },
 
         handleView(row) {
-            this.itemListQuery.id = row.id;
-            // getPointRulesType()
-            // this.getItemList()
+            this.itemListQuery.userId = row.loginId;
+            this.getPointRulesType()
+            this.getItemList()
             this.dialogFormVisible = true
         },
     }

+ 2 - 2
src/views/pointManage/pointRulesList.vue

@@ -20,8 +20,8 @@
       <el-table-column align="center" min-width="100px" label="积分类型" prop="integralTypeName">
       </el-table-column>
 
-      <el-table-column align="center" min-width="200px" label="积分名称" prop="integralName">
-      </el-table-column>
+      <!-- <el-table-column align="center" min-width="200px" label="积分说明" prop="integralName">
+      </el-table-column> -->
       <el-table-column align="center" min-width="80px" label="积分" prop="integral">
       </el-table-column>
       <el-table-column align="center" min-width="80px" label="状态">