-
-
-
- {{ $t('button.add') }}
- {{ $t('button.edit') }}
- {{ $t('button.delete') }}
-
-
-
-
-
-
-
-
- {{scope.row.code}}
-
-
-
-
- {{scope.row.title}}
-
-
-
-
- {{scope.row.content}}
-
-
-
-
- {{scope.row.cond}}
-
-
-
-
- {{scope.row.messageSender.name}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('button.submit') }}
- {{ $t('button.cancel') }}
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('button.search') }}
+ {{ $t('button.reset') }}
+
+
+
+
+
+ {{ $t('button.add') }}
+ {{ $t('button.edit') }}
+ {{ $t('button.delete') }}
+
+
+
+
+
+
+
+
+
+ {{ props.row.code }}
+
+
+ {{ props.row.title }}
+
+
+ {{ props.row.messageSender.name }}
+
+
+ {{ props.row.content }}
+
+
+ {{ props.row.cond }}
+
+
+ {{ props.row.remoteTplCode }}
+
+
+
+
+
+
+
+
+
+
+ {{scope.row.code}}
+
+
+
+
+ {{scope.row.title}}
+
+
+
+
+
+ {{scope.row.cond}}
+
+
+
+
+ {{scope.row.messageSender.name}}
+
+
+
+
+
+ {{ $t('button.edit') }}
+ {{ $t('button.delete') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('button.submit') }}
+ {{ $t('button.cancel') }}
+
+
+
+
+
diff --git a/linjiashop-admin/src/views/message/template/t_message_template.js b/linjiashop-admin/src/views/message/template/t_message_template.js
index 2b313738d574fcdfc4f11cc5ca10cf172d0e26d7..6ae89799a81b98b0bd67a4a3429dd68accfbe450 100644
--- a/linjiashop-admin/src/views/message/template/t_message_template.js
+++ b/linjiashop-admin/src/views/message/template/t_message_template.js
@@ -1,7 +1,9 @@
import { remove, getList, save } from '@/api/message/template'
import { queryAll } from '@/api/message/sender'
+import permission from '@/directive/permission/index.js'
export default {
+ directives: { permission },
data() {
return {
formVisible: false,
@@ -13,13 +15,16 @@ export default {
content:'',
cond:'',
idMessageSender:'',
+ remoteTplCode:'',
id: ''
},
sendList:[],
listQuery: {
page: 1,
limit: 20,
- id: undefined
+ id: '',
+ idMessageSender: '',
+ title: ''
},
total: 0,
list: null,
@@ -37,18 +42,6 @@ export default {
return statusMap[status]
}
},
- computed: {
-
- //表单验证
- rules() {
- return {
- // cfgName: [
- // { required: true, message: this.$t('config.name') + this.$t('common.isRequired'), trigger: 'blur' },
- // { min: 3, max: 2000, message: this.$t('config.name') + this.$t('config.lengthValidation'), trigger: 'blur' }
- // ]
- }
- }
- },
created() {
this.init()
},
@@ -73,6 +66,8 @@ export default {
},
reset() {
this.listQuery.id = ''
+ this.listQuery.idMessageSender = ''
+ this.listQuery.title = ''
this.listQuery.page = 1
this.fetchData()
},
@@ -109,6 +104,7 @@ export default {
content:'',
cond:'',
idMessageSender:'',
+ remoteTplCode:'',
id: ''
}
},
@@ -126,6 +122,7 @@ export default {
title:this.form.title,
content:this.form.content,
cond:this.form.cond,
+ remoteTplCode:this.form.remoteTplCode,
idMessageSender:this.form.idMessageSender,
id: this.form.id
}).then(response => {
@@ -151,6 +148,10 @@ export default {
})
return false
},
+ editItem(record){
+ this.selRow= Object.assign({},record);
+ this.edit()
+ },
edit() {
if (this.checkSel()) {
this.isAdd = false
@@ -159,6 +160,10 @@ export default {
this.formVisible = true
}
},
+ removeItem(record){
+ this.selRow = record
+ this.remove()
+ },
remove() {
if (this.checkSel()) {
var id = this.selRow.id
diff --git a/linjiashop-admin/src/views/shop/order/index.vue b/linjiashop-admin/src/views/shop/order/index.vue
index 826bf909b47556f21c3c2d2055932832bd6321c4..e28eb28e3c23e832f4baa1a6733e6f6a07b6c731 100644
--- a/linjiashop-admin/src/views/shop/order/index.vue
+++ b/linjiashop-admin/src/views/shop/order/index.vue
@@ -215,8 +215,8 @@
- {{activity.acceptStation}}
+ :timestamp="activity.AcceptTime">
+ {{activity.AcceptStation}}
diff --git a/linjiashop-admin/src/views/shop/order/order.js b/linjiashop-admin/src/views/shop/order/order.js
index 9c69bd977d70a0cd593e9ccb4ca345ce75f09dab..d100878c0b25b963fb019254138968d41fd21f0e 100644
--- a/linjiashop-admin/src/views/shop/order/order.js
+++ b/linjiashop-admin/src/views/shop/order/order.js
@@ -207,8 +207,8 @@ export default {
shipperCode = express.code
}
}
- orderApi.getShippingInfo(data.shippingSn,shipperCode).then( response => {
- this.shippingInfo.form['traces'] = response.data.traces
+ orderApi.getExpressInfo(data.orderSn,shipperCode).then( response => {
+ this.shippingInfo.form['traces'] = response.data.infoList
this.shippingInfo.show = true
})
diff --git a/linjiashop-admin/src/views/system/menu/index.vue b/linjiashop-admin/src/views/system/menu/index.vue
index 64822fd7aeb4021bc10bceccee934b123c5c7b26..b2787385aaefde5c4ddfeae8638a9393c00631d8 100644
--- a/linjiashop-admin/src/views/system/menu/index.vue
+++ b/linjiashop-admin/src/views/system/menu/index.vue
@@ -1,15 +1,15 @@
- {{ $t('button.add') }}
+ {{ $t('button.add') }}
-
-
-
+
{{scope.row.name}}
@@ -20,24 +20,24 @@
{{scope.row.code}}
+
+
+
+
+
{{scope.row.component}}
-
+
- {{scope.row.isMenuName}}
+ {{scope.row.ismenu==1?'菜单':'按钮'}}
-
-
- {{scope.row.url}}
-
-
-
+
- {{scope.row.statusName}}
+ {{scope.row.url}}
@@ -52,105 +52,101 @@
- 删除
+ {{ $t('button.edit') }}
+ {{ $t('button.delete') }}
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 菜单
+ 按钮
+
+
+
+
+
+
+ 是
+ 否
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- 是
- 否
-
-
-
-
-
-
- 是
- 否
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 是
- 否
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
- {{ $t('button.submit') }}
- {{ $t('button.cancel') }}
-
-
-
+
+
+ {{ $t('button.submit') }}
+ {{ $t('button.cancel') }}
+
+
+
diff --git a/linjiashop-admin/src/views/system/menu/menu.js b/linjiashop-admin/src/views/system/menu/menu.js
index f75a466e95f04d1f7731b1cc7d89feaca4d52bb3..cf1c385d3ac595e7fa9feb5c5f7f66ef91704f27 100644
--- a/linjiashop-admin/src/views/system/menu/menu.js
+++ b/linjiashop-admin/src/views/system/menu/menu.js
@@ -1,9 +1,12 @@
import treeTable from '@/components/TreeTable'
-import { getList, save, delMenu } from '@/api/system/menu'
+import { getList, save, delMenu, getMenuTree } from '@/api/system/menu'
+import permission from '@/directive/permission/index.js'
+import IconSelect from '@/components/IconSelect'
export default {
+ directives: { permission },
name: 'treeTableDemo',
- components: { treeTable },
+ components: { treeTable, IconSelect },
data() {
return {
showTree: false,
@@ -12,20 +15,19 @@ export default {
label: 'name',
children: 'children'
},
-
listLoading: true,
- expandAll: true,
+ expandAll: false,
formTitle: '',
formVisible: false,
isAdd: false,
form: {
id: '',
- pname: '',
name: '',
code: '',
url: '',
pcode: '',
ismenu: 1,
+ hidden:false,
num: 1
},
rules: {
@@ -38,13 +40,14 @@ export default {
{ min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' }
],
url: [
- { required: true, message: '请输入请求地址', trigger: 'blur' }
+ { required: true, message: '请输入资源地址', trigger: 'blur' }
],
num: [
{ required: true, message: '请输入排序', trigger: 'blur' }
]
},
data: [],
+ treeData:[],
selRow: {}
}
},
@@ -52,8 +55,16 @@ export default {
this.init()
},
methods: {
+ // 选择图标
+ selected(name) {
+ this.form.icon = name
+ this.$forceUpdate()
+ },
init() {
this.fetchData()
+ getMenuTree().then(response => {
+ this.treeData = response.data
+ })
},
fetchData() {
this.listLoading = true
@@ -62,11 +73,6 @@ export default {
this.listLoading = false
})
},
- handleNodeClick(data, node) {
- this.form.pcode = data.code
- this.form.pname = data.name
- this.showTree = false
- },
checkSel() {
if (this.selRow && this.selRow.id) {
return true
@@ -78,10 +84,13 @@ export default {
return false
},
add() {
- this.form = {}
+ this.form = {ismenu: 1,hidden:false}
this.formTitle = '添加菜单'
this.formVisible = true
this.isAdd = true
+ if(this.$refs['form'] !== undefined) {
+ this.$refs['form'].resetFields()
+ }
},
save() {
var self = this
@@ -104,22 +113,16 @@ export default {
})
},
edit(row) {
- this.form = row
+ this.form= Object.assign({},row);
if (row.isMenuName === '是') {
this.form.ismenu = 1
} else {
this.form.ismenu = 0
}
- if (row.statusName === '启用') {
- this.form.status = 1
- } else {
- this.form.status = 0
+ if (this.form.pcode=='0') {
+ this.form.pcode =undefined
}
- if (row.parent) {
- this.form.pcode = row.parent.code
- this.form.pname = row.parent.name
- }
- console.log(this.form.pcode)
+
this.formTitle = '编辑菜单'
this.formVisible = true
this.isAdd = false
@@ -137,8 +140,19 @@ export default {
})
this.fetchData()
}).catch(err =>{
+ this.$notify.error({
+ title: '错误',
+ message:err,
+ })
})
})
+ },
+ componentTips(){
+ this.$notify({
+ title: '提示',
+ dangerouslyUseHTMLString:true,
+ message: '顶级目录请输入layout,
左侧惨淡请根据实际组件路径输入:views/...
功能按钮无需输入该值'
+ })
}
}
}
diff --git a/linjiashop-admin/src/views/system/user/index.vue b/linjiashop-admin/src/views/system/user/index.vue
index 0bf6f4560a427d4234798ab3a43a57e5a8d14363..8f95fff998636cf4587ee964bd7f083ef95bc7ee 100644
--- a/linjiashop-admin/src/views/system/user/index.vue
+++ b/linjiashop-admin/src/views/system/user/index.vue
@@ -1,7 +1,7 @@
-
+
@@ -9,21 +9,31 @@
- {{ $t('button.search') }}
- {{ $t('button.reset') }}
+
+
+
+ {{
+ $t('button.search')
+ }}
+
+ {{
+ $t('button.reset')
+ }}
+
- {{$t('button.add') }}
+ {{ $t('button.add') }}
- {{$t('button.edit') }}
+ {{ $t('button.edit') }}
-
- {{$t('button.delete') }}
+
+ {{ $t('button.delete') }}
角色分配
@@ -32,51 +42,51 @@
+ @current-change="handleCurrentChange">
- {{scope.row.account}}
+ {{ scope.row.account }}
- {{scope.row.name}}
+ {{ scope.row.name }}
- {{scope.row.sexName}}
+ {{ scope.row.sexName }}
- {{scope.row.roleName}}
+ {{ scope.row.roleName }}
- {{scope.row.deptName}}
+ {{ scope.row.deptName }}
- {{scope.row.email}}
+ {{ scope.row.email }}
- {{scope.row.phone}}
+ {{ scope.row.phone }}
- {{scope.row.createtime}}
+ {{ scope.row.createtime }}
- {{scope.row.statusName}}
+ {{ scope.row.statusName }}
@@ -109,7 +119,7 @@
-
+
@@ -128,12 +138,12 @@
-
+
-
+
@@ -142,7 +152,7 @@
-
+
-
+
-
+
@@ -208,6 +218,6 @@
diff --git a/linjiashop-admin/src/views/system/user/user.js b/linjiashop-admin/src/views/system/user/user.js
index 4aa1c376871678b12e9373abfd95dc38aed74456..c34e3ac69a43068b058ab91271ceb3e6c3ac6d75 100644
--- a/linjiashop-admin/src/views/system/user/user.js
+++ b/linjiashop-admin/src/views/system/user/user.js
@@ -63,7 +63,8 @@ export default {
page: 1,
limit: 20,
account: undefined,
- name: undefined
+ name: undefined,
+ sex:undefined
},
total: 0,
list: null,
@@ -107,6 +108,7 @@ export default {
this.listQuery.account = ''
this.listQuery.name = ''
this.listQuery.page = 1
+ this.listQuery.sex=''
this.fetchData()
},
handleFilter() {
diff --git a/linjiashop-core/pom.xml b/linjiashop-core/pom.xml
index deed264293ce1f090285e3e0ef0d75c9d66e7a31..d18a181fb52c443dfee3941a0f6cef3a3990bee0 100644
--- a/linjiashop-core/pom.xml
+++ b/linjiashop-core/pom.xml
@@ -106,7 +106,10 @@
com.github.qcloudsms
qcloudsms
- 1.0.6
+
+
+ com.aliyun
+ aliyun-java-sdk-core
diff --git a/linjiashop-core/src/main/java/cn/enilu/flash/bean/constant/CfgKey.java b/linjiashop-core/src/main/java/cn/enilu/flash/bean/constant/CfgKey.java
index cf6f407995ab3b045c4a9b0983820610ffb63f12..73969f64a8e11638c54eb90a2c1c722df88b7c57 100644
--- a/linjiashop-core/src/main/java/cn/enilu/flash/bean/constant/CfgKey.java
+++ b/linjiashop-core/src/main/java/cn/enilu/flash/bean/constant/CfgKey.java
@@ -14,6 +14,11 @@ public interface CfgKey {
String API_TENCENT_SMS_APPKEY = "api.tencent.sms.appkey";
String API_TENCENT_SMS_SIGN = "api.tencent.sms.sign";
+ String API_ALIYUN_SMS_ACCESS_KEY_ID="api.aliyun.sms.access.key.id";
+ String API_ALIYUN_SMS_ACCESS_SECRET="api.aliyun.sms.access.secret";
+ String API_ALIYUN_SMS_REGION_ID="api.aliyun.sms.region.id";
+ String API_ALIYUN_SMS_SIGN_NAME="api.aliyun.sms.sign.name";
+
String API_KDNIAO_URL = "api.kdniao.url";
String API_KDNIAO_USERID = "api.kdniao.userid";
String API_KDNIAO_APIKEY = "api.kdniao.apikey";
@@ -26,4 +31,5 @@ public interface CfgKey {
String WX_JS_API_TICKET = "weixin.js.api.ticket";
+ String API_EXPRESS_INFO_QUERY_PROVIDER ="api.express.info.query.provider" ;
}
diff --git a/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/message/MessageSender.java b/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/message/MessageSender.java
index 9e675d9ff3b7df98e8be971eb0cadfb7d4c91368..7453ea65d7771ba9993b837aa7e4618a76f49e05 100644
--- a/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/message/MessageSender.java
+++ b/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/message/MessageSender.java
@@ -24,7 +24,5 @@ public class MessageSender extends BaseEntity {
@Column(name="class_name",columnDefinition = "VARCHAR(64) COMMENT '发送类'")
@NotBlank(message = "发送类不能为空")
private String className;
- @Column(name="tpl_code",columnDefinition = "VARCHAR(64) COMMENT '短信运营商模板编号'")
- private String tplCode;
}
diff --git a/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/message/MessageTemplate.java b/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/message/MessageTemplate.java
index 05775a490bce44191b7bbab50d26565504b9908f..38717f9cb7a310bae7c6ce30ef001eb53a9bc74c 100644
--- a/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/message/MessageTemplate.java
+++ b/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/message/MessageTemplate.java
@@ -36,4 +36,6 @@ public class MessageTemplate extends BaseEntity {
@JoinColumn(name="id_message_sender", insertable = false, updatable = false,foreignKey = @ForeignKey(name="none",value = ConstraintMode.NO_CONSTRAINT))
@ManyToOne(fetch = FetchType.LAZY)
private MessageSender messageSender;
+ @Column(name="remote_tpl_code",columnDefinition = "VARCHAR(64) COMMENT '在短信发送服务商处申请的模板编号'")
+ public String remoteTplCode;
}
diff --git a/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/shop/ExpressInfo.java b/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/shop/ExpressInfo.java
new file mode 100644
index 0000000000000000000000000000000000000000..090a5752a5d9df1cf0857edb712b349bbeb49eb0
--- /dev/null
+++ b/linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/shop/ExpressInfo.java
@@ -0,0 +1,74 @@
+package cn.enilu.flash.bean.entity.shop;
+
+import cn.enilu.flash.bean.entity.BaseEntity;
+import cn.enilu.flash.utils.JsonUtil;
+import cn.enilu.flash.utils.Lists;
+import cn.enilu.flash.utils.StringUtil;
+import lombok.Data;
+import org.hibernate.annotations.Table;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Transient;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :enilu
+ * @date :Created in 2020/01/02 22:54
+ */
+@Data
+@Table(appliesTo = "t_shop_express_info",comment = "快递信息")
+@Entity(name="t_shop_express_info")
+public class ExpressInfo extends BaseEntity {
+ /**
+ * 在途中
+ */
+ public static final Integer STATE_ING=0;
+ /**
+ * 已签收
+ */
+ public static final Integer STATE_FINISH=1;
+ /**
+ * 问题件
+ */
+ public static final Integer STATE_ERROR=-1;
+
+ @Column(name = "id_order", columnDefinition = "BIGINT COMMENT '所属订单id'")
+ private Long idOrder;
+ @Column(name="shipping_sn",columnDefinition = "VARCHAR(32) COMMENT '快递单号'")
+ private String shippingSn;
+ @Column(name="express_company",columnDefinition = "VARCHAR(32) COMMENT '快递公司'")
+ private String expressCompany;
+ @Column(name = "state", columnDefinition = "INT COMMENT '状态:0在途中,1:已签收,-1问题件'")
+ private Integer state;
+ @Column(name="info",columnDefinition = "TEXT COMMENT '详细信息'")
+ private String info;
+
+ @Transient
+ public List