Zory 1 week ago
parent
commit
5f41466a7b
30 changed files with 74 additions and 429 deletions
  1. 1 1
      src/api/model/system.js
  2. 8 7
      src/layout/components/tasks.vue
  3. 3 0
      src/layout/components/userbar.vue
  4. 6 8
      src/views/manage/goods/components/form.vue
  5. 0 86
      src/views/manage/order/before/components/form.vue
  6. 2 2
      src/views/manage/order/before/index.vue
  7. 7 4
      src/views/manage/order/components/table.vue
  8. 0 86
      src/views/manage/order/done/components/form.vue
  9. 1 1
      src/views/manage/order/done/index.vue
  10. 0 86
      src/views/manage/order/refund/components/form.vue
  11. 1 1
      src/views/manage/order/refund/index.vue
  12. 0 86
      src/views/manage/order/send/components/form.vue
  13. 1 1
      src/views/manage/order/send/index.vue
  14. 0 12
      src/views/manage/shop/index/components/form.vue
  15. 6 8
      src/views/merchant/goods/components/form.vue
  16. 1 1
      src/views/merchant/order/before/index.vue
  17. 7 4
      src/views/merchant/order/components/table.vue
  18. 1 1
      src/views/merchant/order/done/index.vue
  19. 1 1
      src/views/merchant/order/refund/index.vue
  20. 1 1
      src/views/merchant/order/send/index.vue
  21. 0 3
      src/views/merchant/shop/index/components/form.vue
  22. 1 1
      src/views/merchant/user/components/search.vue
  23. 6 8
      src/views/store/goods/components/form.vue
  24. 4 4
      src/views/store/order/before/index.vue
  25. 2 2
      src/views/store/order/components/table.vue
  26. 4 4
      src/views/store/order/done/index.vue
  27. 4 4
      src/views/store/order/refund/index.vue
  28. 4 4
      src/views/store/order/send/index.vue
  29. 1 1
      src/views/store/refund/components/option.vue
  30. 1 1
      src/views/store/refund/components/table.vue

+ 1 - 1
src/api/model/system.js

@@ -104,7 +104,7 @@ export default {
 	},
 	tasks: {
 		list: {
-			url: `${config.API_URL}/system/tasks/list`,
+			url: `${config.API_URL}/tasks/list`,
 			name: "系统任务管理",
 			get: async function(params){
 				return await http.get(this.url, params);

+ 8 - 7
src/layout/components/tasks.vue

@@ -10,21 +10,22 @@
 			<el-card v-for="task in tasks" :key="task.id" shadow="hover" class="user-bar-tasks-item">
 				<div class="user-bar-tasks-item-body">
 					<div class="taskIcon">
-						<el-icon v-if="task.type=='export'" :size="20"><el-icon-paperclip /></el-icon>
-						<el-icon v-if="task.type=='report'" :size="20"><el-icon-dataAnalysis /></el-icon>
+						<el-icon :size="20"><el-icon-paperclip /></el-icon>
+						<!-- <el-icon v-if="task.type=='report'" :size="20"><el-icon-dataAnalysis /></el-icon> -->
 					</div>
 					<div class="taskMain">
 						<div class="title">
-							<h2>{{ task.taskName }}</h2>
-							<p><span v-time.tip="task.createDate"></span> 创建</p>
+							<h2>{{ task.name }}</h2>
+							<p><span v-time.tip="task.create_at"></span> 创建</p>
 						</div>
 						<div class="bottom">
 							<div class="state">
-								<el-tag type="info" v-if="task.state=='0'">执行中</el-tag>
-								<el-tag v-if="task.state=='1'">完成</el-tag>
+								<el-tag type="info" v-if="task.status=='0'">执行中</el-tag>
+								<el-tag v-if="task.status=='1'">完成</el-tag>
+								<el-tag v-if="task.status=='2'">完成-无数据</el-tag>
 							</div>
 							<div class="handler">
-								<el-button v-if="task.state=='1'" type="primary" circle icon="el-icon-download" @click="download(task)"></el-button>
+								<el-button v-if="task.status=='1'" type="primary" circle icon="el-icon-download" @click="download(task)"></el-button>
 							</div>
 						</div>
 					</div>

+ 3 - 0
src/layout/components/userbar.vue

@@ -3,6 +3,9 @@
 		<div class="screen panel-item hidden-sm-and-down" @click="screen">
 			<el-icon><el-icon-full-screen /></el-icon> <span>全屏</span>
 		</div>
+		<div class="tasks panel-item" @click="tasks">
+			<el-icon><el-icon-sort /></el-icon>
+		</div>
 		<el-dropdown class="user panel-item" trigger="click" @command="handleUser">
 			<div class="user-avatar">
 				<el-avatar :size="30">{{ userNameF }}</el-avatar>

+ 6 - 8
src/views/manage/goods/components/form.vue

@@ -93,13 +93,10 @@
                             </div>
                             <div class="specs-body">
                                 <div class="body-item" v-for="(its,ind) in item.list" :key="ind">
+                                    <div class="item-img"><sc-upload v-model="its.img"></sc-upload></div>
                                     <el-input placeholder="输入规格属性名" v-model="its.name" clearable>
                                         <template #append>
-                                            <el-popconfirm title="确定删除吗?" @click="removeItem(indx,ind)">
-                                                <template #reference>
-                                                    <el-button type="danger" icon="el-icon-delete" size="small"></el-button>
-                                                </template>
-                                            </el-popconfirm>
+                                            <el-button type="danger" @click="removeItem(indx,ind)" icon="el-icon-delete" size="small"></el-button>
                                         </template>
                                     </el-input>
                                 </div>
@@ -159,13 +156,13 @@ export default {
             if (this.specs.length >= 5) {
                 return this.$message.error("最多只能添加三组规格")
             }
-            this.specs.push({"name":"","num":1,"list":[ {"name":"","check":true} ]});
+            this.specs.push({"name":"","num":1,"list":[ {"name":"","img":"","check":true} ]});
         },
         addItem(index){
             if (this.specs[index].list.length >= 20) {
                 return this.$message.error("最多只能添加20个")
             }
-            this.specs[index].list.push({"name":"","check":true})
+            this.specs[index].list.push({"name":"","img":"","check":true})
         },
         removeSpec(index){
             this.specs.splice(index,1)
@@ -240,5 +237,6 @@ export default {
     margin-right: 0;
 }
 .specs-body{display: flex;align-items: center;gap: 10px;padding: 10px;flex-direction: row;flex-wrap: wrap;}
-.specs-body .body-item{width: calc(25% - 10px);}
+.specs-body .body-item{width: calc(25% - 10px);border: 1px solid #ddd;padding: 5px;display: flex;align-items: center;justify-content: center;flex-direction: column;}
+.item-img{margin-bottom: 5px;}
 </style>

+ 0 - 86
src/views/manage/order/before/components/form.vue

@@ -1,86 +0,0 @@
-<template>
-    <el-dialog :title="titleMap[mode]" v-model="visible" :width="600" destroy-on-close @closed="$emit('closed')" :close-on-click-modal="false" :close-on-press-escape="false">
-        <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="100px" label-position="top">
-            <el-form-item label="联系人" prop="username">
-                <el-input v-model="formData.username" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-            <el-form-item label="联系电话" prop="mobile">
-                <el-input v-model="formData.mobile" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-            <el-form-item label="详细地址" prop="address">
-                <el-input v-model="formData.address" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-        </el-form>
-		<template #footer>
-			<el-button @click="visible=false" >取 消</el-button>
-			<el-button type="primary" :loading="isSaveing" @click="submit()">提交</el-button>
-		</template>
-    </el-dialog>
-</template>
-<script>
-export default {
-    data(){
-        return {
-            loading: false,
-            mode:"add",
-            titleMap:{
-                add:"更新地址",
-                edit:"更新地址"
-            },
-            visible: false,
-            isSaveing: false,
-            formData:{},
-            submitState:false,
-            disabled:false,
-            rules:{
-                username: [
-                    {required: true, message: '请输入'}
-                ],
-                mobile: [
-                    {required: true, message: '请输入'}
-                ],
-                address: [
-                    {required: true, message: '请输入'}
-                ]
-            },
-            sms:""
-        }
-    },
-    methods:{
-        open(mode = 'add'){
-            this.mode = mode;
-            this.visible = true;
-            return this
-        },
-        //表单注入数据
-        setData(data){
-            data.address = data.region+data.address;
-            this.formData = data;
-        },
-        async submit(){
-            var validate = await this.$refs.dialogForm.validate().catch(()=>{});
-            if(!validate){ return false }
-            this.isSaveing = true;
-            let submitData = JSON.parse(JSON.stringify(this.formData));
-            var resp = await this.$API.order.save.post(submitData);
-            this.isSaveing = false;
-            if (resp.code !== 1) {
-                return this.$message.error(resp.msg);
-            }
-            this.$message.success(resp.msg);
-            this.visible = false;
-            this.formData = {};
-            this.submitState = false;
-            this.$emit("success");
-        }
-    }
-}
-</script>
-<style>
-.mt20 {margin-top: 20px;}
-.login-msg-yzm {display: flex;width: 100%;}
-.login-msg-yzm .el-button {margin-left: 10px;--el-button-size:42px;}
-</style>

+ 2 - 2
src/views/manage/order/before/index.vue

@@ -1,8 +1,8 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
-            <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="2" name="服务中订单" :searchKey="searchKey"></optionBtn>
+            <search @success="handleSuccess" :status="2"></search>
+            <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" :status="2" name="服务中订单" :searchKey="searchKey"></optionBtn>
         </div>
         <el-main class="nopadding">
             <div class="table-container">

+ 7 - 4
src/views/manage/order/components/table.vue

@@ -29,7 +29,7 @@
                     <template #reference>
                         <div class="el-text">
                             {{ scope.row.mobile }}
-                            <div class="desc" v-copy="'联系人:'+scope.row.username+'联系电话:'+scope.row.mobile+'联系地址:'+scope.row.region+scope.row.address"><span>一键复制</span></div>
+                            <div class="desc" v-copy="'联系人:'+scope.row.username+'联系电话:'+scope.row.mobile+'联系地址:'+scope.row.region+scope.row.address"><span>一键复制</span></div>
                         </div>
                     </template>
                     <div class="flex-tags-size">
@@ -51,7 +51,11 @@
             <template #default="scope">
                 <div class="el-text" v-if="scope.row.product_name">
                     {{ scope.row.product_name }}
-                    <div class="desc"><span>{{ scope.row.sku }}</span></div>
+                    <div class="desc" v-copy="'商品名称:'+scope.row.product_name+';规格信息:'+scope.row.sku">
+                        <el-tooltip effect="dark" content="点击即可复制商品信息" placement="top-start">
+                            <span>{{ scope.row.sku }}</span>
+                        </el-tooltip>
+                    </div>
                 </div>
                 <span class="status-danger" v-else>未设置</span>
             </template>
@@ -85,12 +89,11 @@
             </template>
         </el-table-column>
         <el-table-column label="创建时间" prop="create_at" width="180"></el-table-column>
-        <el-table-column label="操作" width="240" align="right" fixed="right">
+        <el-table-column label="操作" width="200" align="right" fixed="right">
             <template #default="scope">
                 <el-button-group>
                     <el-button text type="warning" size="small" @click="table_log(scope.row)">订单记录</el-button>
                     <el-button text type="warning" size="small" @click="table_express(scope.row)" v-if="scope.row.express_status==0">呼叫快递</el-button>
-                    <el-button text type="warning" size="small" v-if="scope.row.express_status==1" @click="table_print(scope.row)">打印面单</el-button>
                     <el-button text type="success" size="small" @click="table_end(scope.row)" v-if="scope.row.express_status==1">手动核销</el-button>
                     <el-button text type="success" size="small" @click="table_passwd(scope.row)" v-if="scope.row.express_status==0 && scope.row.service_type==2">更新地址</el-button>
                 </el-button-group>

+ 0 - 86
src/views/manage/order/done/components/form.vue

@@ -1,86 +0,0 @@
-<template>
-    <el-dialog :title="titleMap[mode]" v-model="visible" :width="600" destroy-on-close @closed="$emit('closed')" :close-on-click-modal="false" :close-on-press-escape="false">
-        <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="100px" label-position="top">
-            <el-form-item label="联系人" prop="username">
-                <el-input v-model="formData.username" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-            <el-form-item label="联系电话" prop="mobile">
-                <el-input v-model="formData.mobile" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-            <el-form-item label="详细地址" prop="address">
-                <el-input v-model="formData.address" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-        </el-form>
-		<template #footer>
-			<el-button @click="visible=false" >取 消</el-button>
-			<el-button type="primary" :loading="isSaveing" @click="submit()">提交</el-button>
-		</template>
-    </el-dialog>
-</template>
-<script>
-export default {
-    data(){
-        return {
-            loading: false,
-            mode:"add",
-            titleMap:{
-                add:"更新地址",
-                edit:"更新地址"
-            },
-            visible: false,
-            isSaveing: false,
-            formData:{},
-            submitState:false,
-            disabled:false,
-            rules:{
-                username: [
-                    {required: true, message: '请输入'}
-                ],
-                mobile: [
-                    {required: true, message: '请输入'}
-                ],
-                address: [
-                    {required: true, message: '请输入'}
-                ]
-            },
-            sms:""
-        }
-    },
-    methods:{
-        open(mode = 'add'){
-            this.mode = mode;
-            this.visible = true;
-            return this
-        },
-        //表单注入数据
-        setData(data){
-            data.address = data.region+data.address;
-            this.formData = data;
-        },
-        async submit(){
-            var validate = await this.$refs.dialogForm.validate().catch(()=>{});
-            if(!validate){ return false }
-            this.isSaveing = true;
-            let submitData = JSON.parse(JSON.stringify(this.formData));
-            var resp = await this.$API.order.save.post(submitData);
-            this.isSaveing = false;
-            if (resp.code !== 1) {
-                return this.$message.error(resp.msg);
-            }
-            this.$message.success(resp.msg);
-            this.visible = false;
-            this.formData = {};
-            this.submitState = false;
-            this.$emit("success");
-        }
-    }
-}
-</script>
-<style>
-.mt20 {margin-top: 20px;}
-.login-msg-yzm {display: flex;width: 100%;}
-.login-msg-yzm .el-button {margin-left: 10px;--el-button-size:42px;}
-</style>

+ 1 - 1
src/views/manage/order/done/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="3"></search>
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="3" name="已核销订单" :searchKey="searchKey"></optionBtn>
         </div>
         <el-main class="nopadding">

+ 0 - 86
src/views/manage/order/refund/components/form.vue

@@ -1,86 +0,0 @@
-<template>
-    <el-dialog :title="titleMap[mode]" v-model="visible" :width="600" destroy-on-close @closed="$emit('closed')" :close-on-click-modal="false" :close-on-press-escape="false">
-        <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="100px" label-position="top">
-            <el-form-item label="联系人" prop="username">
-                <el-input v-model="formData.username" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-            <el-form-item label="联系电话" prop="mobile">
-                <el-input v-model="formData.mobile" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-            <el-form-item label="详细地址" prop="address">
-                <el-input v-model="formData.address" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-        </el-form>
-		<template #footer>
-			<el-button @click="visible=false" >取 消</el-button>
-			<el-button type="primary" :loading="isSaveing" @click="submit()">提交</el-button>
-		</template>
-    </el-dialog>
-</template>
-<script>
-export default {
-    data(){
-        return {
-            loading: false,
-            mode:"add",
-            titleMap:{
-                add:"更新地址",
-                edit:"更新地址"
-            },
-            visible: false,
-            isSaveing: false,
-            formData:{},
-            submitState:false,
-            disabled:false,
-            rules:{
-                username: [
-                    {required: true, message: '请输入'}
-                ],
-                mobile: [
-                    {required: true, message: '请输入'}
-                ],
-                address: [
-                    {required: true, message: '请输入'}
-                ]
-            },
-            sms:""
-        }
-    },
-    methods:{
-        open(mode = 'add'){
-            this.mode = mode;
-            this.visible = true;
-            return this
-        },
-        //表单注入数据
-        setData(data){
-            data.address = data.region+data.address;
-            this.formData = data;
-        },
-        async submit(){
-            var validate = await this.$refs.dialogForm.validate().catch(()=>{});
-            if(!validate){ return false }
-            this.isSaveing = true;
-            let submitData = JSON.parse(JSON.stringify(this.formData));
-            var resp = await this.$API.order.save.post(submitData);
-            this.isSaveing = false;
-            if (resp.code !== 1) {
-                return this.$message.error(resp.msg);
-            }
-            this.$message.success(resp.msg);
-            this.visible = false;
-            this.formData = {};
-            this.submitState = false;
-            this.$emit("success");
-        }
-    }
-}
-</script>
-<style>
-.mt20 {margin-top: 20px;}
-.login-msg-yzm {display: flex;width: 100%;}
-.login-msg-yzm .el-button {margin-left: 10px;--el-button-size:42px;}
-</style>

+ 1 - 1
src/views/manage/order/refund/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="4"></search>
             <el-alert type="warning" show-icon title="栏目提醒" description="已解锁并不代表用户该笔订单已退款,用户可以再次进入小程序进行预约" :closable="false" style="margin-bottom: 10px;"></el-alert>
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="4" name="已解锁订单" :searchKey="searchKey"></optionBtn>
         </div>

+ 0 - 86
src/views/manage/order/send/components/form.vue

@@ -1,86 +0,0 @@
-<template>
-    <el-dialog :title="titleMap[mode]" v-model="visible" :width="600" destroy-on-close @closed="$emit('closed')" :close-on-click-modal="false" :close-on-press-escape="false">
-        <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="100px" label-position="top">
-            <el-form-item label="联系人" prop="username">
-                <el-input v-model="formData.username" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-            <el-form-item label="联系电话" prop="mobile">
-                <el-input v-model="formData.mobile" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-            <el-form-item label="详细地址" prop="address">
-                <el-input v-model="formData.address" clearable placeholder="请输入"></el-input>
-                <div class="el-form-item-msg"></div>
-            </el-form-item>
-        </el-form>
-		<template #footer>
-			<el-button @click="visible=false" >取 消</el-button>
-			<el-button type="primary" :loading="isSaveing" @click="submit()">提交</el-button>
-		</template>
-    </el-dialog>
-</template>
-<script>
-export default {
-    data(){
-        return {
-            loading: false,
-            mode:"add",
-            titleMap:{
-                add:"更新地址",
-                edit:"更新地址"
-            },
-            visible: false,
-            isSaveing: false,
-            formData:{},
-            submitState:false,
-            disabled:false,
-            rules:{
-                username: [
-                    {required: true, message: '请输入'}
-                ],
-                mobile: [
-                    {required: true, message: '请输入'}
-                ],
-                address: [
-                    {required: true, message: '请输入'}
-                ]
-            },
-            sms:""
-        }
-    },
-    methods:{
-        open(mode = 'add'){
-            this.mode = mode;
-            this.visible = true;
-            return this
-        },
-        //表单注入数据
-        setData(data){
-            data.address = data.region+data.address;
-            this.formData = data;
-        },
-        async submit(){
-            var validate = await this.$refs.dialogForm.validate().catch(()=>{});
-            if(!validate){ return false }
-            this.isSaveing = true;
-            let submitData = JSON.parse(JSON.stringify(this.formData));
-            var resp = await this.$API.order.save.post(submitData);
-            this.isSaveing = false;
-            if (resp.code !== 1) {
-                return this.$message.error(resp.msg);
-            }
-            this.$message.success(resp.msg);
-            this.visible = false;
-            this.formData = {};
-            this.submitState = false;
-            this.$emit("success");
-        }
-    }
-}
-</script>
-<style>
-.mt20 {margin-top: 20px;}
-.login-msg-yzm {display: flex;width: 100%;}
-.login-msg-yzm .el-button {margin-left: 10px;--el-button-size:42px;}
-</style>

+ 1 - 1
src/views/manage/order/send/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="1"></search>
             <el-alert type="warning" show-icon title="栏目提醒" description="已预约栏目的订单,用户如取消订单,无需商家同意,产品如已发货,请尽快修改订单状态到服务中,如造成经济损失,本核销系统不负法律责任(使用自动呼叫快递功能的商家忽略)" :closable="false" style="margin-bottom: 10px;"></el-alert>
             
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="1" name="已预约订单" :searchKey="searchKey"></optionBtn>

+ 0 - 12
src/views/manage/shop/index/components/form.vue

@@ -115,15 +115,6 @@
                                     <div class="el-form-item-msg">在小程序选择门店中展现</div>
                                 </el-form-item>
                             </el-col>
-                            <el-col :span="6">
-                                <el-form-item label="核销形式" prop="service_type">
-                                    <el-select v-model="formData.service_type" clearable placeholder="请选择" :style="{width: '100%'}">
-                                        <el-option :value="1" label="预约"></el-option>
-                                        <el-option :value="2" label="快递"></el-option>
-                                    </el-select>
-                                    <div class="el-form-item-msg">预约无需添加收货地址</div>
-                                </el-form-item>
-                            </el-col>
                         </el-row>
                     </fieldset>
                     <fieldset>
@@ -226,9 +217,6 @@ export default {
                 is_auto: [
                     {required: true, message: '请选择'}
                 ],
-                service_type: [
-                    {required: true, message: '请选择'}
-                ],
                 service_mobile: [
                     {required: true, message: '请输入'}
                 ],

+ 6 - 8
src/views/merchant/goods/components/form.vue

@@ -93,13 +93,10 @@
                             </div>
                             <div class="specs-body">
                                 <div class="body-item" v-for="(its,ind) in item.list" :key="ind">
+                                    <div class="item-img"><sc-upload v-model="its.img"></sc-upload></div>
                                     <el-input placeholder="输入规格属性名" v-model="its.name" clearable>
                                         <template #append>
-                                            <el-popconfirm title="确定删除吗?" @click="removeItem(indx,ind)">
-                                                <template #reference>
-                                                    <el-button type="danger" icon="el-icon-delete" size="small"></el-button>
-                                                </template>
-                                            </el-popconfirm>
+                                            <el-button type="danger" @click="removeItem(indx,ind)" icon="el-icon-delete" size="small"></el-button>
                                         </template>
                                     </el-input>
                                 </div>
@@ -160,13 +157,13 @@ export default {
             if (this.specs.length >= 5) {
                 return this.$message.error("最多只能添加三组规格")
             }
-            this.specs.push({"name":"","num":1,"list":[ {"name":"","check":true} ]});
+            this.specs.push({"name":"","num":1,"list":[ {"name":"","img":"","check":true} ]});
         },
         addItem(index){
             if (this.specs[index].list.length >= 20) {
                 return this.$message.error("最多只能添加20个")
             }
-            this.specs[index].list.push({"name":"","check":true})
+            this.specs[index].list.push({"name":"","img":"","check":true})
         },
         removeSpec(index){
             this.specs.splice(index,1)
@@ -243,5 +240,6 @@ export default {
     margin-right: 0;
 }
 .specs-body{display: flex;align-items: center;gap: 10px;padding: 10px;flex-direction: row;flex-wrap: wrap;}
-.specs-body .body-item{width: calc(25% - 10px);}
+.specs-body .body-item{width: calc(25% - 10px);border: 1px solid #ddd;padding: 5px;display: flex;align-items: center;justify-content: center;flex-direction: column;}
+.item-img{margin-bottom: 5px;}
 </style>

+ 1 - 1
src/views/merchant/order/before/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="2"></search>
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="2" name="服务中订单" :searchKey="searchKey"></optionBtn>
         </div>
         <el-main class="nopadding">

+ 7 - 4
src/views/merchant/order/components/table.vue

@@ -24,7 +24,7 @@
                     <template #reference>
                         <div class="el-text">
                             {{ scope.row.mobile }}
-                            <div class="desc" v-copy="'联系人:'+scope.row.username+'联系电话:'+scope.row.mobile+'联系地址:'+scope.row.region+scope.row.address"><span>一键复制</span></div>
+                            <div class="desc" v-copy="'联系人:'+scope.row.username+'联系电话:'+scope.row.mobile+'联系地址:'+scope.row.region+scope.row.address"><span>一键复制</span></div>
                         </div>
                     </template>
                     <div class="flex-tags-size">
@@ -46,7 +46,11 @@
             <template #default="scope">
                 <div class="el-text" v-if="scope.row.product_name">
                     {{ scope.row.product_name }}
-                    <div class="desc"><span>{{ scope.row.sku }}</span></div>
+                    <div class="desc" v-copy="'商品名称:'+scope.row.product_name+';规格信息:'+scope.row.sku">
+                        <el-tooltip effect="dark" content="点击即可复制商品信息" placement="top-start">
+                            <span>{{ scope.row.sku }}</span>
+                        </el-tooltip>
+                    </div>
                 </div>
                 <span class="status-danger" v-else>未设置</span>
             </template>
@@ -80,12 +84,11 @@
             </template>
         </el-table-column>
         <el-table-column label="创建时间" prop="create_at" width="180"></el-table-column>
-        <el-table-column label="操作" width="240" align="right" fixed="right">
+        <el-table-column label="操作" width="200" align="right" fixed="right">
             <template #default="scope">
                 <el-button-group>
                     <el-button text type="warning" size="small" @click="table_log(scope.row)">订单记录</el-button>
                     <el-button text type="warning" size="small" @click="table_express(scope.row)" v-if="scope.row.express_status==0">呼叫快递</el-button>
-                    <el-button text type="warning" size="small" v-if="scope.row.express_status==1" @click="table_print(scope.row)">打印面单</el-button>
                     <el-button text type="success" size="small" @click="table_end(scope.row)" v-if="scope.row.express_status==1">手动核销</el-button>
                     <el-button text type="success" size="small" @click="table_passwd(scope.row)" v-if="scope.row.express_status==0 && scope.row.service_type==2">更新地址</el-button>
                 </el-button-group>

+ 1 - 1
src/views/merchant/order/done/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="3"></search>
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="3" name="已核销订单" :searchKey="searchKey"></optionBtn>
         </div>
         <el-main class="nopadding">

+ 1 - 1
src/views/merchant/order/refund/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="4"></search>
             <el-alert type="warning" show-icon title="栏目提醒" description="已解锁并不代表用户该笔订单已退款,用户可以再次进入小程序进行预约" :closable="false" style="margin-bottom: 10px;"></el-alert>
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="4" name="已解锁订单" :searchKey="searchKey"></optionBtn>
         </div>

+ 1 - 1
src/views/merchant/order/send/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="1"></search>
             <el-alert type="warning" show-icon title="栏目提醒" description="已预约栏目的订单,用户如取消订单,无需商家同意,产品如已发货,请尽快修改订单状态到服务中,如造成经济损失,本核销系统不负法律责任(使用自动呼叫快递功能的商家忽略)" :closable="false" style="margin-bottom: 10px;"></el-alert>
             
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="1" name="已预约订单" :searchKey="searchKey"></optionBtn>

+ 0 - 3
src/views/merchant/shop/index/components/form.vue

@@ -191,9 +191,6 @@ export default {
                 is_auto: [
                     {required: true, message: '请选择'}
                 ],
-                service_type: [
-                    {required: true, message: '请选择'}
-                ],
                 service_mobile: [
                     {required: true, message: '请输入'}
                 ],

+ 1 - 1
src/views/merchant/user/components/search.vue

@@ -8,7 +8,7 @@
                 <div class="form-left">
                     <el-row :gutter="10">
                         <el-col :span="this.$store.state.global.ismobile?12:4">
-                            <el-input v-model="searchKey.name" placeholder="店铺名称" clearable :style="{ width: '100%' }" @keyup.enter="searchForm()">
+                            <el-input v-model="searchKey.name" placeholder="账号名称" clearable :style="{ width: '100%' }" @keyup.enter="searchForm()">
                                 <template #prepend>账号名称</template>
                             </el-input>
                         </el-col>

+ 6 - 8
src/views/store/goods/components/form.vue

@@ -78,13 +78,10 @@
                             </div>
                             <div class="specs-body">
                                 <div class="body-item" v-for="(its,ind) in item.list" :key="ind">
+                                    <div class="item-img"><sc-upload v-model="its.img"></sc-upload></div>
                                     <el-input placeholder="输入规格属性名" v-model="its.name" clearable>
                                         <template #append>
-                                            <el-popconfirm title="确定删除吗?" @click="removeItem(indx,ind)">
-                                                <template #reference>
-                                                    <el-button type="danger" icon="el-icon-delete" size="small"></el-button>
-                                                </template>
-                                            </el-popconfirm>
+                                            <el-button type="danger" @click="removeItem(indx,ind)" icon="el-icon-delete" size="small"></el-button>
                                         </template>
                                     </el-input>
                                 </div>
@@ -140,13 +137,13 @@ export default {
             if (this.specs.length >= 5) {
                 return this.$message.error("最多只能添加三组规格")
             }
-            this.specs.push({"name":"","num":1,"list":[ {"name":"","check":true} ]});
+            this.specs.push({"name":"","num":1,"list":[ {"name":"","img":"","check":true} ]});
         },
         addItem(index){
             if (this.specs[index].list.length >= 20) {
                 return this.$message.error("最多只能添加20个")
             }
-            this.specs[index].list.push({"name":"","check":true})
+            this.specs[index].list.push({"name":"","img":"","check":true})
         },
         removeSpec(index){
             this.specs.splice(index,1)
@@ -212,5 +209,6 @@ export default {
     margin-right: 0;
 }
 .specs-body{display: flex;align-items: center;gap: 10px;padding: 10px;flex-direction: row;flex-wrap: wrap;}
-.specs-body .body-item{width: calc(25% - 10px);}
+.specs-body .body-item{width: calc(25% - 10px);border: 1px solid #ddd;padding: 5px;display: flex;align-items: center;justify-content: center;flex-direction: column;}
+.item-img{margin-bottom: 5px;}
 </style>

+ 4 - 4
src/views/store/order/before/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="2"></search>
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="2" name="服务中订单" :searchKey="searchKey"></optionBtn>
         </div>
         <el-main class="nopadding">
@@ -13,9 +13,9 @@
 </template>
 
 <script>
-import search from '@/views/manage/order/components/search';
-import optionBtn from '@/views/manage/order/components/option';
-import tablePage from '@/views/manage/order/components/table';
+import search from '@/views/store/order/components/search';
+import optionBtn from '@/views/store/order/components/option';
+import tablePage from '@/views/store/order/components/table';
 export default {
     components: {
         search,tablePage,optionBtn

+ 2 - 2
src/views/store/order/components/table.vue

@@ -75,7 +75,7 @@
             </template>
         </el-table-column>
         <el-table-column label="创建时间" prop="create_at" width="180"></el-table-column>
-        <el-table-column label="操作" width="240" align="right" fixed="right">
+        <el-table-column label="操作" width="200" align="right" fixed="right">
             <template #default="scope">
                 <el-button-group>
                     <el-button text type="warning" size="small" @click="table_log(scope.row)">订单记录</el-button>
@@ -93,7 +93,7 @@
 
 <script>
 import addMain from "@/views/manage/components/send";
-import logMain from '@/views/manage/order/components/log'
+import logMain from '@/views/store/order/components/log'
 export default {
     components: {
         addMain,logMain

+ 4 - 4
src/views/store/order/done/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="3"></search>
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="3" name="已核销订单" :searchKey="searchKey"></optionBtn>
         </div>
         <el-main class="nopadding">
@@ -13,9 +13,9 @@
 </template>
 
 <script>
-import search from '@/views/manage/order/components/search';
-import optionBtn from '@/views/manage/order/components/option';
-import tablePage from '@/views/manage/order/components/table';
+import search from '@/views/store/order/components/search';
+import optionBtn from '@/views/store/order/components/option';
+import tablePage from '@/views/store/order/components/table';
 export default {
     components: {
         search,tablePage,optionBtn

+ 4 - 4
src/views/store/order/refund/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="4"></search>
             <el-alert type="warning" show-icon title="栏目提醒" description="已解锁并不代表用户该笔订单已退款,用户可以再次进入小程序进行预约" :closable="false" style="margin-bottom: 10px;"></el-alert>
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="4" name="已解锁订单" :searchKey="searchKey"></optionBtn>
         </div>
@@ -14,9 +14,9 @@
 </template>
 
 <script>
-import search from '@/views/manage/order/components/search';
-import optionBtn from '@/views/manage/order/components/option';
-import tablePage from '@/views/manage/order/components/table';
+import search from '@/views/store/order/components/search';
+import optionBtn from '@/views/store/order/components/option';
+import tablePage from '@/views/store/order/components/table';
 export default {
     components: {
         search,tablePage,optionBtn

+ 4 - 4
src/views/store/order/send/index.vue

@@ -1,7 +1,7 @@
 <template>
     <el-container class="flex-column">
         <div class="table-search">
-            <search @success="handleSuccess"></search>
+            <search @success="handleSuccess" status="1"></search>
             <el-alert type="warning" show-icon title="栏目提醒" description="已预约栏目的订单,用户如取消订单,无需商家同意,产品如已发货,请尽快修改订单状态到服务中,如造成经济损失,本核销系统不负法律责任(使用自动呼叫快递功能的商家忽略)" :closable="false" style="margin-bottom: 10px;"></el-alert>
             
             <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" status="1" name="已预约订单" :searchKey="searchKey"></optionBtn>
@@ -15,9 +15,9 @@
 </template>
 
 <script>
-import search from '@/views/manage/order/components/search';
-import optionBtn from '@/views/manage/order/components/option';
-import tablePage from '@/views/manage/order/components/table';
+import search from '@/views/store/order/components/search';
+import optionBtn from '@/views/store/order/components/option';
+import tablePage from '@/views/store/order/components/table';
 export default {
     components: {
         search,tablePage,optionBtn

+ 1 - 1
src/views/store/refund/components/option.vue

@@ -5,7 +5,7 @@
         </legend>
         <div class="op-header">
             <div class="left-panel">
-                <sc-file-export :apiObj="$API.orderlife.export" :data="searchKey" :fileName="'来客订单_'+(new Date().getTime())" async>
+                <sc-file-export :apiObj="$API.storeOrder.export" :data="searchKey" :fileName="'来客订单_'+(new Date().getTime())" async>
                     <template #default="{ open }">
                         <el-button type="primary" icon="sc-icon-download" @click="open">导出</el-button>
                     </template>

+ 1 - 1
src/views/store/refund/components/table.vue

@@ -117,7 +117,7 @@ export default {
             dataSelect:[],
             dataSelectFull:[],
             searchKey:{
-                ex_status:2
+                ex_status:5
             }
         }
     },